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 |
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
getIntPosition, getLongPosition, localize, localize
getDoublePosition, getFloatPosition, localize, localize
numDimensions
protected final T extends NativeType<T> type
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 © 2009–2018 ImgLib2. All rights reserved.