Skip to content

binding

binding

T1 mapping binding adapters for the shared fitting infrastructure.

BoundSPGRModel and BoundLookLockerModel wrap the corresponding signal models together with their fixed independent variables (flip angles / TR, inversion times), producing FittableModel instances that the shared LevenbergMarquardtFitter can use.

Both provide analytical Jacobians for efficient convergence.

BoundSPGRModel

BoundSPGRModel(model, flip_angles_rad, tr, fixed=None)

Bases: BaseBoundModel

SPGR model with flip angles and TR bound.

Wraps an SPGRSignalModel so the fitter only sees free parameters [T1, M0].

PARAMETER DESCRIPTION
model

SPGR signal model.

TYPE: SPGRSignalModel

flip_angles_rad

Flip angles in radians.

TYPE: NDArray

tr

Repetition time in milliseconds.

TYPE: float

fixed

Parameters to fix at constant values during fitting.

TYPE: dict[str, float] | None DEFAULT: None

ensure_device

ensure_device(xp)

Transfer flip angle arrays to the target device.

predict_array_batch

predict_array_batch(free_params_batch, xp)

Predict SPGR signal for a batch of voxels.

PARAMETER DESCRIPTION
free_params_batch

Free parameter values, shape (n_free, n_voxels).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Predicted signal, shape (n_fa, n_voxels).

get_initial_guess_batch

get_initial_guess_batch(observed_batch, xp)

Get initial parameter guesses from data.

Uses T1=1000 ms and M0=2*max(signal) as defaults.

PARAMETER DESCRIPTION
observed_batch

Observed data, shape (n_fa, n_voxels).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Initial guesses, shape (n_free, n_voxels).

compute_jacobian_batch

compute_jacobian_batch(params_batch, _predicted, xp)

Compute analytical Jacobian for SPGR model.

PARAMETER DESCRIPTION
params_batch

Free parameter values, shape (n_free, n_voxels).

TYPE: NDArray

_predicted

Predicted signal (unused, Jacobian computed from params).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Jacobian, shape (n_free, n_fa, n_voxels).

BoundLookLockerModel

BoundLookLockerModel(model, ti_times, fixed=None)

Bases: BaseBoundModel

Look-Locker model with inversion times bound.

Wraps a LookLockerSignalModel so the fitter only sees free parameters [T1_star, A, B].

PARAMETER DESCRIPTION
model

Look-Locker signal model.

TYPE: LookLockerSignalModel

ti_times

Inversion times in milliseconds.

TYPE: NDArray

fixed

Parameters to fix at constant values during fitting.

TYPE: dict[str, float] | None DEFAULT: None

ensure_device

ensure_device(xp)

Transfer TI times array to the target device.

predict_array_batch

predict_array_batch(free_params_batch, xp)

Predict Look-Locker signal for a batch of voxels.

S(TI) = A - B * exp(-TI / T1*)

PARAMETER DESCRIPTION
free_params_batch

Free parameter values, shape (n_free, n_voxels).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Predicted signal, shape (n_ti, n_voxels).

get_initial_guess_batch

get_initial_guess_batch(observed_batch, xp)

Get initial parameter guesses from data.

Uses T1*=median(TI), A=max(S), B=max(S)+min(S).

PARAMETER DESCRIPTION
observed_batch

Observed data, shape (n_ti, n_voxels).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Initial guesses, shape (n_free, n_voxels).

compute_jacobian_batch

compute_jacobian_batch(params_batch, _predicted, xp)

Compute analytical Jacobian for Look-Locker model.

PARAMETER DESCRIPTION
params_batch

Free parameter values, shape (n_free, n_voxels).

TYPE: NDArray

_predicted

Predicted signal (unused, Jacobian computed from params).

TYPE: NDArray

xp

Array module.

TYPE: module

RETURNS DESCRIPTION
NDArray

Jacobian, shape (n_free, n_ti, n_voxels).