### Install readgssi from Source Source: https://github.com/iannesbitt/readgssi/wiki/Installation Installs the latest version of readgssi directly from its GitHub repository using pip. This method requires git to be installed and may need manual installation of dependencies if they are not met. ```bash pip install git+https://github.com/iannesbitt/readgssi ``` -------------------------------- ### Test readgssi installation Source: https://github.com/iannesbitt/readgssi/blob/master/docs/installing.md Run these commands after installation to verify that readgssi is working correctly. The -V flag displays the version, and -h displays the help text. ```bash readgssi -V # this will display the version ``` ```bash readgssi -h # this will display the help text ``` -------------------------------- ### Install readgssi on ARMv7l Architecture Source: https://github.com/iannesbitt/readgssi/blob/master/docs/installing.md These commands are for installing readgssi on ARM processors like the Raspberry Pi. It includes setting up apt repositories and installing dependencies. ```bash # from https://github.com/obspy/obspy/wiki/Installation-on-Linux-via-Apt-Repository deb http://deb.obspy.org stretch main wget --quiet -O - https://raw.github.com/obspy/obspy/master/misc/debian/public.key | sudo apt-key add - sudo apt-get update sudo apt-get install python-obspy python3-obspy sudo apt-get install ttf-bistream-vera rm -rf ~/.matplotlib ~/.cache/matplotlib sudo apt-get install python-pandas python-h5py pip install -U pytz pynmea2 geopy readgssi ``` -------------------------------- ### Test readgssi Installation Source: https://github.com/iannesbitt/readgssi/wiki/Installation Confirms that the readgssi library has been successfully installed by checking its version. ```bash readgssi -V ``` ```bash readgssi --version ``` -------------------------------- ### Install readgssi from GitHub Source: https://github.com/iannesbitt/readgssi/blob/master/docs/installing.md Use these commands to install readgssi from a specific commit on GitHub. This method is recommended if you need a particular version or plan to modify the code. ```bash conda config --add channels conda-forge conda create -n readgssi python==3.7 pandas h5py pytz obspy conda activate readgssi pip install git+https://github.com/iannesbitt/readgssi ``` ```bash cd ~ git clone https://github.com/iannesbitt/readgssi # make code changes if you wish, then: pip install ~/readgssi ``` -------------------------------- ### Create Conda Environment and Install Dependencies Source: https://github.com/iannesbitt/readgssi/wiki/Installation Sets up a new conda virtual environment named 'readgssi' with Python 3.7 and essential libraries like pandas, h5py, pytz, and obspy. It also adds the 'conda-forge' channel for broader package availability. ```bash conda config --add channels conda-forge ``` ```bash conda create -n readgssi python==3.7 pandas h5py pytz obspy ``` ```bash conda activate readgssi ``` ```bash pip install readgssi ``` -------------------------------- ### Install readgssi from Anaconda Cloud Source: https://github.com/iannesbitt/readgssi/blob/master/docs/installing.md Create a new conda environment named 'readgssi' and install the package from the 'iannesbitt' channel. Remember to activate the environment before use. ```bash # create an environment named readgssi and install readgssi from the iannesbitt channel: conda create -n readgssi -c iannesbitt readgssi # and then activate the environment by doing: conda activate readgssi ``` -------------------------------- ### Plotting with Horizontal Mean Background Removal Source: https://github.com/iannesbitt/readgssi/wiki/Plotting Similar to the previous example, but applies horizontal mean background removal. Observe the difference in ringing artifacts. ```bash readgssi -i DZT__002.DZT -o 2b.png -p 10 -s 3 -n -r ``` -------------------------------- ### Check Conda Installation Source: https://github.com/iannesbitt/readgssi/wiki/Installation Verify that Anaconda's conda package manager is installed and accessible from your terminal. ```bash conda --version ``` -------------------------------- ### Install readgssi with Conda Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Installs the readgssi package and its dependencies using Anaconda. It is recommended to create a dedicated environment for the package. ```bash conda create -n readgssi -c iannesbitt readgssi # and then activate by doing: conda activate readgssi ``` -------------------------------- ### Read a DZT File Source: https://github.com/iannesbitt/readgssi/wiki/Reading-files Read a GSSI data file (.DZT) and display its header information. This is the basic command to start analyzing your data. ```bash readgssi -i DZT__001.DZT ``` -------------------------------- ### Combine Horizontal and Vertical Filters (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Combine horizontal moving window and vertical triangular filters for enhanced data cleaning. This example also includes DPI setting and background color adjustment. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='2c.png', frmt=None, zero=[233], plot=5, stack='auto', gain=60, dpi=300, bgr=100, freqmin=60, freqmax=100) ``` -------------------------------- ### Display Help Text for readgssi Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Use the -h flag to display the help message, which lists all available options and their functionalities. ```bash $ readgssi -h ``` -------------------------------- ### Display readgssi Help Text Source: https://github.com/iannesbitt/readgssi/wiki/Reading-files View all available options and their descriptions for the readgssi command. This is useful for understanding the tool's full functionality. ```bash $ readgssi -h usage: readgssi -i input.DZT [OPTIONS] optional flags: OPTION | ARGUMENT | FUNCTIONALITY -o, --output | file: /dir/f.ext | specify an output file -f, --format | string, eg. "csv" | specify output format (csv is the only working format currently) -p, --plot | +integer or "auto" | plot will be x inches high (dpi=150), or "auto". default: 10 -x, --xscale | string, eg. "dist" | readgssi will attempt to convert the x-axis to distance, time, or traces based on header values -z, --zscale | string, eg. "time" | readgssi will attempt to convert the x-axis to depth, time, or samples based on header values -n, --noshow | | suppress matplotlib popup window and simply save a figure (useful for multiple file processing) -c, --colormap | string, eg. "Greys" | specify the colormap (https://matplotlib.org/users/colormaps.html#grayscale-conversion) -g, --gain | positive (+)integer | gain value (higher=greater contrast, default: 1) -r, --bgr | | horizontal background removal algorithm (useful to remove ringing) -R, --reverse | | reverse (flip radargram horizontally) -w, --dewow | | trinomial dewow algorithm -t, --bandpass | +int-+int (MHz) | butterworth bandpass filter (positive integer range in megahertz; ex. 100-145) -b, --colorbar | | add a colorbar to the radar figure -a, --antfreq | positive integer | specify antenna frequency (read automatically if not given) -s, --stack | +integer or "auto" | specify trace stacking value or "auto" to autostack to ~2.5:1 x:y axis ratio -N, --normalize | | reads a .DZG NMEA data if it exists; otherwise tries to read a csv file with lat, lon, and time fields to distance normalize with -m, --histogram | | produce a histogram of data values -E, --epsr | float > 1.0 | user-defined epsilon sub r (sometimes referred to as "dielectric"; ignores value in DZT header) -Z, --zero | positive integer | skip this many samples from the top of the trace downward (useful for removing transceiver delay) naming scheme for exports: CHARACTERS | MEANING c0 | Profile from channel 0 (can range from 0 - 3) Dn | Distance normalization Tz233 | Time zero at 233 samples S8 | Stacked 8 times Rv | Profile read in reverse (flipped horizontally) Bgr | Background removal filter Dw | Dewow filter Bp100-145 | 2-corner bandpass filter applied from 100 to 145 MHz G30 | 30x contrast gain ``` -------------------------------- ### Translate to DZT Format (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Use this Python command to translate input DZT files to output DZT files. Ensure the 'dzt' format is specified. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001-out.DZT', frmt='dzt') ``` -------------------------------- ### Plotting with Output File, Gain, and Filters Source: https://github.com/iannesbitt/readgssi/wiki/Plotting Generates a plot, saves it to a specified file, adjusts gain for contrast, and applies background removal and dewow filters. Includes a histogram. ```bash readgssi -i DZT__001.DZT -o 1b.png -p 5 -s auto -c viridis -g 50 -m -r -w ``` -------------------------------- ### Basic Plotting with Python Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md Use `plotting=True` and `figsize` to set the plot dimensions in inches. The `zero` parameter removes data before the direct wave. Adjust `figsize` to control the width. ```python from readgssi import readgssi readgssi.readgssi(infile='DZT__001.DZT', outfile='0a.png', frmt=None, zero=[233], plotting=True, figsize=5) ``` -------------------------------- ### Basic readgssi Command Line Usage Source: https://github.com/iannesbitt/readgssi/blob/master/docs/general.md The basic structure for using readgssi from the command line requires an input file specified with the -i flag. Additional options can be appended. ```bash readgssi -i input.DZT [OPTIONS] ``` -------------------------------- ### Display readgssi Help Text Source: https://github.com/iannesbitt/readgssi/blob/master/docs/general.md Run `readgssi` with the -h flag in a bash console to view all available command-line options and their descriptions. ```bash readgssi -h ``` -------------------------------- ### Combine Horizontal and Vertical Filters (CLI) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Command-line execution for combining horizontal and vertical filters. Includes options for DPI and background color. ```bash readgssi -i DZT__001.DZT -o 2c.png -Z 233 -p 5 -s auto -g 60 -D 300 -r 100 -t 70-130 ``` -------------------------------- ### Reinstall readgssi from Source Source: https://github.com/iannesbitt/readgssi/blob/master/docs/troubleshooting.md After modifying the `readgssi.config` file, reinstall the library using pip. This command is useful if your modified code is located in your home directory. ```bash pip install ~/readgssi ``` -------------------------------- ### Export Data to CSV with Stacking and Background Removal Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Apply 8x stacking (-s 8) and horizontal background removal (-r 0) filters before exporting the data to CSV format. This is useful for enhancing data quality before analysis. ```bash readgssi -i DZT__001.DZT -s 8 -r 0 -o test.csv -f CSV ``` -------------------------------- ### Translate readgssi to CSV with Filters Source: https://github.com/iannesbitt/readgssi/wiki/Translating-to-other-formats Applies 8x stacking, dewow, and background removal filters before exporting to CSV format. ```bash readgssi -i DZT__001.DZT -s 8 -w -r -o test.csv -f CSV ``` -------------------------------- ### Generate Plot with Meters and Custom Epsilon_r Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Sets the Epsilon_r (relative permittivity) and the Z axis to meters for the plot, resulting in a depth scale in meters. Epsilon_r should ideally be set in the header, but this allows on-the-fly adjustment. ```bash readgssi -i DZT__001.DZT -o 1c.png -p 5 -s auto -g 60 -r 75 -z m -E 80 ``` -------------------------------- ### Translate to DZT Format (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Use this bash command to translate input DZT files to output DZT files. Specify the format with '-f dzt'. ```bash readgssi -i DZT__001.DZT -o DZT__001-out.DZT -f dzt ``` -------------------------------- ### Basic Plotting with Bash Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md The `-p` flag sets the plot height in inches, and `-Z` specifies the zero offset in samples. This provides a command-line alternative for basic plotting. ```bash readgssi -i DZT__001.DZT -o 0a.png -Z 233 -p 5 ``` -------------------------------- ### Process specific numeric subsets of DZT files Source: https://github.com/iannesbitt/readgssi/blob/master/docs/advanced.md This command processes a specific range of DZT files, such as `FILE__010.DZT` through `FILE__025.DZT`. Bash handles zero-padding for numeric sequences automatically. ```bash for f in `ls FILE__{010..025}.DZT`; do readgssi -p 8 -n -r 0 -g 40 -Z 233 -z ns -N -x m -s auto -i $f; done ``` -------------------------------- ### Process all DZT files in a folder Source: https://github.com/iannesbitt/readgssi/blob/master/docs/advanced.md Use this command to iterate through all files ending with '.DZT' in the current directory and process them with `readgssi`. The `ls *.DZT` command lists the files, and the `for` loop assigns each filename to the variable `f` for processing. ```bash for f in `ls *.DZT`; do readgssi -p 8 -n -r 0 -g 40 -Z 233 -z ns -N -x m -s auto -i $f; done ``` -------------------------------- ### Apply Vertical Triangular Bandpass Filter (CLI) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Command-line interface for applying a vertical triangular bandpass filter. Use the `-t` flag to specify the frequency range (e.g., 70-130 MHz). ```bash readgssi -i DZT__001.DZT -o 2c.png -Z 233 -p 5 -s auto -g 60 -t 70-130 ``` -------------------------------- ### Read GSSI File Header with Bash Source: https://github.com/iannesbitt/readgssi/blob/master/docs/reading.md Use the `readgssi` command with the `-i` flag to print detailed header information from a DZT file. This is useful for quickly inspecting file metadata without opening a GUI. ```bash $ readgssi -i DZT__001.DZT 2019-07-22 16:56:20 - reading... 2019-07-22 16:56:20 - input file: DZT__001.DZT 2019-07-22 16:56:20 - WARNING: no time zero specified for channel 0, defaulting to 2 2019-07-22 16:56:20 - success. header values: 2019-07-22 16:56:20 - system: SIR 4000 (system code 8) 2019-07-22 16:56:20 - antennas: ['3207', None, None, None] 2019-07-22 16:56:20 - time zeros: [2, None, None, None] 2019-07-22 16:56:20 - ant 0 center freq: 100 MHz 2019-07-22 16:56:20 - date created: 2017-07-25 18:21:24+00:00 2019-07-22 16:56:20 - date modified: 2018-08-06 17:02:24+00:00 2019-07-22 16:56:20 - gps-enabled file: yes 2019-07-22 16:56:20 - number of channels: 1 2019-07-22 16:56:20 - samples per trace: 2048 2019-07-22 16:56:20 - bits per sample: 32 signed 2019-07-22 16:56:20 - traces per second: 24.0 2019-07-22 16:56:20 - traces per meter: 300.0 2019-07-22 16:56:20 - epsr: 80.0 2019-07-22 16:56:20 - speed of light: 3.35E+07 m/sec (11.18% of vacuum) 2019-07-22 16:56:20 - sampling depth: 33.5 m 2019-07-22 16:56:20 - "rhf_top": 3.4 m 2019-07-22 16:56:20 - offset to data: 131072 bytes 2019-07-22 16:56:20 - traces: 28343 2019-07-22 16:56:20 - seconds: 1180.95833333 2019-07-22 16:56:20 - array dimensions: 2048 x 28343 2019-07-22 16:56:20 - beginning processing for channel 0 (antenna 3207) ``` -------------------------------- ### Export DZT to Numpy Binary Format Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Saves the array in numpy binary format. Header information will not be saved. ```bash readgssi -i DZT__001.DZT -o test.npy -f numpy ``` -------------------------------- ### Generate Poster-Quality PNG Figure Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md Use `title=False` and `dpi=300` for poster-quality output. Increase DPI to 600 for very high print quality. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='0d.png', frmt=None, zero=[233], plotting=True, figsize=5, stack='auto', gain=60, epsr=80, z='m', title=False, dpi=300, freqmin=70, freqmax=130, bgr=True, win=75) ``` ```bash readgssi -i DZT__001.DZT -o 0d.png -Z 233 -p 5 -s auto -g 60 -z m -E 80 -T -D 300 -r 75 -t 70-130 ``` -------------------------------- ### Combine Filters for Cleaner Profile Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Combines horizontal windowed BGR and vertical triangular FIR filters to clean the GPR profile without over-processing. ```bash readgssi -i DZT__002.DZT -o 2e.png -p 5 -s auto -g 30 -m -r 75 -t 80-120 ``` -------------------------------- ### Setting Gain with Bash Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md Use the `-g` flag to set the gain value and `-s auto` to enable automatic stacking. This command-line option is useful for adjusting signal strength. ```bash readgssi -i DZT__001.DZT -o 0b.png -Z 233 -p 5 -s auto -g 60 ``` -------------------------------- ### Distance Normalization and X-axis in Meters (CLI) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Command-line option to normalize GSSI data and set the X-axis to display in meters. Use the `-N` flag for normalization and `-x m` for meters. ```bash readgssi -i DZT__001.DZT -o 3a.png -Z 233 -p 5 -s auto -g 60 -N -x m ``` -------------------------------- ### Export DZT to GPRPy-Compatible Format Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Saves the array in numpy binary format and preserves the header as a JSON file. GPRPy will soon support importing this type of file. ```bash readgssi -i DZT__001.DZT -o test -f gprpy ``` -------------------------------- ### Read GSSI Header Verbose Output Source: https://github.com/iannesbitt/readgssi/blob/master/docs/reading.md Use this to print detailed header information to the console. Set `frmt=None` and `verbose=True` to enable this mode. It's useful for quickly inspecting file metadata without loading the entire dataset. ```python >>> from readgssi import readgssi >>> readgssi.readgssi(infile='DZT__001.DZT', frmt=None, verbose=True) 2019-07-22 16:56:20 - reading... 2019-07-22 16:56:20 - input file: DZT__001.DZT 2019-07-22 16:56:20 - WARNING: no time zero specified for channel 0, defaulting to 2 2019-07-22 16:56:20 - success. header values: 2019-07-22 16:56:20 - system: SIR 4000 (system code 8) 2019-07-22 16:56:20 - antennas: ['3207', None, None, None] 2019-07-22 16:56:20 - time zeros: [2, None, None, None] 2019-07-22 16:56:20 - ant 0 center freq: 100 MHz 2019-07-22 16:56:20 - date created: 2017-07-25 18:21:24+00:00 2019-07-22 16:56:20 - date modified: 2018-08-06 17:02:24+00:00 2019-07-22 16:56:20 - gps-enabled file: yes 2019-07-22 16:56:20 - number of channels: 1 2019-07-22 16:56:20 - samples per trace: 2048 2019-07-22 16:56:20 - bits per sample: 32 signed 2019-07-22 16:56:20 - traces per second: 24.0 2019-07-22 16:56:20 - traces per meter: 300.0 2019-07-22 16:56:20 - epsr: 80.0 2019-07-22 16:56:20 - speed of light: 3.35E+07 m/sec (11.18% of vacuum) 2019-07-22 16:56:20 - sampling depth: 33.5 m 2019-07-22 16:56:20 - "rhf_top": 3.4 m 2019-07-22 16:56:20 - offset to data: 131072 bytes 2019-07-22 16:56:20 - traces: 28343 2019-07-22 16:56:20 - seconds: 1180.95833333 2019-07-22 16:56:20 - array dimensions: 2048 x 28343 2019-07-22 16:56:20 - beginning processing for channel 0 (antenna 3207) >>> ``` -------------------------------- ### Distance Normalization and X-axis in Meters (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Normalize GSSI data for distance-triggered recordings and display the X-axis in meters. Requires GPS information and should not be used without DMI or normalization. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='2c.png', frmt=None, zero=[233], plotting=True, figsize=5, stack='auto', gain=60, normalize=True, x='m') ``` -------------------------------- ### Translate to GPRPy-Compatible Format (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to a GPRPy-compatible format using bash. Use '-f gprpy' to specify the output format. ```bash readgssi -i DZT__001.DZT -o DZT__001.csv -f gprpy -N -t 80-120 -r 0 ``` -------------------------------- ### Translate to Numpy Binary Format (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to numpy binary format using bash. Specify 'numpy' as the format. ```bash readgssi -i DZT__001.DZT -o DZT__001.csv -f numpy -N -t 80-120 -r 0 ``` -------------------------------- ### Basic Plotting with readgssi Source: https://github.com/iannesbitt/readgssi/wiki/Plotting Use the -p flag to specify plot height in inches for basic plotting. ```bash readgssi -p 5 -i DZT__001.DZT ``` -------------------------------- ### Translate to CSV Format (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate radar data to CSV format using Python. Specify 'csv' as the output format. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001.csv', frmt='csv') ``` -------------------------------- ### Translate Processed Data to DZT (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to DZT format using Python. Options for normalization and frequency filtering are available. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001-out.DZT', frmt='dzt', normalize=True, freqmin=80, freqmax=120, bgr=0) ``` -------------------------------- ### Export DZT with Reversed Survey Line Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Exports the array as a second DZT file after reversing the direction of the survey line. Operations like stacking, filtering, distance normalization, and reversing direction will be preserved. Note that this experimental feature only supports single-channel files. ```bash readgssi -i DZT__001.DZT -R -Z 0 -o test.DZT -f DZT ``` -------------------------------- ### Plotting with Specific Colormap and Filters Source: https://github.com/iannesbitt/readgssi/wiki/Plotting Applies background removal and dewow filters using the 'seismic' colormap for enhanced visibility of signal perturbations. Gain is set to default (1). ```bash readgssi -i DZT__001.DZT -o 1c.png -p 5 -s auto -r -w -c seismic ``` -------------------------------- ### Translate to CSV Format (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate radar data to CSV format using bash. Use '-f csv' to specify the output format. ```bash readgssi -i DZT__001.DZT -o DZT__001.csv -f csv ``` -------------------------------- ### Translate to Numpy Binary Format (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to numpy binary format using Python. Use 'numpy' for the frmt parameter. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001.csv', frmt='numpy', normalize=True, freqmin=80, freqmax=120, bgr=0) ``` -------------------------------- ### Translate to GPRPy-Compatible Format (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to a format compatible with GPRPy using Python. This includes numpy binary and JSON header serialization. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001.csv', frmt='gprpy', normalize=True, freqmin=80, freqmax=120, bgr=0) ``` -------------------------------- ### Distance Normalize GPR Profile Using DZG File Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Applies distance normalization to a GPR profile using GPS information from a DZG file, displaying the X-axis in meters. Handles large files by normalizing in chunks. ```bash readgssi -i DZT__003.DZT -o 3b.png -p 5 -s auto -r 0 -g 60 -N -x meters ``` -------------------------------- ### Generate Plot With Gain and Background Removal Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Creates a plot with a specified y-size and auto-stacked x-axis, applying a gain value to increase plot contrast and running a background removal filter. To apply this filter across the entire line horizontally, use '-r 0'. ```bash readgssi -i DZT__001.DZT -o 1b.png -p 5 -s auto -g 60 -r 75 ``` -------------------------------- ### Export readgssi to GPRpy format (Numpy/JSON) Source: https://github.com/iannesbitt/readgssi/wiki/Translating-to-other-formats Exports radar data to a numpy array file (.npy) and a JSON header file, suitable for GPRpy. This command forces distance normalization using a provided DZG file, interpolating the radar array to match GPS locations. Ensure GPS data is accurate for effective normalization. ```bash readgssi -N -f gprpy -i DZT__001.DZT ``` -------------------------------- ### Read GSSI Data into Python Objects Source: https://github.com/iannesbitt/readgssi/blob/master/docs/reading.md Load header, radar arrays, and GPS data into Python objects. Set `zero=[int]` to specify time-zero in samples. Omitting `verbose=True` and `frmt=None` returns data structures. ```python >>> hdr, arrs, gps = readgssi.readgssi(infile='DZT__001.DZT', zero=[233]) >>> type(hdr) >>> type(arr[0]) >>> type(gps) ``` ```python >>> hdr, arrs, gps = readgssi.readgssi(infile='DZT__002.DZT', zero=[233]) 2019-07-22 17:28:43 - WARNING: no DZG file found for GPS import >>> print(gps) False ``` -------------------------------- ### Translate Processed Data to CSV (Python) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to CSV format using Python. Apply normalization and frequency filtering before output. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='DZT__001.csv', frmt='csv', normalize=True, freqmin=80, freqmax=120, bgr=0) ``` -------------------------------- ### Translate Processed Data to CSV (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to CSV format using bash. Options include normalization and frequency range specification. ```bash readgssi -i DZT__001.DZT -o DZT__001.csv -f csv -N -t 80-120 -r 0 ``` -------------------------------- ### Translate Processed Data to DZT (Bash) Source: https://github.com/iannesbitt/readgssi/blob/master/docs/translating.md Translate processed radar data to DZT format using bash. Use flags like '-N' for normalization and '-t' for frequency range. ```bash readgssi -i DZT__001.DZT -o DZT__001-out.DZT -f dzt -N -t 80-120 -r 0 ``` -------------------------------- ### Activate readgssi Environment Source: https://github.com/iannesbitt/readgssi/wiki/Reading-files Activate the readgssi conda environment before running any commands. This ensures all necessary dependencies are available. ```bash conda activate readgssi ``` -------------------------------- ### Autostacking Radar Data Source: https://github.com/iannesbitt/readgssi/blob/master/docs/processing.md Use 'auto' stacking to automatically determine the stacking parameter based on the width-to-height ratio. This is useful for reducing noise and condensing the X-axis. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='1a.png', frmt=None, zero=[233], plot=5, gain=60, stack='auto') ``` ```bash readgssi -i DZT__001.DZT -o 1a.png -Z 233 -p 5 -g 60 -s auto ``` -------------------------------- ### Plotting without Background Removal and Suppressing Window Source: https://github.com/iannesbitt/readgssi/wiki/Plotting Creates a plot with specified dimensions and stacking, using the default 'Greys' colormap. The matplotlib window is suppressed, which is useful for batch processing. ```bash readgssi -i DZT__002.DZT -o 2a.png -p 10 -s 3 -n ``` -------------------------------- ### Read GSSI File Header in Python Source: https://github.com/iannesbitt/readgssi/blob/master/docs/general.md Use the readgssi.readgssi.readgssi() function to print header information from a GSSI file. Note the warning about the default time zero setting. ```python >>> from readgssi import readgssi >>> readgssi.readgssi(infile='DZT__001.DZT', frmt=None, verbose=True) 2019-07-22 16:56:20 - reading... 2019-07-22 16:56:20 - input file: DZT__001.DZT 2019-07-22 16:56:20 - WARNING: no time zero specified for channel 0, defaulting to 2 2019-07-22 16:56:20 - success. header values: 2019-07-22 16:56:20 - system: SIR 4000 (system code 8) 2019-07-22 16:56:20 - antennas: ['3207', None, None, None] 2019-07-22 16:56:20 - time zeros: [2, None, None, None] 2019-07-22 16:56:20 - ant 0 center freq: 100 MHz 2019-07-22 16:56:20 - date created: 2017-07-25 18:21:24+00:00 2019-07-22 16:56:20 - date modified: 2018-08-06 17:02:24+00:00 2019-07-22 16:56:20 - gps-enabled file: yes 2019-07-22 16:56:20 - number of channels: 1 2019-07-22 16:56:20 - samples per trace: 2048 2019-07-22 16:56:20 - bits per sample: 32 signed 2019-07-22 16:56:20 - traces per second: 24.0 2019-07-22 16:56:20 - traces per meter: 300.0 2019-07-22 16:56:20 - epsr: 80.0 2019-07-22 16:56:20 - speed of light: 3.35E+07 m/sec (11.18% of vacuum) 2019-07-22 16:56:20 - sampling depth: 33.5 m 2019-07-22 16:56:20 - "rhf_top": 3.4 m 2019-07-22 16:56:20 - offset to data: 131072 bytes 2019-07-22 16:56:20 - traces: 28343 2019-07-22 16:56:20 - seconds: 1180.95833333 2019-07-22 16:56:20 - array dimensions: 2048 x 28343 2019-07-22 16:56:20 - beginning processing for channel 0 (antenna 3207) >>> ``` -------------------------------- ### Changing Z-axis Units to Meters with Bash Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md Use the `-z m` flag for meters and `-E 80` for the dielectric constant to display depth in meters on the Z-axis via the command line. ```bash readgssi -i DZT__001.DZT -o 0c.png -Z 233 -p 5 -s auto -g 60 -z m -E 80 ``` -------------------------------- ### Setting Gain for Plotting Source: https://github.com/iannesbitt/readgssi/blob/master/docs/plotting.md Adjust radar wave attenuation by setting the `gain` parameter. A positive integer increases gain, while a float between 0 and 1 decreases it. The `stack='auto'` parameter is also used here. ```python readgssi.readgssi(infile='DZT__001.DZT', outfile='0b.png', frmt=None, zero=[233], plotting=True, figsize=5, stack='auto', gain=60) ``` -------------------------------- ### Advanced Plotting with readgssi Source: https://github.com/iannesbitt/readgssi/wiki/Plotting This command saves and shows a plot with specified dimensions, autostacking, a viridis color scheme, and generates a histogram for each data channel. ```bash readgssi -i DZT__001.DZT -p 5 -s auto -c viridis -m ``` -------------------------------- ### Horizontal Mean Background Removal Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Applies full-width horizontal mean background removal to the profile, correcting for skew and horizontally uniform noise. This is an alternative to no background removal, with differences in ringing artifacts. ```bash readgssi -i DZT__002.DZT -o 2b.png -p 5 -s auto -g 30 -m -r 0 ``` -------------------------------- ### Generate Plot Without Gain Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Saves and shows a plot with a specified y-size and auto-stacked x-axis for optimal viewing. The plot will be rendered in the 'gray' color scheme. The autostacking algorithm stacks the x-axis to some multiple of times shorter than the original data array. ```bash readgssi -i DZT__001.DZT -o 1a.png -p 5 -s auto ``` -------------------------------- ### Moving Window Horizontal Mean Filter Source: https://github.com/iannesbitt/readgssi/blob/master/README.md Applies a moving window horizontal mean background removal with a specified window width (e.g., 75 traces). This method is efficient for removing horizontal noise but can extend real data laterally. ```bash readgssi -i DZT__002.DZT -o 2c.png -p 5 -s auto -g 30 -m -r 75 ```