Source code for maldiamrkit.preprocessing.pipeline

"""Main preprocessing pipeline for MALDI-TOF spectra."""

from __future__ import annotations

import pandas as pd

from .preprocessing_pipeline import PreprocessingPipeline


[docs] def preprocess( df: pd.DataFrame, pipeline: PreprocessingPipeline | None = None, ) -> pd.DataFrame: """ Apply preprocessing pipeline to a raw MALDI-TOF spectrum. By default applies: clip negatives -> sqrt transform -> Savitzky-Golay smoothing -> SNIP baseline -> m/z trim (2000-20000 Da) -> TIC normalization. Parameters ---------- df : pd.DataFrame Raw spectrum with columns 'mass' and 'intensity'. pipeline : PreprocessingPipeline, optional Custom pipeline. If None, uses ``PreprocessingPipeline.default()``. Returns ------- pd.DataFrame Preprocessed spectrum with columns 'mass' and 'intensity'. See Also -------- PreprocessingPipeline : Composable preprocessing pipeline class. bin_spectrum : Bin preprocessed spectrum into m/z bins. Examples -------- >>> from maldiamrkit.preprocessing import preprocess, PreprocessingPipeline >>> preprocessed = preprocess(raw_df) >>> preprocessed = preprocess(raw_df, PreprocessingPipeline.default()) """ if pipeline is None: pipeline = PreprocessingPipeline.default() return pipeline(df)