Source code for glotaran.builtin.megacomplexes.baseline.baseline_megacomplex

from __future__ import annotations

import numpy as np
import xarray as xr

from glotaran.model import DatasetModel
from glotaran.model import Megacomplex
from glotaran.model import megacomplex


[docs]@megacomplex(unique=True, register_as="baseline") class BaselineMegacomplex(Megacomplex):
[docs] def calculate_matrix( self, dataset_model: DatasetModel, indices: dict[str, int], **kwargs, ): model_axis = dataset_model.get_model_axis() clp_label = [f"{dataset_model.label}_baseline"] matrix = np.ones((model_axis.size, 1), dtype=np.float64) return clp_label, matrix
[docs] def index_dependent(self, dataset_model: DatasetModel) -> bool: return False
[docs] def finalize_data( self, dataset_model: DatasetModel, dataset: xr.Dataset, is_full_model: bool = False, as_global: bool = False, ): if not is_full_model: dataset["baseline"] = dataset.clp.sel(clp_label=f"{dataset_model.label}_baseline")