Skip to content

svd_fitters

svd_fitters

SVD-based fitters for DSC deconvolution.

These fitters work with BoundDSCModel which pre-computes the SVD of the AIF convolution matrix. Each fitter implements a different regularization strategy.

SSVDFitter

SSVDFitter(threshold=0.2)

Bases: BaseFitter

Standard SVD fitter with truncation.

Uses a Toeplitz (causal) convolution matrix. The BoundDSCModel must be created with matrix_type='toeplitz' for correct results.

References

.. [1] Ostergaard L et al. MRM 1996;36(5):715-725.

fit_batch

fit_batch(model, observed_batch, bounds_override=None)

Fit a batch of voxels via standard SVD truncation.

PARAMETER DESCRIPTION
model

Bound DSC model with pre-computed SVD.

TYPE: FittableModel

observed_batch

Observed concentration curves, shape (n_timepoints, n_voxels).

TYPE: NDArray

bounds_override

Not used by SVD fitters; accepted for interface compatibility.

TYPE: dict or None DEFAULT: None

RETURNS DESCRIPTION
params

Fitted [CBF, MTT, Ta], shape (3, n_voxels).

TYPE: NDArray

r2

R-squared goodness-of-fit, shape (n_voxels,).

TYPE: NDArray

converged

Boolean convergence flags, shape (n_voxels,).

TYPE: NDArray

CSVDFitter

CSVDFitter(threshold=0.2)

Bases: BaseFitter

Circular SVD fitter with truncation.

Uses a block-circulant convolution matrix, making deconvolution insensitive to bolus arrival time delays.

References

.. [1] Wu O et al. MRM 2003;50(1):164-174.

fit_batch

fit_batch(model, observed_batch, bounds_override=None)

Fit a batch of voxels via circular SVD truncation.

PARAMETER DESCRIPTION
model

Bound DSC model with pre-computed SVD (circulant matrix).

TYPE: FittableModel

observed_batch

Observed concentration curves, shape (n_timepoints, n_voxels).

TYPE: NDArray

bounds_override

Not used by SVD fitters; accepted for interface compatibility.

TYPE: dict or None DEFAULT: None

RETURNS DESCRIPTION
params

Fitted [CBF, MTT, Ta], shape (3, n_voxels).

TYPE: NDArray

r2

R-squared goodness-of-fit, shape (n_voxels,).

TYPE: NDArray

converged

Boolean convergence flags, shape (n_voxels,).

TYPE: NDArray

OSVDFitter

OSVDFitter(oscillation_index=0.035, default_threshold=0.2)

Bases: BaseFitter

Oscillation-index SVD fitter.

Automatically selects the SVD truncation threshold per voxel to minimize oscillations in R(t) while preserving CBF estimates.

References

.. [1] Wu O et al. MRM 2003;50(1):164-174.

fit_batch

fit_batch(model, observed_batch, bounds_override=None)

Fit a batch of voxels via oscillation-index SVD.

Searches for the optimal per-voxel truncation threshold that minimizes the oscillation index of R(t) below the target value.

PARAMETER DESCRIPTION
model

Bound DSC model with pre-computed SVD (circulant matrix).

TYPE: FittableModel

observed_batch

Observed concentration curves, shape (n_timepoints, n_voxels).

TYPE: NDArray

bounds_override

Not used by SVD fitters; accepted for interface compatibility.

TYPE: dict or None DEFAULT: None

RETURNS DESCRIPTION
params

Fitted [CBF, MTT, Ta], shape (3, n_voxels).

TYPE: NDArray

r2

R-squared goodness-of-fit, shape (n_voxels,).

TYPE: NDArray

converged

Boolean convergence flags, shape (n_voxels,).

TYPE: NDArray

TikhonovFitter

TikhonovFitter(lambda_=0.1)

Bases: BaseFitter

Tikhonov regularization fitter for DSC deconvolution.

Uses Tikhonov filtering: filter_i = S_i / (S_i^2 + lambda^2) with optional L-curve criterion for lambda selection.

References

.. [1] Calamante F et al. MRM 2003;50(4):813-825.

fit_batch

fit_batch(model, observed_batch, bounds_override=None)

Fit a batch of voxels via Tikhonov-regularized SVD.

Applies Tikhonov filtering S_i / (S_i^2 + lambda^2) to the singular values for smooth residue function recovery.

PARAMETER DESCRIPTION
model

Bound DSC model with pre-computed SVD.

TYPE: FittableModel

observed_batch

Observed concentration curves, shape (n_timepoints, n_voxels).

TYPE: NDArray

bounds_override

Not used by SVD fitters; accepted for interface compatibility.

TYPE: dict or None DEFAULT: None

RETURNS DESCRIPTION
params

Fitted [CBF, MTT, Ta], shape (3, n_voxels).

TYPE: NDArray

r2

R-squared goodness-of-fit, shape (n_voxels,).

TYPE: NDArray

converged

Boolean convergence flags, shape (n_voxels,).

TYPE: NDArray