public abstract class ExplicitDiffusionScheme2D<T extends RealType<T>> extends ExplicitDiffusionScheme<T>
D, imgFactory, increment, input, tensorComponentDimensionprocessingTimeerrorMessage, numThreads| Constructor and Description | 
|---|
| ExplicitDiffusionScheme2D(RandomAccessibleInterval<T> input,
                         RandomAccessibleInterval<FloatType> D) | 
| ExplicitDiffusionScheme2D(RandomAccessibleInterval<T> input,
                         RandomAccessibleInterval<FloatType> D,
                         ImgFactory<FloatType> imgFactory) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | checkInput() | 
| protected abstract float | diffusionScheme(float[] U,
               float[][] D)Compute the float increment of the current location, for which is given
 the density neighborhood and the diffusion tensor neighborhood. | 
| protected float[] | initDensityArray() | 
| protected float[][] | initDiffusionTensorArray() | 
| protected void | yieldDensity(RandomAccess<T> ura,
            float[] target)Iterate over a 3x3 XY neighborhood around the current  RandomAccesslocation 
 for the input image, and store the 9 values as float in an array, in the following order: | 
| protected void | yieldDiffusionTensor(RandomAccess<FloatType> dra,
                    float[][] target)Iterate over a 3x3 XY neighborhood around the current  RandomAccesslocation
 for the diffusion tensor, and store the 15 values of interest as a 2D float array, 
 in the following order: | 
getDiffusionTensor, getIncrement, process, setDiffusionTensorgetProcessingTimegetErrorMessage, getNumThreads, setNumThreads, setNumThreadspublic ExplicitDiffusionScheme2D(RandomAccessibleInterval<T> input, RandomAccessibleInterval<FloatType> D)
public ExplicitDiffusionScheme2D(RandomAccessibleInterval<T> input, RandomAccessibleInterval<FloatType> D, ImgFactory<FloatType> imgFactory)
protected abstract float diffusionScheme(float[] U,
                                         float[][] D)
diffusionScheme in class ExplicitDiffusionScheme<T extends RealType<T>>U - the density neighborhoodD - the diffusion tensor neighborhoodyieldDensity(RandomAccess, float[]), 
yieldDiffusionTensor(RandomAccess, float[][])public boolean checkInput()
checkInput in interface AlgorithmcheckInput in class ExplicitDiffusionScheme<T extends RealType<T>>protected float[] initDensityArray()
initDensityArray in class ExplicitDiffusionScheme<T extends RealType<T>>protected float[][] initDiffusionTensorArray()
initDiffusionTensorArray in class ExplicitDiffusionScheme<T extends RealType<T>>protected final void yieldDensity(RandomAccess<T> ura, float[] target)
RandomAccess location 
 for the input image, and store the 9 values as float in an array, in the following order:
 
        8       1       2  
        7       0       3 → towards positive Xs
        6       5       4
                ↓ towards positive Ys
 yieldDensity in class ExplicitDiffusionScheme<T extends RealType<T>>ura - the RandomAccesstarget - the float array in which the value will be storedprotected final void yieldDiffusionTensor(RandomAccess<FloatType> dra, float[][] target)
RandomAccess location
 for the diffusion tensor, and store the 15 values of interest as a 2D float array, 
 in the following order:
 If at each point the diffusion tensor can be written:
A B B Cand if a 3x3 CY neighborhood can be described by c (center), p (plus one), m (minus one), then the target array will be:
        index   0       1       2       3       4       5       6       7       8
        0:      Acc     Apc     Amc
        1:      Bcc     Bcm     Bpm     Bpc     Bpp     Bcp     Bmp     Bmc     Bmm
        2:      Ccc     Ccm     Ccp
 yieldDiffusionTensor in class ExplicitDiffusionScheme<T extends RealType<T>>dra - target - Copyright © 2015–2022 ImgLib2. All rights reserved.