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

ButtonAction
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

  1. Data — load raw XYZ data, clip to area of interest, and grid it.
  2. Select physical features files, if wanted.
  3. Preprocess — remove regional trend, apply a tapering window.
  4. FFT — transform to the frequency domain.
  5. Spectrum — inspect the spectra to pick interesting directions and/or frequencies.
  6. Read the gridded data file again and transform it without preprocessing.
  7. Filter — apply directional and/or frequency filters.
  8. 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.

OptionDescription
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.
When an input file is selected the preview automatically shows a scatter plot of all points coloured by Z value, and the bounding limits are filled with the actual data extents. The original hard limit of 20 000 points is enforced with a warning; it is not a hard stop.

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.

OptionDescription
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.
The output grid is stored in memory only. Use Save Grid to write it to disk. Kriging time scales as NX × NY × N_neighbours; for large grids expect a wait of several seconds.

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.

OptionDescription
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.

OptionDescription
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.
Higher-order removal extracts more of the regional signal but also risks removing real shorter-wavelength features if the grid is small. The residual (data minus fitted surface) becomes the active grid.

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:

W(r) = 0.5 + 0.5 · cos(2π · r / (N−1))

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:

Interior (r < N/2 − width) : W = 1.0 Ring (N/2 − width ≤ r ≤ N/2) : W = 0.5 + 0.5 · cos(π · (r − r_inner) / width) Beyond N/2 : W = 0.0
Sub-optionDescription
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.


inverse fft

Transforms the active ComplexGrid back from the frequency domain to the spatial domain.


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

ShapeFormulaCharacter
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

ModeEffect
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

ParameterDescription
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.

Filter shapes are the same three options as the frequency filter (Butterworth, Exponential, Ideal), applied to the angular deviation from the fan centre.

Fan modes

ModeEffect
Fanpass Passes directions inside the fan; suppresses directions outside.
Fancut Suppresses directions inside the fan; passes directions outside.

Parameters

ParameterDescription
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

  1. Computes the radially-averaged 1-D amplitude spectrum (amplitude vs. wavenumber k).
  2. Fits an exponential trend curve A(k) = a · exp(b · k) to the spectrum by least-squares in log space.
  3. 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.

Spectrum commands display information about the active ComplexGrid without modifying it. The active grid remains unchanged after any spectrum command.

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.

OptionDescription
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.