STRIKE
Directional Spectral Analysis and Filtering — User Manual
Overview
STRIKE is a graphical tool for 2-D potential-field data processing (gravity, magnetics, and similar gridded geophysical data). It provides a complete workflow from raw scattered point data through gridding, preprocessing, Fourier analysis, spectral filtering, and visualisation.
The sidebar organises all commands into five sections. Commands are executed in sequence: the result of each command becomes the active grid, which is the input to the next command. The current active grid is always displayed in the Grid Preview panel on the right.
Interface
Toolbar buttons
| Button | Action |
|---|---|
| Load Grid | Open a grid file (binary .bin, complex binary .cbin, ASCII .txt / .dat / .asc / .xyz) and make it the active grid. |
| Save Grid | Write the current active grid to a file. |
| Save Plot | Save the current plot image as PNG or JPG at a chosen pixel size. |
| Clear Log | Erase the output log panel. |
Typical workflow
- Data — load raw XYZ data, clip to area of interest, and grid it.
- Select physical features files, if wanted.
- Preprocess — remove regional trend, apply a tapering window.
- FFT — transform to the frequency domain.
- Spectrum — inspect the spectra to pick interesting directions and/or frequencies.
- Read the gridded data file again and transform it without preprocessing.
- Filter — apply directional and/or frequency filters.
- FFT (inverse) — transform back to the spatial domain and view a filtered map.
choose data
Clips a set of irregularly-spaced XYZ points to a rectangular bounding box, producing a subset of the original data.
When to use: Before gridding, to restrict the dataset to the area of interest or to remove outlying points.
| Option | Description |
|---|---|
| Input XYZ ASCII file | Source file of whitespace-delimited X Y Z triplets (one per line). |
| Output XYZ ASCII file | Destination file for the clipped point set. |
| Bounding limits — X min, Y min, X max, Y max | The rectangle to retain. Points strictly inside the rectangle are kept (boundary points are excluded). Auto-filled from the data extents when an input file is selected. |
| Remove duplicate XY points | If ticked, points sharing the same XY coordinates (to 6 decimal places) are reduced to one. |
| Show selected area | Re-plots the scatter of data points in the preview panel and overlays four thin black lines marking the chosen bounding rectangle. Use this to check whether the limits look right before running. |
grid data
Grids irregularly-spaced XYZ point data onto a regular 2-D grid using ordinary kriging. The result becomes the active in-memory grid.
When to use: To convert scattered field measurements into a regular grid suitable for FFT-based processing.
| Option | Description |
|---|---|
| Input XYZ ASCII file | Source file of X Y Z triplets. |
| Grid dimensions (NX × NY) | Number of columns and rows in the output grid. Both should be powers of 2 (e.g. 32, 64, 128) for efficient FFT processing. |
| Grid limits — X min, Y min, X max, Y max | Spatial extent of the output grid. Auto-filled from the data extents when an input file is selected. |
| Smoothing factor | Controls the covariance model. 0 produces a best-fit plane (maximum smoothing); 1 honours every data point exactly (interpolation). Values between 0 and 1 give intermediate smoothing. |
| Nearest neighbours | Number of neighbouring data points used to estimate each grid node. Larger values produce smoother results but take longer to compute. |
physical features
Lets the user select one or more files describing geographical boundary features — coastlines, rivers, glaciers, or other vector overlays — and display them as line overlays on top of the active grid in the preview panel.
When to use: When interpreting results in a geographic context, for example to see how gravity or magnetic anomalies relate to coastlines, drainage networks, or ice boundaries.
| Option | Description |
|---|---|
| Feature files | One or more ASCII files containing geographic boundary coordinates. Each file describes a single feature type (e.g. coastlines, rivers, glaciers). Files can be added or removed from the list individually. |
remove trend
Removes a 2-D polynomial trend surface from the active grid by least-squares fitting, leaving only the residual (detrended) values.
When to use: Regional background signals (e.g. a continent-scale gravity gradient) bias the FFT spectrum. Removing the trend before FFT improves the dynamic range of the spectral analysis.
| Option | Description |
|---|---|
| 1st order (linear plane) | Fits and removes Z = ax + by + c — a tilted plane. Removes a linear gradient in any direction. |
| 2nd order (quadratic surface) | Fits and removes Z = ax² + by² + cxy + dx + ey + f — a bowl or saddle shape. Removes gentle regional curvature. |
| 3rd order (cubic surface) | Fits and removes a 10-term cubic polynomial. Removes more complex regional warping. |
taper data
Applies a circular window to the edges of the active grid to suppress edge discontinuities before FFT. Edge discontinuities produce high-amplitude spurious signals across all frequencies in the spectrum; tapering removes them.
Hanning tapering window for the entire grid
Applies a raised-cosine (Hanning) bell across the full grid:
The weight is 1 at the grid centre, decreasing smoothly to 0 at radius N/2. All grid values are modified. This is the most thorough option but suppresses the amplitude of everything near the edges.
Tapering edge values only
Applies the Hanning cosine only to an annular ring at the edge of the grid. The interior is completely untouched:
| Sub-option | Description |
|---|---|
| Taper width (grid cells) | Width of the tapering annulus measured in grid cells from the inner boundary to the outer edge. Larger values taper more of the grid. The radius of the untouched interior is N/2 − taper_width. |
forward fft
Transforms the active real grid from the spatial domain to the frequency domain using a 2-D Fast Fourier Transform.
- The input grid is zero-padded from N×N to 2N×2N before the transform. This reduces aliasing and improves filter precision.
- DC (zero frequency) is placed at the array centre (standard geophysical convention).
- The result is a ComplexGrid containing real and imaginary parts. The preview shows the FFT amplitude; only the inner N×N region is displayed (the padding border is kept in memory but hidden).
- The ComplexGrid becomes the active grid for all subsequent Filter and Spectrum commands.
inverse fft
Transforms the active ComplexGrid back from the frequency domain to the spatial domain.
- The padding added by the forward FFT is discarded: only the inner N×N region is retained.
- The result is a real GridData, which becomes the new active grid.
- Use this after filtering to obtain the filtered spatial-domain grid.
frequency filter
Applies a circularly symmetric (isotropic) filter in the frequency domain. All frequencies at the same radial distance from DC are treated equally regardless of direction.
Filter shapes
| Shape | Formula | Character |
|---|---|---|
| Butterworth | W = 1 / (1 + (R/Rc)^(2n)) |
Smooth rolloff; weight at Rc is always exactly 0.5. The most commonly used shape. |
| Exponential | W = exp(−n · R/Rc) |
Decays from 1 at DC; weight at Rc depends on order. Softer overall rolloff than Butterworth. |
| Ideal | W = 1 if R ≤ Rc, else 0 |
Hard brick-wall cutoff. Produces Gibbs ringing in the spatial domain; use with caution. |
Filter modes
| Mode | Effect |
|---|---|
| Lowpass | Passes frequencies below the cutoff (long wavelengths); suppresses high frequencies (short wavelengths). Smooths the grid. |
| Highpass | Passes frequencies above the cutoff (short wavelengths); suppresses long wavelengths. Equivalent to subtracting the lowpass result from the original. |
Parameters
| Parameter | Description |
|---|---|
| Cutoff radius (grid cells) | Radial distance from the DC centre in FFT grid cells at which the filter transition occurs. Smaller values pass only very long wavelengths; larger values pass progressively finer detail. |
| Filter order | Steepness of the transition (Butterworth and Exponential only; ignored for Ideal). Higher values produce a sharper cutoff. Typical range: 1–8. |
directional filter
Applies a fan-shaped filter that selects or rejects a wedge of directions in the frequency domain. Because the FFT of a linearly-trending feature (e.g. a geological strike) concentrates energy perpendicular to that trend, this filter can isolate or remove features of a specific orientation.
The filter has 180° symmetry: a fan centred on azimuth θ also passes azimuth θ+180°, correctly treating both sides of the DC point.
Fan modes
| Mode | Effect |
|---|---|
| Fanpass | Passes directions inside the fan; suppresses directions outside. |
| Fancut | Suppresses directions inside the fan; passes directions outside. |
Parameters
| Parameter | Description |
|---|---|
| Fan centre azimuth (°) | Direction of the fan centre in degrees, measured clockwise from north (the +V axis). 0° = north–south, 90° = east–west. |
| Half-opening angle (°) | Angular half-width of the flat-top pass region on either side of the centre. A value of 45° gives a 90° wide fan. |
| Rolloff angle (°) | Width of the transition zone beyond the flat-top edge (Butterworth and Exponential only). Larger values give a more gradual transition. |
| Filter order | Steepness of the angular rolloff. Higher values give a sharper edge. |
fft trend filter
Removes the radial (isotropic) trend of the amplitude spectrum from the ComplexGrid. This is a spectral whitening operation: it equalises the power across wavenumbers by subtracting the smooth background decay of the spectrum.
Algorithm
- Computes the radially-averaged 1-D amplitude spectrum (amplitude vs. wavenumber k).
- Fits an exponential trend curve A(k) = a · exp(b · k) to the spectrum by least-squares in log space.
- For every FFT cell at wavenumber R, evaluates the fitted curve A_fit(R) and subtracts it from the cell's amplitude. Phase is preserved exactly. Amplitudes that would go negative are clipped to zero.
When to use: When a strong radial decay in the spectrum masks directional or narrowband features. After this filter, the residual spectrum highlights deviations from the average decay — anomalous spectral concentrations become much more visible.
No parameters are required.
log spectrum
Computes and displays the 2-D log-amplitude spectrum of the active ComplexGrid.
- Each cell is coloured by log₁₀(1 + amplitude), bringing out lower-amplitude features that would be invisible on a linear scale.
- The axes show wavenumber in cycles per spatial unit, with DC at the centre.
- A protractor overlay marks azimuths at 15° intervals and three radial rings, making directional features easy to identify.
lin spectrum
Re-displays the raw amplitude of the active ComplexGrid in the preview panel, exactly as it appears after running the forward FFT. No computation is performed. Useful for quickly switching back to the FFT view after inspecting the log spectrum or 1-D spectrum.
1-D spectrum
Computes and displays a radially-averaged 1-D amplitude spectrum: for each wavenumber k (radial distance from DC), all FFT cells at that distance are averaged to give a single amplitude value. The result is plotted as amplitude versus wavenumber.
| Option | Description |
|---|---|
| Linear values | Plot amplitude on a linear vertical axis. |
| Logarithmic values | Plot log₁₀(amplitude) on the vertical axis (default). Better for visualising the full dynamic range. |
| Apply moving-average smoothing | If ticked, applies a moving-average filter to the 1-D spectrum before display. Does not affect the active ComplexGrid. |
| Smoothing window size (points) | Number of spectrum points in the moving-average window. Must be an odd number ≥ 3. Larger values produce a smoother curve. |