Package net.imglib2.img.planar
Class PlanarCursor<T extends NativeType<T>>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractCursorInt<T>
-
- net.imglib2.img.planar.PlanarCursor<T>
-
- Type Parameters:
T
-
- All Implemented Interfaces:
java.util.Iterator<T>
,Cursor<T>
,EuclideanSpace
,PlanarImg.PlanarContainerSampler
,Iterator
,Localizable
,RealCursor<T>
,RealLocalizable
,Sampler<T>
- Direct Known Subclasses:
PlanarCursor1D
,PlanarCursor2D
public class PlanarCursor<T extends NativeType<T>> extends AbstractCursorInt<T> implements PlanarImg.PlanarContainerSampler
Basic Iterator forPlanarContainers
- Author:
- Stephan Preibisch, Stephan Saalfeld
-
-
Field Summary
Fields Modifier and Type Field Description protected PlanarImg<T,?>
container
protected int
index
The current index of the type.protected int
lastIndex
protected int
lastSliceIndex
protected int
sliceIndex
protected T
type
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PlanarCursor(PlanarCursor<T> cursor)
PlanarCursor(PlanarImg<T,?> container)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlanarCursor<T>
copy()
PlanarCursor<T>
copyCursor()
void
fwd()
Move forward.T
get()
Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSampler
points at.int
getCurrentSliceIndex()
int
getIntPosition(int dim)
Return the current position in a given dimension.boolean
hasNext()
Note: This test is fragile in a sense that it returns true for elements after the last element as well.void
jumpFwd(long steps)
Highly recommended to override this with a more efficient version.void
localize(int[] position)
Write the current position into the passed array.void
reset()
Reset theIterator
, that is put it to where it would be if newly created.java.lang.String
toString()
-
Methods inherited from class net.imglib2.AbstractCursorInt
getDoublePosition, getFloatPosition, getLongPosition, localize, localize, localize, next, remove
-
Methods inherited from class net.imglib2.AbstractEuclideanSpace
numDimensions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.imglib2.EuclideanSpace
numDimensions
-
-
-
-
Field Detail
-
type
protected final T extends NativeType<T> type
-
container
protected final PlanarImg<T extends NativeType<T>,?> container
-
lastIndex
protected final int lastIndex
-
lastSliceIndex
protected final int lastSliceIndex
-
sliceIndex
protected int sliceIndex
-
index
protected int index
The current index of the type. It is faster to duplicate this here than to access it through type.getIndex().
-
-
Constructor Detail
-
PlanarCursor
protected PlanarCursor(PlanarCursor<T> cursor)
-
-
Method Detail
-
getCurrentSliceIndex
public int getCurrentSliceIndex()
- Specified by:
getCurrentSliceIndex
in interfacePlanarImg.PlanarContainerSampler
- Returns:
- the index of the slice the sampler is currently accessing.
-
get
public T get()
Description copied from interface:Sampler
Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSampler
points at.- Specified by:
get
in interfaceSampler<T extends NativeType<T>>
-
copy
public PlanarCursor<T> copy()
- Specified by:
copy
in interfaceSampler<T extends NativeType<T>>
- Specified by:
copy
in classAbstractCursorInt<T extends NativeType<T>>
- Returns:
- - A new
Sampler
in 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 anArrayCursor
for example)
-
copyCursor
public PlanarCursor<T> copyCursor()
- Specified by:
copyCursor
in interfaceCursor<T extends NativeType<T>>
- Specified by:
copyCursor
in interfaceRealCursor<T extends NativeType<T>>
- Specified by:
copyCursor
in classAbstractCursorInt<T extends NativeType<T>>
-
hasNext
public boolean hasNext()
Note: This test is fragile in a sense that it returns true for elements after the last element as well.- Specified by:
hasNext
in interfacejava.util.Iterator<T extends NativeType<T>>
- Specified by:
hasNext
in interfaceIterator
- Returns:
- false for the last element
-
fwd
public void fwd()
Description copied from interface:Iterator
Move forward.
-
jumpFwd
public void jumpFwd(long steps)
Description copied from class:AbstractCursorInt
Highly recommended to override this with a more efficient version.- Specified by:
jumpFwd
in interfaceIterator
- Overrides:
jumpFwd
in classAbstractCursorInt<T extends NativeType<T>>
- Parameters:
steps
- number of steps to move forward
-
reset
public void reset()
Description copied from interface:Iterator
Reset theIterator
, that is put it to where it would be if newly created.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractCursorInt<T extends NativeType<T>>
-
localize
public void localize(int[] position)
Description copied from interface:Localizable
Write the current position into the passed array.- Specified by:
localize
in interfaceLocalizable
- Parameters:
position
- receives current position
-
getIntPosition
public int getIntPosition(int dim)
Description copied from interface:Localizable
Return the current position in a given dimension.- Specified by:
getIntPosition
in interfaceLocalizable
- Parameters:
dim
- dimension- Returns:
- dimension of current position
-
-