mioXpektron.recalibrate.auto_calibrator

AutoCalibrator — automatic multi-model calibration for mass spectrometry.

Fits all requested calibration models, picks the best one per file, and applies the winning model. Model fitting, inversion, and peak-detection live in the shared _models backend.

Author: Data Analysis Team @KaziLab.se Version: 0.0.1

Functions

batch_process_directory(input_dir[, ...])

Process all matching files in a directory.

create_calibration_report(summary_df[, ...])

Create an HTML report from calibration results.

diagnose_calibration(files, reference_masses)

Run comprehensive calibration diagnostics.

quick_calibrate(files[, reference_masses, ...])

Quick calibration with sensible defaults.

validate_calibration(original_files, ...[, ...])

Validate calibration quality by checking known masses.

Classes

AutoCalibConfig(reference_masses[, ...])

Universal calibration configuration with robust options.

AutoCalibrator([config])

Automatic multi-model calibrator.

CalibrationModel(value)

Enumeration of available calibration models.

PeakDetectionMethod(value)

Enumeration of peak detection methods.

class mioXpektron.recalibrate.auto_calibrator.CalibrationModel(value)[source]

Bases: Enum

Enumeration of available calibration models.

QUAD_SQRT = 'quad_sqrt'
LINEAR_SQRT = 'linear_sqrt'
POLY2 = 'poly2'
REFLECTRON = 'reflectron'
MULTISEGMENT = 'multisegment'
SPLINE = 'spline'
PHYSICAL = 'physical'
class mioXpektron.recalibrate.auto_calibrator.PeakDetectionMethod(value)[source]

Bases: Enum

Enumeration of peak detection methods.

MAX = 'max'
CENTROID = 'centroid'
CENTROID_RAW = 'centroid_raw'
PARABOLIC = 'parabolic'
GAUSSIAN = 'gaussian'
VOIGT = 'voigt'
class mioXpektron.recalibrate.auto_calibrator.AutoCalibConfig(reference_masses, output_folder='calibrated_spectra', max_workers=None, autodetect_tol_da=None, autodetect_tol_ppm=None, autodetect_method='gaussian', autodetect_fallback_policy='max', autodetect_strategy='mz', prefer_recompute_from_channel=False, outlier_threshold=3.0, use_outlier_rejection=True, max_iterations=3, model=None, models_to_try=None, prefer_physical_models=True, min_calibrants=3, max_ppm_warning=100.0, max_ppm_error=500.0, use_bootstrap_init=True, spline_smoothing=None, multisegment_breakpoints=<factory>, instrument_params=<factory>)[source]

Bases: object

Universal calibration configuration with robust options.

Parameters:
  • reference_masses (list of float) – Known calibrant ion masses (m/z).

  • model (str, optional) – Convenience shortcut — a single model name (or common alias like 'quadratic', 'tof', 'linear'). Resolved into models_to_try during __post_init__. Ignored when models_to_try is explicitly provided.

  • models_to_try (list of str, optional) – Explicit list of model names to fit. Default: all production-ready models (excludes experimental ones such as multisegment and physical).

  • output_folder (str)

  • max_workers (int | None)

  • autodetect_tol_da (float | None)

  • autodetect_tol_ppm (float | None)

  • autodetect_method (str)

  • autodetect_fallback_policy (str)

  • autodetect_strategy (str)

  • prefer_recompute_from_channel (bool)

  • outlier_threshold (float)

  • use_outlier_rejection (bool)

  • max_iterations (int)

  • prefer_physical_models (bool)

  • min_calibrants (int)

  • max_ppm_warning (float)

  • max_ppm_error (float)

  • use_bootstrap_init (bool)

  • spline_smoothing (float | None)

  • multisegment_breakpoints (List[float])

  • instrument_params (Dict[str, float])

reference_masses: List[float]
output_folder: str = 'calibrated_spectra'
max_workers: int | None = None
autodetect_tol_da: float | None = None
autodetect_tol_ppm: float | None = None
autodetect_method: str = 'gaussian'
autodetect_fallback_policy: str = 'max'
autodetect_strategy: str = 'mz'
prefer_recompute_from_channel: bool = False
outlier_threshold: float = 3.0
use_outlier_rejection: bool = True
max_iterations: int = 3
model: str | None = None
models_to_try: List[str] | None = None
prefer_physical_models: bool = True
min_calibrants: int = 3
max_ppm_warning: float = 100.0
max_ppm_error: float = 500.0
use_bootstrap_init: bool = True
spline_smoothing: float | None = None
multisegment_breakpoints: List[float]
instrument_params: Dict[str, float]
class mioXpektron.recalibrate.auto_calibrator.AutoCalibrator(config=None)[source]

Bases: object

Automatic multi-model calibrator.

Fits all requested models, selects the best one per file, and writes calibrated spectra.

Parameters:

config (AutoCalibConfig | None)

last_autodetect_methods: Dict[str, List[str]]
calibrate(files, calib_channels_dict=None)[source]

Calibrate all files with automatic model selection.

Parameters:
Return type:

DataFrame

mioXpektron.recalibrate.auto_calibrator.quick_calibrate(files, reference_masses=None, output_folder='calibrated_spectra', models=None, **kwargs)[source]

Quick calibration with sensible defaults.

Parameters:
Return type:

DataFrame

mioXpektron.recalibrate.auto_calibrator.diagnose_calibration(files, reference_masses, output_folder='calibration_diagnostics', calib_channels_dict=None)[source]

Run comprehensive calibration diagnostics.

Tests multiple models and peak detection methods to find optimal settings.

Parameters:
Return type:

Dict[str, DataFrame]

mioXpektron.recalibrate.auto_calibrator.validate_calibration(original_files, calibrated_files, known_masses=None)[source]

Validate calibration quality by checking known masses.

Parameters:
Return type:

DataFrame

mioXpektron.recalibrate.auto_calibrator.batch_process_directory(input_dir, output_dir='calibrated_output', pattern='*.txt', reference_masses=None, config=None, recursive=False)[source]

Process all matching files in a directory.

Parameters:
Return type:

DataFrame

mioXpektron.recalibrate.auto_calibrator.create_calibration_report(summary_df, output_file='calibration_report.html')[source]

Create an HTML report from calibration results.

Parameters:
Return type:

None