public class DiffTensorFitter extends TensorModelFitter
MarquardtChiSqFitter
to provide
a Levenburg-Marquardt algorithm for fitting a diffusion tensor to DW-MR
measurements. The fitter fits the model to the normalized data directly
without taking logs, so that the noise statistics are less corrupted. The
diffusion tensor is constrained to be positive definite by optimizing the
parameters of its Cholesky decomposition.
Constructor and Description |
---|
DiffTensorFitter()
Default constructor.
|
DiffTensorFitter(double[][] indepVals,
double[] depVals,
double[] bValues,
int nob0s)
The number of unweighted acquisitions that are made (nob0s) is required to
estimate the noise levels of each data item.
|
Modifier and Type | Method and Description |
---|---|
DT |
getDiffTensor()
Returns the diffusion tensor represented by the current
parameter values.
|
void |
setStartPoint(double[] dtParams)
Sets the parameters to an alternative starting point.
|
fAndBetaToDT, fsAndBetasFromSingleDT, fsAndBetasThreeFromSingleDT, invX2P1
getG, newDepVals
getChiSq, getRelativeResidual, getResidual, getResiduals, setSig
getCONVERGETHRESH, getFObjVal, getParameters, minimise, setConvergence, setCONVERGETHRESH, setInitParams, setMAXITER
public DiffTensorFitter()
public DiffTensorFitter(double[][] indepVals, double[] depVals, double[] bValues, int nob0s) throws MarquardtMinimiserException
indepVals
- The matrix of non-zero gradient directions without the zero measurements.depVals
- The normalized measurements.bValues
- The array of b-values.nob0s
- The number of b=0 acquisitions.MarquardtMinimiserException
public void setStartPoint(double[] dtParams)
startDT
- An array with the format output by all DT
inversions: [exitcode lnA(0) Dxx Dxy Dxz Dyy Dyz Dzz]. The
optimization begins from the diffusion tensor it specifies.public DT getDiffTensor()