public abstract class ExplicitDiffusionScheme2D<T extends RealType<T>> extends ExplicitDiffusionScheme<T>
D, imgFactory, increment, input, tensorComponentDimension
processingTime
errorMessage, 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, setDiffusionTensor
getProcessingTime
getErrorMessage, getNumThreads, setNumThreads, setNumThreads
public 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 Algorithm
checkInput
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 RandomAccess
target
- 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.