2.27.2.8. pycsamt.pipeline._presets#

Named pipeline presets for common MT processing workflows.

Each preset is a Preset object that pairs a description with an ordered list of Step instances. Users can load a preset via from_preset() and then add, remove, or override steps as needed.

Available presets#

"basic_qc"

Minimal denoising + frequency cleanup. Good for a first-pass inspection.

"noise_reduction"

Stacked noise-removal chain for high-EMI environments.

"full_processing"

Standard end-to-end workflow: noise → frequency → skew gate → SS → strike.

"tensor_analysis"

Tensor-only cleanup (rotation, antisymmetry, sigma-clip, balance).

"dimensionality_filter"

Classify, mask, and project to 2-D.

"publication_ready"

Full chain suitable for Computers & Geosciences quality output.

"stratagem_mt"

emtools-level preset for Stratagem AMT data already loaded as Sites. Static-shift → AMT band select → powerline notch → Hampel → QC. Use pycsamt.pipeline.stratagem when you also need coordinate injection and renaming from raw EDI + CSV inputs.

Method-aware presets#

The presets above are chosen by processing intent only; the four below are additionally chosen by EM survey method, since MT/AMT (passive) and CSAMT/CSUMT (controlled-source) surveys need genuinely different treatment – see Pipeline Presets for the full rationale.

"mt_qc"

Broadband MT quick-look: denoise, frequency cleanup, strike rotation, and data-driven (“smart”) tensor/tipper/strike QC that only fires the plots the data actually supports.

"amt_qc"

Same as mt_qc, trimmed to the standard AMT acquisition band (10 Hz - 100 kHz).

"csamt_qc"

Adds CSAMT-specific near-field/transition-zone correction and its diagnostic pseudosection on top of mt_qc’s chain.

"csumt_qc"

Same as csamt_qc, trimmed to the CSUMT acquisition band and adding the Bostick depth-section snapshot.

Every method-aware preset opens with a raw-data preview and closes with a processed-data preview of the same (deterministically) randomly chosen stations, so a before/after comparison is always available.

Functions

get_preset(name)

Return the Preset for name.

get_preset_for_method(method[, level])

Return the method-aware Preset for an explicit EM method.

list_presets()

Return all available Preset objects.

preset_catalogue()

Return a formatted catalogue of all presets.

Classes

Preset(name, description[, steps])

A named, ordered collection of pipeline steps.

class pycsamt.pipeline._presets.Preset(name, description, steps=<factory>)[source]

Bases: object

A named, ordered collection of pipeline steps.

Variables:
  • name (str) – Identifier used in from_preset().

  • description (str) – One-line description shown when the user prints the preset catalogue.

  • steps (list[tuple[str, pycsamt.pipeline._steps.Step]]) – Ordered list of (label, Step) tuples — same format as a Pipeline step list.

Parameters:
name: str
description: str
steps: list[tuple[str, Step]]
pycsamt.pipeline._presets.get_preset(name)[source]

Return the Preset for name.

Raises:

KeyError – When name is not registered.

Parameters:

name (str)

Return type:

Preset

pycsamt.pipeline._presets.get_preset_for_method(method, level='qc')[source]

Return the method-aware Preset for an explicit EM method.

Parameters:
  • method (str) – An EM method string – either one recognised by SurveyMeta ("MT", "AMT", "CSAMT", "CSEM", "TEM", "BBMT", "LAMT", "LMT") or "CSUMT" (recognised here even though SurveyMeta’s vocabulary predates it). "MT", "BBMT", "LAMT", "LMT", "AMT", "CSAMT", and "CSUMT" are mapped to a preset today; "CSEM"/"TEM" are recognised but have no method-aware preset yet. Case-insensitive.

  • level (str) – Preset tier. Only "qc" exists today.

  • be (This performs no data inspection or auto-detection -- method must)

  • a (supplied explicitly (e.g. from)

Return type:

Preset

:param method the caller already: :param has): :param the same way get_preset() requires an explicit preset name.:

Raises:

ValueError – When method is not a recognised EM method, or has no method-aware preset yet.

Parameters:
Return type:

Preset

Examples

>>> from pycsamt.pipeline import get_preset_for_method
>>> get_preset_for_method("CSAMT").name
'csamt_qc'
pycsamt.pipeline._presets.list_presets()[source]

Return all available Preset objects.

Return type:

list[Preset]

pycsamt.pipeline._presets.preset_catalogue()[source]

Return a formatted catalogue of all presets.

Return type:

str