Class LanczosInterpolator<T extends RealType<T>>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.position.transform.AbstractPositionableTransform<LocalizablePositionable>
-
- net.imglib2.position.transform.FloorOffset<RandomAccess<T>>
-
- net.imglib2.interpolation.randomaccess.LanczosInterpolator<T>
-
- All Implemented Interfaces:
EuclideanSpace,Positionable,RealLocalizable,RealPositionable,RealRandomAccess<T>,Sampler<T>,Typed<T>
public class LanczosInterpolator<T extends RealType<T>> extends FloorOffset<RandomAccess<T>> implements RealRandomAccess<T>
n-dimensional double-based Lanczos Interpolation
-
-
Field Summary
Fields Modifier and Type Field Description protected intalphaprotected booleanclipprotected TinterpolatedValueprotected double[]lutprotected static intlutScaleprotected long[]maxprotected doublemaxValueprotected doubleminValueprotected static doublepiSquareprotected double[]productsprotected long[]size-
Fields inherited from class net.imglib2.position.transform.FloorOffset
offset
-
Fields inherited from class net.imglib2.position.transform.AbstractPositionableTransform
discrete, position, target
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Constructor Description LanczosInterpolator(LanczosInterpolator<T> interpolator)LanczosInterpolator(RandomAccessible<T> randomAccessible, int alpha, boolean clip, double min, double max)Creates a new Lanczos-interpolation
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaccumulate(int d)RealRandomAccess<T>copy()private static double[]createLanczosLUT(int max, int scale)private static long[]createOffset(int a, int n)Tget()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.TgetType()Get an instance ofT.private static doublelanczos(double x, double a)private doublelookUpLanczos(double x)protected voidresetKernel()-
Methods inherited from class net.imglib2.position.transform.FloorOffset
f, f, f, f, f, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
-
Methods inherited from class net.imglib2.position.transform.AbstractPositionableTransform
bck, fwd, getDoublePosition, getFloatPosition, localize, localize, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition, toString
-
Methods inherited from class net.imglib2.AbstractEuclideanSpace
numDimensions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.imglib2.EuclideanSpace
numDimensions
-
Methods inherited from interface net.imglib2.Positionable
bck, fwd, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
-
Methods inherited from interface net.imglib2.RealLocalizable
getDoublePosition, getFloatPosition, localize, localize, localize, positionAsDoubleArray, positionAsRealPoint
-
Methods inherited from interface net.imglib2.RealPositionable
move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition
-
Methods inherited from interface net.imglib2.RealRandomAccess
copyRealRandomAccess, setPositionAndGet, setPositionAndGet, setPositionAndGet
-
-
-
-
Field Detail
-
piSquare
protected static final double piSquare
- See Also:
- Constant Field Values
-
lutScale
protected static final int lutScale
- See Also:
- Constant Field Values
-
alpha
protected final int alpha
-
size
protected final long[] size
-
max
protected final long[] max
-
minValue
protected final double minValue
-
maxValue
protected final double maxValue
-
clip
protected final boolean clip
-
lut
protected final double[] lut
-
products
protected final double[] products
-
-
Constructor Detail
-
LanczosInterpolator
public LanczosInterpolator(RandomAccessible<T> randomAccessible, int alpha, boolean clip, double min, double max)
Creates a new Lanczos-interpolation- Parameters:
randomAccessible- - theRandomAccessibleto work onalpha- - the radius of values to incorporate (typically 2 or 3)clip- - clips the value to range of theRealType, i.e. tests if the interpolated value is out of rangemin- - range for clipping (ignored if min==max)max- - range for clipping (ignored if min==max)
-
LanczosInterpolator
public LanczosInterpolator(LanczosInterpolator<T> interpolator)
-
-
Method Detail
-
createOffset
private static final long[] createOffset(int a, int n)
-
createLanczosLUT
private static final double[] createLanczosLUT(int max, int scale)
-
resetKernel
protected final void resetKernel()
-
accumulate
protected final void accumulate(int d)
-
get
public T get()
Description copied from interface:SamplerAccess the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.
-
getType
public T getType()
Description copied from interface:TypedGet an instance ofT.It should not be assumed that the returned
Tinstance is an independent copy. In particular, repeated calls togetType()may return the same instance.
-
lanczos
private static final double lanczos(double x, double a)
-
lookUpLanczos
private final double lookUpLanczos(double x)
-
copy
public RealRandomAccess<T> copy()
- Specified by:
copyin interfaceRealRandomAccess<T extends RealType<T>>- Specified by:
copyin interfaceSampler<T extends RealType<T>>- Returns:
- - A new
Samplerin the same state accessing the same values. It does NOT copy T, just the state of theSampler. Otherwise use T.copy() if available. Sampler.copy().get() == Sampler.get(), i.e. both hold the same value, not necessarily the same instance (this is the case for anArrayCursorfor example)
-
-