Class NearestNeighborRealRandomAccessibleStackInterpolator<T>
java.lang.Object
net.imglib2.AbstractEuclideanSpace
net.imglib2.interpolation.stack.NearestNeighborRealRandomAccessibleStackInterpolator<T>
- Type Parameters:
T- the pixel type
- All Implemented Interfaces:
EuclideanSpace, Positionable, RealLocalizable, RealPositionable, RealRandomAccess<T>, Sampler<T>, Typed<T>
- Direct Known Subclasses:
LinearRealRandomAccessibleStackInterpolator
public class NearestNeighborRealRandomAccessibleStackInterpolator<T>
extends AbstractEuclideanSpace
implements RealRandomAccess<T>
A nearest neighbor interpolator for stacks of
RealRandomAccessibles.
When changing any dimension of the position, except the (n+1)th,
this position change is applied to the active slice
RealRandomAccess. When changing the (n+1)th dimension of
the position, a new slice RealRandomAccess becomes active, is set to
the position of the previously active slice RealRandomAccess.
Initially, only a RealRandomAccess for the first slice is created,
other slice RealRandomAccesses are created on demand but stored for
later re-use.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected final double[]protected final intprotected RealRandomAccess<T> protected final RealRandomAccess<T>[]protected intprotected final RealRandomAccessible<T>[]Fields inherited from class AbstractEuclideanSpace
n -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedNearestNeighborRealRandomAccessibleStackInterpolator(NearestNeighborRealRandomAccessibleStackInterpolator<T> a) -
Method Summary
Modifier and TypeMethodDescriptionvoidbck(int d) Move by -1 in one dimension.copy()voidfwd(int d) Move by 1 in one dimension.get()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.doublegetDoublePosition(int d) Return the current position in a given dimension.floatgetFloatPosition(int d) Return the current position in a given dimension.protected RealRandomAccess<T> getOrCreateAccess(int i) protected intgetSliceIndex(double position) getType()Get an instance ofT.voidlocalize(double[] position) Write the current position into the passed array.voidlocalize(float[] position) Write the current position into the passed array.voidmove(double[] distance) Move the element relative to its current location using a float[] as distance vector.voidmove(double distance, int d) Move the element in one dimension for some distance.voidmove(float[] distance) Move the element relative to its current location using a float[] as distance vector.voidmove(float distance, int d) Move the element in one dimension for some distance.voidmove(int[] distance) Move the element relative to its current location using an int[] as distance vector.voidmove(int distance, int d) Move the element in one dimension for some distance.voidmove(long[] distance) Move the element relative to its current location using a long[] as distance vector.voidmove(long distance, int d) Move the element in one dimension for some distance.voidmove(Localizable distance) Move the element relative to its current location using anLocalizableas distance vector.voidmove(RealLocalizable distance) Move the element relative to its current location using aRealLocalizableas distance vector.voidsetPosition(double[] position) Set the position of the element.voidsetPosition(double pos, int d) Set the position of the element for one dimension.voidsetPosition(float[] position) Set the position of the element.voidsetPosition(float pos, int d) Set the position of the element for one dimension.voidsetPosition(int[] position) Set the position of the element.voidsetPosition(int pos, int d) Set the position of the element for one dimension.voidsetPosition(long[] position) Set the position of the element.voidsetPosition(long pos, int d) Set the position of the element for one dimension.voidsetPosition(Localizable position) Place the element at the same location as a givenLocalizablevoidsetPosition(RealLocalizable position) Place the element at the same location as a givenRealLocalizableprotected voidsetSlice(int i) protected voidupdateSlice(int i) Methods inherited from class AbstractEuclideanSpace
numDimensionsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface EuclideanSpace
numDimensionsMethods inherited from interface RealLocalizable
localize, positionAsDoubleArray, positionAsRealPointMethods inherited from interface RealRandomAccess
copyRealRandomAccess, setPositionAndGet, setPositionAndGet, setPositionAndGet
-
Field Details
-
position
protected final double[] position -
sd
protected final int sd -
sliceAccess
-
slices
-
sliceAccesses
-
sliceIndex
protected int sliceIndex -
lastSliceIndex
protected final int lastSliceIndex
-
-
Constructor Details
-
NearestNeighborRealRandomAccessibleStackInterpolator
-
NearestNeighborRealRandomAccessibleStackInterpolator
-
NearestNeighborRealRandomAccessibleStackInterpolator
protected NearestNeighborRealRandomAccessibleStackInterpolator(NearestNeighborRealRandomAccessibleStackInterpolator<T> a)
-
-
Method Details
-
getSliceIndex
protected int getSliceIndex(double position) -
getOrCreateAccess
-
setSlice
protected void setSlice(int i) -
updateSlice
protected void updateSlice(int i) -
localize
public void localize(float[] position) Description copied from interface:RealLocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
localize
public void localize(double[] position) Description copied from interface:RealLocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
getFloatPosition
public float getFloatPosition(int d) Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getFloatPositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getDoublePosition
public double getDoublePosition(int d) Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getDoublePositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
fwd
public void fwd(int d) Description copied from interface:PositionableMove by 1 in one dimension.- Specified by:
fwdin interfacePositionable- Parameters:
d- dimension
-
bck
public void bck(int d) Description copied from interface:PositionableMove by -1 in one dimension.- Specified by:
bckin interfacePositionable- Parameters:
d- dimension
-
move
public void move(int distance, int d) Description copied from interface:PositionableMove the element in one dimension for some distance.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset in dimension dd- dimension
-
move
public void move(long distance, int d) Description copied from interface:PositionableMove the element in one dimension for some distance.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset in dimension dd- dimension
-
move
public void move(float distance, int d) Description copied from interface:RealPositionableMove the element in one dimension for some distance.- Specified by:
movein interfaceRealPositionable- Parameters:
distance-d-
-
move
public void move(double distance, int d) Description copied from interface:RealPositionableMove the element in one dimension for some distance.- Specified by:
movein interfaceRealPositionable- Parameters:
distance-d-
-
move
Description copied from interface:RealPositionableMove the element relative to its current location using aRealLocalizableas distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
distance- relative offset,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
move
Description copied from interface:PositionableMove the element relative to its current location using anLocalizableas distance vector.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
move
public void move(int[] distance) Description copied from interface:PositionableMove the element relative to its current location using an int[] as distance vector.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(long[] distance) Description copied from interface:PositionableMove the element relative to its current location using a long[] as distance vector.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(double[] distance) Description copied from interface:RealPositionableMove the element relative to its current location using a float[] as distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
distance- , length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(float[] distance) Description copied from interface:RealPositionableMove the element relative to its current location using a float[] as distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
distance- , length must be ≥EuclideanSpace.numDimensions()
-
setPosition
Description copied from interface:PositionablePlace the element at the same location as a givenLocalizable- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
setPosition
Description copied from interface:RealPositionablePlace the element at the same location as a givenRealLocalizable- Specified by:
setPositionin interfaceRealPositionable- Parameters:
position- absolute position,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int[] position) Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(long[] position) Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(double[] position) Description copied from interface:RealPositionableSet the position of the element.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(float[] position) Description copied from interface:RealPositionableSet the position of the element.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int pos, int d) Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position in dimension dd- dimension
-
setPosition
public void setPosition(long pos, int d) Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position in dimension dd- dimension
-
setPosition
public void setPosition(float pos, int d) Description copied from interface:RealPositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
pos-d-
-
setPosition
public void setPosition(double pos, int d) Description copied from interface:RealPositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
pos-d-
-
get
-
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. -
copy
- Specified by:
copyin interfaceRealRandomAccess<T>- Specified by:
copyin interfaceSampler<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)
-