public class CellRandomAccess<T extends NativeType<T>,C extends Cell<?>> extends AbstractLocalizable implements RandomAccess<T>, AbstractCellImg.CellImgSampler<C>
RandomAccess
on a AbstractCellImg
.
The boundaries of the current cell are cached, so that position changes
within the same cell have minimal overhead.Modifier and Type | Field and Description |
---|---|
protected int[] |
cellDims |
protected long[] |
currentCellMax |
protected long[] |
currentCellMin |
protected int[] |
currentCellSteps |
protected long[] |
dimensions |
protected CellGrid |
grid |
protected int |
index
The current index of the type.
|
protected boolean |
isOutOfBounds |
protected long[] |
oobCellMax |
protected long[] |
oobCellMin |
protected RandomAccess<C> |
randomAccessOnCells |
protected T |
type |
protected Index |
typeIndex |
position
n
Modifier | Constructor and Description |
---|---|
|
CellRandomAccess(AbstractCellImg<T,?,C,?> img) |
protected |
CellRandomAccess(CellRandomAccess<T,C> randomAccess) |
Modifier and Type | Method and Description |
---|---|
void |
bck(int d)
Move by -1 in one dimension.
|
CellRandomAccess<T,C> |
copy() |
CellRandomAccess<T,C> |
copyRandomAccess() |
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. |
C |
getCell() |
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 localizable)
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 |
setPosition(int[] pos)
Set the position of the element.
|
void |
setPosition(int pos,
int d)
Set the position of the element for one dimension.
|
void |
setPosition(Localizable localizable)
Place the element at the same location as a given
Localizable |
void |
setPosition(long[] pos)
Set the position of the element.
|
void |
setPosition(long pos,
int d)
Set the position of the element for one dimension.
|
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, localize
numDimensions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setPositionAndGet, setPositionAndGet, setPositionAndGet
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, positionAsLongArray, positionAsPoint
localize, localize, localize, positionAsDoubleArray, positionAsRealPoint
numDimensions
protected final T extends NativeType<T> type
protected final Index typeIndex
protected final CellGrid grid
protected final RandomAccess<C extends Cell<?>> randomAccessOnCells
protected final int[] cellDims
protected final long[] dimensions
protected int[] currentCellSteps
protected long[] currentCellMin
protected long[] currentCellMax
protected boolean isOutOfBounds
protected final long[] oobCellMin
protected final long[] oobCellMax
protected int index
protected CellRandomAccess(CellRandomAccess<T,C> randomAccess)
public CellRandomAccess(AbstractCellImg<T,?,C,?> img)
public C getCell()
getCell
in interface AbstractCellImg.CellImgSampler<C extends Cell<?>>
public T get()
Sampler
Sampler
points at.get
in interface Sampler<T extends NativeType<T>>
public CellRandomAccess<T,C> copy()
copy
in interface Sampler<T extends NativeType<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 CellRandomAccess<T,C> copyRandomAccess()
copyRandomAccess
in interface RandomAccess<T extends NativeType<T>>
public 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(Localizable localizable)
Positionable
Localizable
as distance vector.move
in interface Positionable
localizable
- 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 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(Localizable localizable)
Positionable
Localizable
setPosition
in interface Positionable
localizable
- absolute position, EuclideanSpace.numDimensions()
must be
≥ EuclideanSpace.numDimensions()
public void setPosition(int[] pos)
Positionable
setPosition
in interface Positionable
pos
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
public void setPosition(long[] pos)
Positionable
setPosition
in interface Positionable
pos
- absolute position, length must be ≥
EuclideanSpace.numDimensions()
Copyright © 2015–2022 ImgLib2. All rights reserved.