Package net.imglib2.img.cell
Class CellCursor<T extends NativeType<T>,C extends Cell<?>>
java.lang.Object
net.imglib2.AbstractEuclideanSpace
net.imglib2.AbstractCursor<T>
net.imglib2.img.cell.CellCursor<T,C>
- All Implemented Interfaces:
Iterator<T>,Cursor<T>,EuclideanSpace,AbstractCellImg.CellImgSampler<C>,Iterator,Localizable,RealCursor<T>,RealLocalizable,Sampler<T>,Typed<T>
public class CellCursor<T extends NativeType<T>,C extends Cell<?>>
extends AbstractCursor<T>
implements AbstractCellImg.CellImgSampler<C>
Cursor on a AbstractCellImg.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CellGridprotected final Indexprotected booleanCaches cursorOnCells.hasNext().protected intprivate final long[]protected final Tprotected intThe current index of the type.Fields inherited from class net.imglib2.AbstractEuclideanSpace
n -
Constructor Summary
ConstructorsModifierConstructorDescriptionCellCursor(AbstractCellImg<T, ?, C, ?> img) protectedCellCursor(CellCursor<T, C> cursor) -
Method Summary
Modifier and TypeMethodDescriptionCellCursor<T, C> copy()voidfwd()Move forward.get()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.getCell()longgetLongPosition(int dim) Return the current position in a given dimension.getType()Get an instance ofT.booleanhasNext()Returns true if another step forward is possible.voidjumpFwd(long steps) Move steps × forward.voidlocalize(long[] position) Write the current position into the passed array.private voidMove cursor right before the first element of the next cell.voidreset()Reset theIterator, that is put it to where it would be if newly created.toString()Methods inherited from class net.imglib2.AbstractCursor
getDoublePosition, getFloatPosition, getIntPosition, localize, localize, localizeMethods inherited from class net.imglib2.AbstractEuclideanSpace
numDimensionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.imglib2.Cursor
copyCursorMethods inherited from interface net.imglib2.EuclideanSpace
numDimensionsMethods inherited from interface java.util.Iterator
forEachRemaining, removeMethods inherited from interface net.imglib2.Localizable
localize, localize, positionAsLongArray, positionAsPointMethods inherited from interface net.imglib2.RealCursor
nextMethods inherited from interface net.imglib2.RealLocalizable
positionAsDoubleArray, positionAsRealPoint
-
Field Details
-
type
-
i
-
cursorOnCells
-
grid
-
lastIndexInCell
protected int lastIndexInCell -
typeIndex
protected int typeIndexThe current index of the type. It is faster to duplicate this here than to access it through type.getIndex(). -
isNotLastCell
protected boolean isNotLastCellCaches cursorOnCells.hasNext(). -
tmpIndices
private final long[] tmpIndices
-
-
Constructor Details
-
CellCursor
-
CellCursor
-
-
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>>
-
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.- Specified by:
getTypein interfaceSampler<T extends NativeType<T>>- Specified by:
getTypein interfaceTyped<T extends NativeType<T>>- Returns:
- an instance of
T
-
copy
- Specified by:
copyin interfaceCursor<T extends NativeType<T>>- Specified by:
copyin interfaceRealCursor<T extends NativeType<T>>- Specified by:
copyin interfaceSampler<T extends NativeType<T>>- Specified by:
copyin classAbstractCursor<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)
-
hasNext
public boolean hasNext()Description copied from interface:IteratorReturns true if another step forward is possible. -
jumpFwd
public void jumpFwd(long steps) Description copied from interface:IteratorMove steps × forward.Highly recommended to override this with a more efficient version.
-
fwd
public void fwd()Description copied from interface:IteratorMove forward. -
reset
public void reset()Description copied from interface:IteratorReset theIterator, that is put it to where it would be if newly created. -
toString
- Overrides:
toStringin classAbstractCursor<T extends NativeType<T>>
-
getLongPosition
public long getLongPosition(int dim) Description copied from interface:LocalizableReturn the current position in a given dimension.- Specified by:
getLongPositionin interfaceLocalizable- Parameters:
dim- dimension- Returns:
- dimension of current position
-
localize
public void localize(long[] position) Description copied from interface:LocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
moveToNextCell
private void moveToNextCell()Move cursor right before the first element of the next cell. Update type and index variables.
-