nifreeze.model.pet module

Models for nuclear imaging.

nifreeze.model.pet.DEFAULT_TIMEPOINT_TOL = 0.01

Time frame tolerance in seconds.

nifreeze.model.pet.FIRST_TIMEPOINT_VALUE_ERROR_MSG = "First frame 'timepoint' should not be zero or negative, found: {timepoints}."

PET model timepoint value error message.

nifreeze.model.pet.LAST_TIMEPOINT_CONSISTENCY_ERROR_MSG = "Last frame 'timepoints' value should not be equal or greater than 'xlim' duration, found: {timepoints} and {xlim}."

PET model parameter consistency error message.

class nifreeze.model.pet.PETModel(self, dataset: nifreeze.data.pet.base.PET, timepoints: list | numpy.ndarray, xlim: float, n_ctrl: int | None = None, order: int = 3, smooth_fwhm: float = 10.0, thresh_pct: float = 20.0, **kwargs)[source]

Bases: BaseModel

A PET imaging realignment model based on B-Spline approximation.

Create the B-Spline interpolating matrix.

Parameters:

timepointslist

The timing (in sec) of each PET volume. E.g., [15.,   45.,   75.,  105.,  135.,  165.,  210.,  270.,  330., 420.,  540.,  750., 1050., 1350., 1650., 1950., 2250., 2550.]

n_ctrlint

Number of B-Spline control points. If None, then one control point every six timepoints will be used. The less control points, the smoother is the model.

fit_predict(index: int | None = None, **kwargs) ndarray | None[source]

Return the corrected volume using B-spline interpolation.

property is_fitted: bool
nifreeze.model.pet.TIMEPOINT_XLIM_DATA_MISSING_ERROR_MSG = "'timepoints' and 'xlim' must be specified, found: {timepoints} and {xlim}."

PET model underspecification error.