Class SlicingCursor<T>
java.lang.Object
net.imglib2.AbstractEuclideanSpace
net.imglib2.view.iteration.SlicingCursor<T>
- All Implemented Interfaces:
Iterator<T>, Cursor<T>, EuclideanSpace, Iterator, Localizable, RealCursor<T>, RealLocalizable, Sampler<T>, Typed<T>
Wrap a cursor that runs on a hyperslice and apply coordinate transform on
localize calls.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intnumber of dimensions of source Cursor, respectively numTargetDimensions of the Slicing transform.source Cursor.private final int[]for each component of the source vector: to which target vector component should it be taken.private final long[]Fields inherited from class AbstractEuclideanSpace
n -
Constructor Summary
ConstructorsModifierConstructorDescription(package private)SlicingCursor(Cursor<T> source, Slicing transformToSource) protectedSlicingCursor(SlicingCursor<T> cursor) -
Method Summary
Modifier and TypeMethodDescriptioncopy()voidfwd()Move forward.get()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.doublegetDoublePosition(int d) Return the current position in a given dimension.floatgetFloatPosition(int d) Return the current position in a given dimension.intgetIntPosition(int d) Return the current position in a given dimension.longgetLongPosition(int d) 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(double[] position) Write the current position into the passed array.voidlocalize(float[] position) Write the current position into the passed array.voidlocalize(int[] position) Write the current position into the passed array.voidlocalize(long[] position) Write the current position into the passed array.next()Default implementation, callsIterator.fwd()thenSampler.get().voidreset()Reset theIterator, that is put it to where it would be if newly created.Methods inherited from class AbstractEuclideanSpace
numDimensionsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Cursor
copyCursorMethods inherited from interface EuclideanSpace
numDimensionsMethods inherited from interface Iterator
forEachRemaining, removeMethods inherited from interface Localizable
localize, localize, positionAsLongArray, positionAsPointMethods inherited from interface RealLocalizable
positionAsDoubleArray, positionAsRealPoint
-
Field Details
-
s
-
m
private final int mnumber of dimensions of source Cursor, respectively numTargetDimensions of the Slicing transform. -
sourceComponent
private final int[] sourceComponentfor each component of the source vector: to which target vector component should it be taken. -
tmpPosition
private final long[] tmpPosition
-
-
Constructor Details
-
SlicingCursor
Create a Cursor that forwards allCursormethods tosource, exceptLocalizablemethods. Localize calls are propagated throughtransformToSource. -
SlicingCursor
-
-
Method Details
-
localize
public void localize(int[] position) Write the current position into the passed array.- Specified by:
localizein interfaceLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
localize
public void localize(long[] position) Write the current position into the passed array.- Specified by:
localizein interfaceLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
getIntPosition
public int getIntPosition(int d) Return the current position in a given dimension.- Specified by:
getIntPositionin interfaceLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getLongPosition
public long getLongPosition(int d) Return the current position in a given dimension.- Specified by:
getLongPositionin interfaceLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
localize
public void localize(float[] position) Write the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
localize
public void localize(double[] position) Write the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
position- receives current position, length must be ≥EuclideanSpace.numDimensions()
-
getFloatPosition
public float getFloatPosition(int d) Return the current position in a given dimension.- Specified by:
getFloatPositionin interfaceLocalizable- Specified by:
getFloatPositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getDoublePosition
public double getDoublePosition(int d) Return the current position in a given dimension.- Specified by:
getDoublePositionin interfaceLocalizable- Specified by:
getDoublePositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
get
-
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. -
copy
- Specified by:
copyin interfaceCursor<T>- Specified by:
copyin interfaceRealCursor<T>- Specified by:
copyin interfaceSampler<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)
-
jumpFwd
-
fwd
-
reset
-
hasNext
-
next
Default implementation, callsIterator.fwd()thenSampler.get().Note, that
hasNext()is not checked beforefwd(). If such a check is desired it should be implemented infwd()(throwingNoSuchElementException).
-