T
- the pixel typepublic class NearestNeighborRealRandomAccessibleStackInterpolator<T> extends AbstractEuclideanSpace implements RealRandomAccess<T>
RealRandomAccessible
s.
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 RealRandomAccess
es are created on demand but stored for
later re-use.
Modifier and Type | Field and Description |
---|---|
protected int |
lastSliceIndex |
protected double[] |
position |
protected int |
sd |
protected RealRandomAccess<T> |
sliceAccess |
protected RealRandomAccess<T>[] |
sliceAccesses |
protected int |
sliceIndex |
protected RealRandomAccessible<T>[] |
slices |
n
Modifier | Constructor and Description |
---|---|
|
NearestNeighborRealRandomAccessibleStackInterpolator(List<RealRandomAccessible<T>> slices) |
protected |
NearestNeighborRealRandomAccessibleStackInterpolator(NearestNeighborRealRandomAccessibleStackInterpolator<T> a) |
|
NearestNeighborRealRandomAccessibleStackInterpolator(RealRandomAccessible<T>[] slices) |
Modifier and Type | Method and Description |
---|---|
void |
bck(int d)
Move by -1 in one dimension.
|
NearestNeighborRealRandomAccessibleStackInterpolator<T> |
copy() |
NearestNeighborRealRandomAccessibleStackInterpolator<T> |
copyRealRandomAccess() |
void |
fwd(int d)
Move by 1 in one dimension.
|
T |
get()
Access the actual T instance providing access to a pixel,
sub-pixel or integral region value the
Sampler points at. |
double |
getDoublePosition(int d)
Return the current position in a given dimension.
|
float |
getFloatPosition(int d)
Return the current position in a given dimension.
|
protected RealRandomAccess<T> |
getOrCreateAccess(int i) |
protected int |
getSliceIndex(double position) |
void |
localize(double[] position)
Write the current position into the passed array.
|
void |
localize(float[] position)
Write the current position into the passed array.
|
void |
move(double[] distance)
Move the element relative to its current location using a float[] as
distance vector.
|
void |
move(double distance,
int d)
Move the element in one dimension for some distance.
|
void |
move(float[] distance)
Move the element relative to its current location using a float[] as
distance vector.
|
void |
move(float distance,
int d)
Move the element in one dimension for some distance.
|
void |
move(int[] distance)
Move the element relative to its current location using an int[] as
distance vector.
|
void |
move(int distance,
int d)
Move the element in one dimension for some distance.
|
void |
move(Localizable distance)
Move the element relative to its current location using an
Localizable as distance vector. |
void |
move(long[] distance)
Move the element relative to its current location using a long[] as
distance vector.
|
void |
move(long distance,
int d)
Move the element in one dimension for some distance.
|
void |
move(RealLocalizable distance)
Move the element relative to its current location using a
RealLocalizable as distance vector. |
void |
setPosition(double[] position)
Set the position of the element.
|
void |
setPosition(double pos,
int d)
Set the position of the element for one dimension.
|
void |
setPosition(float[] position)
Set the position of the element.
|
void |
setPosition(float pos,
int d)
Set the position of the element for one dimension.
|
void |
setPosition(int[] position)
Set the position of the element.
|
void |
setPosition(int pos,
int d)
Set the position of the element for one dimension.
|
void |
setPosition(Localizable position)
Place the element at the same location as a given
Localizable |
void |
setPosition(long[] position)
Set the position of the element.
|
void |
setPosition(long pos,
int d)
Set the position of the element for one dimension.
|
void |
setPosition(RealLocalizable position)
Place the element at the same location as a given
RealLocalizable |
protected void |
setSlice(int i) |
protected void |
updateSlice(int i) |
numDimensions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setPositionAndGet, setPositionAndGet, setPositionAndGet
localize, positionAsDoubleArray, positionAsRealPoint
numDimensions
protected final double[] position
protected final int sd
protected RealRandomAccess<T> sliceAccess
protected final RealRandomAccessible<T>[] slices
protected final RealRandomAccess<T>[] sliceAccesses
protected int sliceIndex
protected final int lastSliceIndex
public NearestNeighborRealRandomAccessibleStackInterpolator(RealRandomAccessible<T>[] slices)
public NearestNeighborRealRandomAccessibleStackInterpolator(List<RealRandomAccessible<T>> slices)
protected NearestNeighborRealRandomAccessibleStackInterpolator(NearestNeighborRealRandomAccessibleStackInterpolator<T> a)
protected int getSliceIndex(double position)
protected RealRandomAccess<T> getOrCreateAccess(int i)
protected void setSlice(int i)
protected void updateSlice(int i)
public void localize(float[] position)
RealLocalizable
localize
in interface RealLocalizable
position
- receives current positionpublic void localize(double[] position)
RealLocalizable
localize
in interface RealLocalizable
position
- receives current positionpublic float getFloatPosition(int d)
RealLocalizable
getFloatPosition
in interface RealLocalizable
d
- dimensionpublic double getDoublePosition(int d)
RealLocalizable
getDoublePosition
in interface RealLocalizable
d
- dimensionpublic void fwd(int d)
Positionable
fwd
in interface Positionable
d
- dimensionpublic void bck(int d)
Positionable
bck
in interface Positionable
d
- dimensionpublic void move(int distance, int d)
Positionable
move
in interface Positionable
distance
- relative offset in dimension dd
- dimensionpublic void move(long distance, int d)
Positionable
move
in interface Positionable
distance
- relative offset in dimension dd
- dimensionpublic void move(float distance, int d)
RealPositionable
move
in interface RealPositionable
public void move(double distance, int d)
RealPositionable
move
in interface RealPositionable
public void move(RealLocalizable distance)
RealPositionable
RealLocalizable
as distance vector.move
in interface RealPositionable
distance
- relative offset, EuclideanSpace.numDimensions()
must
be ≥ EuclideanSpace.numDimensions()
public void move(Localizable distance)
Positionable
Localizable
as distance vector.move
in interface Positionable
distance
- relative offset, EuclideanSpace.numDimensions()
must be
≥ EuclideanSpace.numDimensions()
public void move(int[] distance)
Positionable
move
in interface Positionable
distance
- relative offset, length must be ≥ EuclideanSpace.numDimensions()
public void move(long[] distance)
Positionable
move
in interface Positionable
distance
- relative offset, length must be ≥ EuclideanSpace.numDimensions()
public void move(double[] distance)
RealPositionable
move
in interface RealPositionable
public void move(float[] distance)
RealPositionable
move
in interface RealPositionable
public void setPosition(Localizable position)
Positionable
Localizable
setPosition
in interface Positionable
position
- absolute position, EuclideanSpace.numDimensions()
must be
≥ EuclideanSpace.numDimensions()
public void setPosition(RealLocalizable position)
RealPositionable
RealLocalizable
setPosition
in interface RealPositionable
position
- absolute position, EuclideanSpace.numDimensions()
must be ≥ EuclideanSpace.numDimensions()
public void setPosition(int[] position)
Positionable
setPosition
in interface Positionable
position
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
public void setPosition(long[] position)
Positionable
setPosition
in interface Positionable
position
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
public void setPosition(double[] position)
RealPositionable
setPosition
in interface RealPositionable
position
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
public void setPosition(float[] position)
RealPositionable
setPosition
in interface RealPositionable
position
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
public void setPosition(int pos, int d)
Positionable
setPosition
in interface Positionable
pos
- absolute position in dimension dd
- dimensionpublic void setPosition(long pos, int d)
Positionable
setPosition
in interface Positionable
pos
- absolute position in dimension dd
- dimensionpublic void setPosition(float pos, int d)
RealPositionable
setPosition
in interface RealPositionable
public void setPosition(double pos, int d)
RealPositionable
setPosition
in interface RealPositionable
public T get()
Sampler
Sampler
points at.public NearestNeighborRealRandomAccessibleStackInterpolator<T> copy()
copy
in interface Sampler<T>
Sampler
in the same state accessing the same
values.
It does NOT copy T, just the state of the Sampler
.
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 an
ArrayCursor
for example)public NearestNeighborRealRandomAccessibleStackInterpolator<T> copyRealRandomAccess()
copyRealRandomAccess
in interface RealRandomAccess<T>
Copyright © 2015–2022 ImgLib2. All rights reserved.