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,ramac,bsi,delores,osu,ramac}]
              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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
               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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
             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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
                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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
              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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
           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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
             {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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
              {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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
            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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
               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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
                  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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
                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, ramac, bsi, delores, osu, ramac

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,ramac,bsi,delores,osu,ramac}]
                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, ramac, bsi, delores, osu, ramac

Type of file to load (default ImpDAR mat)

Default: “mat”