Package net.imglib2.img.cell
Class CellRandomAccess<T extends NativeType<T>,C extends Cell<?>>
java.lang.Object
net.imglib2.AbstractEuclideanSpace
net.imglib2.AbstractLocalizable
net.imglib2.img.cell.CellRandomAccess<T,C>
- All Implemented Interfaces:
EuclideanSpace,AbstractCellImg.CellImgSampler<C>,Localizable,Positionable,RandomAccess<T>,RealLocalizable,Sampler<T>
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.- Author:
- Tobias Pietzsch
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final int[]protected long[]protected long[]protected int[]protected final long[]protected final CellGridprotected intThe current index of the type.protected booleanprotected final long[]protected final long[]protected final RandomAccess<C> protected final TFields inherited from class net.imglib2.AbstractLocalizable
positionFields inherited from class net.imglib2.AbstractEuclideanSpace
n -
Constructor Summary
ConstructorsModifierConstructorDescriptionCellRandomAccess(AbstractCellImg<T, ?, C, ?> img) protectedCellRandomAccess(CellRandomAccess<T, C> randomAccess) -
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.getCell()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 localizable) Move the element relative to its current location using anLocalizableas distance vector.voidsetPosition(int[] pos) Set the position of the element.voidsetPosition(int pos, int d) Set the position of the element for one dimension.voidsetPosition(long[] pos) Set the position of the element.voidsetPosition(long pos, int d) Set the position of the element for one dimension.voidsetPosition(Localizable localizable) Place the element at the same location as a givenLocalizableMethods inherited from class net.imglib2.AbstractLocalizable
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, localizeMethods inherited from class net.imglib2.AbstractEuclideanSpace
numDimensionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.imglib2.EuclideanSpace
numDimensionsMethods inherited from interface net.imglib2.Localizable
getIntPosition, getLongPosition, localize, localizeMethods inherited from interface net.imglib2.RealLocalizable
getDoublePosition, getFloatPosition, localize, localize
-
Field Details
-
type
-
grid
-
randomAccessOnCells
-
cellDims
protected final int[] cellDims -
dimensions
protected final long[] dimensions -
currentCellSteps
protected int[] currentCellSteps -
currentCellMin
protected long[] currentCellMin -
currentCellMax
protected long[] currentCellMax -
isOutOfBounds
protected boolean isOutOfBounds -
oobCellMin
protected final long[] oobCellMin -
oobCellMax
protected final long[] oobCellMax -
index
protected int indexThe current index of the type. It is faster to duplicate this here than to access it through type.getIndex().
-
-
Constructor Details
-
CellRandomAccess
-
CellRandomAccess
-
-
Method Details
-
getCell
- Specified by:
getCellin interfaceAbstractCellImg.CellImgSampler<T extends NativeType<T>>- Returns:
- the cell the sampler is currently in.
-
get
Description copied from interface:SamplerAccess the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.- Specified by:
getin interfaceSampler<T extends NativeType<T>>
-
copy
- Specified by:
copyin interfaceSampler<T extends NativeType<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)
-
copyRandomAccess
- Specified by:
copyRandomAccessin interfaceRandomAccess<T extends NativeType<T>>
-
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
Description copied from interface:PositionableMove the element relative to its current location using anLocalizableas distance vector.- Specified by:
movein interfacePositionable- Parameters:
localizable- 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()
-
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
Description copied from interface:PositionablePlace the element at the same location as a givenLocalizable- Specified by:
setPositionin interfacePositionable- Parameters:
localizable- absolute position,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int[] pos) Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(long[] pos) Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position, length must be ≥EuclideanSpace.numDimensions()
-