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” |