Source code for RIAssigner.compute.CubicSpline

from typing import List
from scipy.interpolate import CubicSpline as Model
from RIAssigner.data import Data

from .ComputationMethod import ComputationMethod


[docs] class CubicSpline(ComputationMethod):
[docs] def compute(self, query: Data, reference: Data) -> List[Data.RetentionIndexType]: """Compute RI using cubic spline interpolation Args: query (Data): Data for which to compute the retention index reference (Data): Reference data with retention time and index Returns: List[Data.RetentionIndexType]: Computed retention indices """ self._check_data_args(query, reference) model = Model(reference.retention_times, reference.retention_indices) predicted_ri = model(query.retention_times) return predicted_ri.astype(float)