Model¶
from mcot.dippi.model import Model
-
class
mcot.dippi.model.Model(shells: mcot.dippi.scan.MultiShell, T2=False, dual_phase=False, only_phase=False)[source]¶ Model to fit to the DIPPI data
-
__init__(shells: mcot.dippi.scan.MultiShell, T2=False, dual_phase=False, only_phase=False)[source]¶ Creates a new DIPPI model
- Parameters
shells – Describes the acquisition parameters
T2 – if True fit R2 and R2* instead of fitting each amplitude independently
dual_phase – if True fit unmyelinated and myelinated axons as separate compartments
only_phase – Ignore the biophysical model and just fit the phase difference between readouts for every dyad
Inheritance diagram

Methods
cost(parameters, data[, only_mag])Squared offset between the model signal and observed data
derivative(name)Computes the derivative with respect to a given parameter
func_args(parameters[, to_vary])Fills in the arguments for the numpy functions from self.:meth:funcs
funcs([derivative, only_mag])Return the model equations as numpy functions
get_cost(parameters, data, tofit[, only_mag])Returns a set of functions that allows for efficient evalution of the model during model optimisation
signal(parameters[, only_mag, split_fibres])Computes the signal given a set of parameters
-
cost¶
-
Model.cost(parameters: mcot.dippi.model.Parameters, data, only_mag=False)[source]¶ Squared offset between the model signal and observed data
- Parameters
parameters – set of model parameters
data – input data (list with for each shell the complex signal during first and second readout)
only_mag – if True only consider the magnitude rather than the complex signal
- Returns
total cost across all shells and readouts
derivative¶
func_args¶
-
Model.func_args(parameters: mcot.dippi.model.Parameters, to_vary=())[source]¶ Fills in the arguments for the numpy functions from self.:meth:funcs
- Parameters
parameters – current best estimate of the parameters
to_vary – names of the parameters that should not be filled in yet (None placeholder)
- Returns
for each shell a list of arguments (which are the same for the first and second readout)
funcs¶
-
Model.funcs(derivative=None, only_mag=False)[source]¶ Return the model equations as numpy functions
- Parameters
derivative – set to a name to return the derivative with respect to that parameter
only_mag – if True only compute the magnitude rather than the complex signal
- Returns
for each shell return a tuple with functions for the first and second readout signal (or its derivatives)
get_cost¶
-
Model.get_cost(parameters: mcot.dippi.model.Parameters, data, tofit, only_mag=False)[source]¶ Returns a set of functions that allows for efficient evalution of the model during model optimisation
Used internally by
singla_fit()and model_fit.- Parameters
parameters – initial set of parameters
data – input data (list with for each shell the complex signal during first and second readout)
tofit – sequence with parameter names to fit
only_mag – if True only fit the mangitude rather than the complex signal
- Returns
A tuple with:
function that given an array with current parameter values returns the cost and its derivatives
function that turns array of best-fit parameter values back into a Parameter object
array with initial parameter values
signal¶
-
Model.signal(parameters: mcot.dippi.model.Parameters, only_mag=False, split_fibres=False)[source]¶ Computes the signal given a set of parameters
- Parameters
parameters – set of model parameters
only_mag – if True return the magnitude rather than the complex signal
split_fibres – if True return the signal for each fibre population individually
- Returns
a list with for each shell the signal during the first and second readout