impproc

An executable to perform single processing steps.

This has a lot of convenience in terms of the call since you get more help with commands, more control of arguments, control over the order in which things are done, etc, but has the disadvantage of requiring a call/load/write for every step.

You can get a list of commands with impproc -h

For any individual command, you can get more help by running impproc [command] -h.

Examples

A sample workflow might be something like

# make directories for the output
mkdir bandpass hfilt nmo

# Vertical bandpass from 150-450MHz (loading in the raw data with the -gssi flag)
impproc vbp 150 450 -gssi *.DZT -o bandpass/

# do some horizontal filtering on that output
impproc hfilt 1000 2000 bandpass/*.mat -o hfilt

# finally do a conversion to the time domain
impproc nmo 10 hfilt/*.mat -o nmo

The same processing steps can be done without separating the output into different folders. At risk of file clutter, the workflow could be

# Vertical bandpass from 150-450MHz (loading in the raw data with the -gssi flag)
impproc vbp 150 450 -gssi *.DZT

# do some horizontal filtering on that output
impproc hfilt 1000 2000 *_vbp.mat

# finally do a conversion to the time domain
impproc nmo 10 *_hfilt.mat

# Outputs are now sitting around with _vbp_hfilt_nmo before the extension

A similar example, with visualization of the outputs, is here.

Usage

usage: impproc [-h]
               {hfilt,ahfilt,rev,cat,elev,restack,rgain,agc,vbp,hbp,lp,crop,hcrop,nmo,interp,geolocate,denoise,migrate}
               ...

Sub-commands:

hfilt

Horizontally filter the data by subtracting the average trace from a window

impproc hfilt [-h] [-o O]
              [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
              start_trace end_trace fns [fns ...]
Positional Arguments
start_trace

First trace of representative subset

end_trace

Last trace of representative subset

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

ahfilt

Horizontally filter the data adaptively

impproc ahfilt [-h] [-o O]
               [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
               win fns [fns ...]
Positional Arguments
win

Number of traces to include in the moving average

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

rev

Reverse the data

impproc rev [-h] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

cat

Concatenate the data

impproc cat [-h] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

elev

Elevation correct

impproc elev [-h] [-o O]
             [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
             fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

restack

Restack to interval

impproc restack [-h] [-o O]
                [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
                traces fns [fns ...]
Positional Arguments
traces

Number of traces to stack. Must be an odd number

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

rgain

Add a range gain

impproc rgain [-h] [-slope SLOPE] [-o O]
              [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
              fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
-slope

Slope of linear range gain. Default 0.1

Default: 0.1

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

agc

Add an automatic gain

impproc agc [-h] [-window WINDOW] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
-window

Number of samples to average

Default: 50

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

vbp

Vertically bandpass the data

impproc vbp [-h] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            low_MHz high_MHz fns [fns ...]
Positional Arguments
low_MHz

Lowest frequency passed (in MHz)

high_MHz

Highest frequency passed (in MHz)

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

hbp

Horizontally bandpass the data

impproc hbp [-h] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            low high fns [fns ...]
Positional Arguments
low

Lowest frequency passed (in wavelength)

high

Highest frequency passed (in wavelength)

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

lp

Horizontally lowpass the data

impproc lp [-h] [-o O]
           [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
           low fns [fns ...]
Positional Arguments
low

Lowest frequency passed (in wavelength)

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

crop

Crop the data in the vertical

impproc crop [-h] [-o O]
             [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
             {top,bottom} {snum,twtt,depth,pretrig} lim fns [fns ...]
Positional Arguments
top_or_bottom

Possible choices: top, bottom

Remove from the top or bottom

dimension

Possible choices: snum, twtt, depth, pretrig

Set the bound in terms of snum (sample number), twtt (two way travel time in microseconds), depth (m, calculated using the nmo_depth or a light speed of 1.69e8m/s if it doesn’t, or pretrig (the recorded trigger sample)

lim

The cutoff value

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

hcrop

Crop the data in the horizontal

impproc hcrop [-h] [-o O]
              [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
              {left,right} {tnum,dist} lim fns [fns ...]
Positional Arguments
left_or_right

Possible choices: left, right

Remove from the left or right

dimension

Possible choices: tnum, dist

Set the bound in terms of tnum (trace number, 1 indexed) or dist (distance in km)

lim

The cutoff value

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

nmo

Normal move-out correction

impproc nmo [-h] [--uice UICE] [--uair UAIR]
            [--const_firn_offset CONST_FIRN_OFFSET]
            [--rho_profile RHO_PROFILE] [-o O]
            [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
            ant_sep fns [fns ...]
Positional Arguments
ant_sep

Antenna separation

fns

The files to process

Named Arguments
--uice

Speed of light in ice in m/s (default 1.69e8)

Default: 169000000.0

--uair

Speed of light in air in m/s (default 3.0e8)

Default: 300000000.0

--const_firn_offset

A constant value added to depth to account for firn. Default None (0.0).

--rho_profile

Filename for a depth density profile to correct wave velocity.

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

interp

Reinterpolate GPS

impproc interp [-h] [--gps_fn GPS_FN] [--offset OFFSET] [--minmove MINMOVE]
               [--extrapolate] [-o O]
               [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
               spacing fns [fns ...]
Positional Arguments
spacing

New spacing of radar traces, in meters

fns

The files to process

Named Arguments
--gps_fn

CSV or mat file containing the GPS information. .csv and .txt files are assumed to be csv, .mat are mat. Default is None–use associated (presumably non-precision) GPS

--offset

Offset from GPS time to radar time

Default: 0.0

--minmove

Minimum movement to not be stationary

Default: 0.01

--extrapolate

Extrapolate GPS data beyond bounds

Default: False

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

geolocate

GPS control

impproc geolocate [-h] [--extrapolate] [--guess] [-o O]
                  [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
                  gps_fn fns [fns ...]
Positional Arguments
gps_fn

CSV or mat file containing the GPS information. .csv and .txt files are assumed to be csv, .mat are mat. Default is None–use associated (presumably non-precision) GPS

fns

The files to process

Named Arguments
--extrapolate

Extrapolate GPS data beyond bounds

Default: False

--guess

Guess at offset

Default: False

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

denoise

Denoising filter for the data image

impproc denoise [-h] [-o O]
                [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
                vert_win hor_win fns [fns ...]
Positional Arguments
vert_win

Size of filtering window in vertical (number of samples)

hor_win

Size of filtering window in horizontal (number of traces)

fns

The files to process

Named Arguments
-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”

migrate

Migration

impproc migrate [-h] [--mtype {stolt,kirch,phsh,tk,sumigtk,sustolt,sumigffd}]
                [--vel VEL] [--vel_fn VEL_FN] [--nearfield] [--htaper HTAPER]
                [--vtaper VTAPER] [--nxpad NXPAD] [--tmig TMIG]
                [--verbose VERBOSE] [-o O]
                [--ftype {mat,pe,gssi,stomat,gprMax,gecko,segy,mcords_mat,mcords_nc,UoA_mat,UoA_h5,ramac,bsi,delores,osu,ramac,tek}]
                fns [fns ...]
Positional Arguments
fns

The files to process

Named Arguments
--mtype

Possible choices: stolt, kirch, phsh, tk, sumigtk, sustolt, sumigffd

Migration routines.

Default: “phsh”

--vel

Speed of light in dielectric medium m/s default is for ice, 1.69e8)

Default: 169000000.0

--vel_fn

Filename for inupt velocity array. Column 1: velocities, Column 2: z locations, Column 3: x locations (optional)

--nearfield

Boolean for nearfield operator in Kirchhoff migration.

Default: False

--htaper

Number of samples for horizontal taper

Default: 100

--vtaper

Number of samples for vertical taper

Default: 1000

--nxpad

Number of traces to pad with zeros for FFT

Default: 100

--tmig

Times for velocity profile

Default: 0

--verbose

Print output from SeisUnix migration

Default: 1

-o

Output to this file (folder if multiple inputs)

--ftype

Possible choices: mat, pe, gssi, stomat, gprMax, gecko, segy, mcords_mat, mcords_nc, UoA_mat, UoA_h5, ramac, bsi, delores, osu, ramac, tek

Type of file to load (default ImpDAR mat)

Default: “mat”