Class EstimateTensorLLMSE
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.DTI_FrameWork.EstimateTensorLLMSE
-
public class EstimateTensorLLMSE extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
detailedDebugging
-
Constructor Summary
Constructors Constructor Description EstimateTensorLLMSE()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static float[][][][]
estimate(float[][][][] DWdata, double[] bvalues, double[][] grads, byte[][][] mask, boolean usePartialEstimates)
estimate Use LLMSE to estimate tensors from DW imaging data on a voxel-wise basis.static ModelImage
estimate(ModelImage image, ModelImage maskImage, boolean usePartialEstimates)
Uses LLMSE to estimate tensors from DW imaging data on a voxel-wise basis.static ModelImage
estimate(ModelImage dwiImage, ModelImage mask, WildMagic.LibFoundation.Mathematics.GMatrixd matrix, boolean usePartialEstimates)
static void
estimateBallAndStickCamino(float[][][][] DWdata, byte[][][] mask, inverters.BallStickInversion dtiFit, float[][][][] ballDiff, float[][][][] ballFrac, float[][][][] stickVec, float[][][][] exitcode, float[][][][] intensity)
private static void
estimateCamino(float[][][][] DWdata, byte[][][] mask, int dtiType, imaging.DW_Scheme scheme, inverters.DT_Inversion dtiFit, float[][][][] tensors, float[][][][] exitcode, float[][][][] intensity)
static ModelImage
estimateCamino(ModelImage image, ModelImage maskImage, int dtiType, boolean bSaveExitCode, boolean bDisplayExitCode, boolean bSaveIntensity, boolean bDisplayIntensity, java.lang.String kOutpuDir)
Uses Camino algorithms to estimate tensors from DW imaging data on a voxel-wise basis.static void
estimateCaminoRESTORE(float[][][][] DWdata, byte[][][] mask, float[][][] noiseField, float[][][][] tensors, float[][][][] exitcode, float[][][][] intensity, imaging.DW_Scheme DTIscheme)
static void
estimateCaminoThreeTensor(float[][][][] DWdata, byte[][][] mask, inverters.ThreeTensorInversion dtiFit, float[][][][] mix1, float[][][][] tensors1, float[][][][] mix2, float[][][][] tensors2, float[][][][] mix3, float[][][][] tensors3, float[][][][] exitcode, float[][][][] intensity)
static void
estimateCaminoTwoTensor(float[][][][] DWdata, byte[][][] mask, inverters.TwoTensorInversion dtiFit, float[][][][] mix1, float[][][][] tensors1, float[][][][] mix2, float[][][][] tensors2, float[][][][] exitcode, float[][][][] intensity)
private static WildMagic.LibFoundation.Mathematics.GMatrixd
getMatrix(DTIParameters dtiparams)
static void
main(java.lang.String[] args)
private static ModelImage
makeImage(float[][][][] values, java.lang.String name)
Creates and returns a ModelImage with the tensor data.private static ModelImage
makeTensorImage(float[][][][] tensors, float[][][][] exitCode, java.lang.String name)
Creates and returns a ModelImage with the tensor data.static boolean
test()
static boolean
test(int count)
-
-
-
Method Detail
-
estimate
public static float[][][][] estimate(float[][][][] DWdata, double[] bvalues, double[][] grads, byte[][][] mask, boolean usePartialEstimates)
estimate Use LLMSE to estimate tensors from DW imaging data on a voxel-wise basis. Inputs: DWdata - 4D matrix indexed by [x][y][z][dw] where x,y,z are spatial location and dw is diffusion sensitization. bvalues - a list [dw] of b-values indicating the diffusion sensitization for each volume in the 4th dimension of the input data >0 for DW=yes (in s/mm2) =0 for reference images <0 for volumes to ignore grads - a set of unit vectors [dw][3] indicating the diffusion weighting for each of the input volumes. Vectors corresponding to reference or ignored volumes are ignored. mask - a boolean mask [x][y][z] indicating which voxels in the volume show be used for tensor estimation. If mask is null, then all voxels are processed. usePartialEstimates - boolean true - if any DW data are infinity, NaN, negative or zero (i.e., impossible values) then these data points will be ignored and a tensor will be computed with the remaining data (provided that at least 6 valid DW values and a reference value are available) false - any voxels with any missing DW data are ignored. Output: return value - set of tensors [x][y][z][6], where the tensor coefficients are ordered by upper triangular convention, i.e., xx,xy,xz,yy,yz,zz Units are in mm2/s. Notes: Voxels for which no tensors are computer are reported as all NaN. Last updated: 8/13/2008 Bennett Landman.
-
estimate
public static ModelImage estimate(ModelImage dwiImage, ModelImage mask, WildMagic.LibFoundation.Mathematics.GMatrixd matrix, boolean usePartialEstimates)
-
estimate
public static ModelImage estimate(ModelImage image, ModelImage maskImage, boolean usePartialEstimates)
Uses LLMSE to estimate tensors from DW imaging data on a voxel-wise basis.- Parameters:
image
- input DWI images series 4DmaskImage
- input mask image (or null) 3DusePartialEstimates
- when true if any DW data are infinity, NaN, negative or zero (i.e., impossible values) then these data points will be ignored and a tensor will be computed with the remaining data (provided that at least 6 valid DW values and a reference value are available). When false - any voxels with any missing DW data are ignored.- Returns:
- ModelImage with tensor data.
-
estimateBallAndStickCamino
public static void estimateBallAndStickCamino(float[][][][] DWdata, byte[][][] mask, inverters.BallStickInversion dtiFit, float[][][][] ballDiff, float[][][][] ballFrac, float[][][][] stickVec, float[][][][] exitcode, float[][][][] intensity)
-
estimateCamino
private static void estimateCamino(float[][][][] DWdata, byte[][][] mask, int dtiType, imaging.DW_Scheme scheme, inverters.DT_Inversion dtiFit, float[][][][] tensors, float[][][][] exitcode, float[][][][] intensity)
-
estimateCamino
public static ModelImage estimateCamino(ModelImage image, ModelImage maskImage, int dtiType, boolean bSaveExitCode, boolean bDisplayExitCode, boolean bSaveIntensity, boolean bDisplayIntensity, java.lang.String kOutpuDir)
Uses Camino algorithms to estimate tensors from DW imaging data on a voxel-wise basis.- Parameters:
image
- input DWI images series 4DmaskImage
- input mask image (or null) 3DdtiType
- the type of estimation (Linear, Non-Linear, Restore, Weighted-Linear).
-
estimateCaminoRESTORE
public static void estimateCaminoRESTORE(float[][][][] DWdata, byte[][][] mask, float[][][] noiseField, float[][][][] tensors, float[][][][] exitcode, float[][][][] intensity, imaging.DW_Scheme DTIscheme)
-
estimateCaminoThreeTensor
public static void estimateCaminoThreeTensor(float[][][][] DWdata, byte[][][] mask, inverters.ThreeTensorInversion dtiFit, float[][][][] mix1, float[][][][] tensors1, float[][][][] mix2, float[][][][] tensors2, float[][][][] mix3, float[][][][] tensors3, float[][][][] exitcode, float[][][][] intensity)
-
estimateCaminoTwoTensor
public static void estimateCaminoTwoTensor(float[][][][] DWdata, byte[][][] mask, inverters.TwoTensorInversion dtiFit, float[][][][] mix1, float[][][][] tensors1, float[][][][] mix2, float[][][][] tensors2, float[][][][] exitcode, float[][][][] intensity)
-
main
public static void main(java.lang.String[] args)
-
test
public static boolean test()
-
test
public static boolean test(int count)
-
makeTensorImage
private static ModelImage makeTensorImage(float[][][][] tensors, float[][][][] exitCode, java.lang.String name)
Creates and returns a ModelImage with the tensor data.- Parameters:
tensors
- tensor dataname
- name of the ModelImage- Returns:
- new ModelImage.
-
makeImage
private static ModelImage makeImage(float[][][][] values, java.lang.String name)
Creates and returns a ModelImage with the tensor data.- Parameters:
tensors
- tensor dataname
- name of the ModelImage- Returns:
- new ModelImage.
-
getMatrix
private static WildMagic.LibFoundation.Mathematics.GMatrixd getMatrix(DTIParameters dtiparams)
-
-