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
RandomAccess location
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
RandomAccess location
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.