Package net.imglib2.stream
Class RealCursorSpliterator<T>
- java.lang.Object
-
- net.imglib2.stream.RealCursorSpliterator<T>
-
- Type Parameters:
T- the type of elements returned by this Spliterator, and the pixel type of the underlying cursor.
- All Implemented Interfaces:
java.util.Spliterator<T>,EuclideanSpace,RealLocalizable,Sampler<T>,RealLocalizableSpliterator<T>,Typed<T>
public class RealCursorSpliterator<T> extends java.lang.Object implements RealLocalizableSpliterator<T>
Spliterator implementation on top ofRealCursor.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface java.util.Spliterator
java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,T_CONS extends java.lang.Object,T_SPLITR extends java.util.Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
-
-
Field Summary
Fields Modifier and Type Field Description private intcharacteristicsCharacteristics always includeSIZED | SUBSIZED.private RealCursor<T>cursorThe underlying cursor, positioned such thatcursor.next()yields the element atindex.private longfenceOne past last indexprivate longindexThe current index, modified on advance/split.
-
Constructor Summary
Constructors Constructor Description RealCursorSpliterator(RealCursor<T> cursor, long origin, long fence, int additionalCharacteristics)Creates a spliterator covering the given range.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcharacteristics()RealCursorSpliterator<T>copy()longestimateSize()Tget()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.TgetType()Get an instance ofT.voidlocalize(double[] position)Write the current position into the passed array.voidlocalize(float[] position)Write the current position into the passed array.voidlocalize(RealPositionable position)Write the current position into the passedPositionable.intnumDimensions()Gets the space's number of dimensions.double[]positionAsDoubleArray()Allocate and return a double array with the position.RealPointpositionAsRealPoint()Allocate and return aRealPointwith the current position.booleantryAdvance(java.util.function.Consumer<? super T> action)RealCursorSpliterator<T>trySplit()
-
-
-
Field Detail
-
cursor
private final RealCursor<T> cursor
The underlying cursor, positioned such thatcursor.next()yields the element atindex.
-
index
private long index
The current index, modified on advance/split.
-
fence
private final long fence
One past last index
-
characteristics
private final int characteristics
Characteristics always includeSIZED | SUBSIZED.
-
-
Constructor Detail
-
RealCursorSpliterator
public RealCursorSpliterator(RealCursor<T> cursor, long origin, long fence, int additionalCharacteristics)
Creates a spliterator covering the given range.- Parameters:
cursor- provides elements, starting with the element at origin, on cursor.next()origin- the least index (inclusive) to coverfence- one past the greatest index to coveradditionalCharacteristics- additional characteristics besidesSIZED | SUBSIZED
-
-
Method Detail
-
tryAdvance
public boolean tryAdvance(java.util.function.Consumer<? super T> action)
- Specified by:
tryAdvancein interfacejava.util.Spliterator<T>
-
trySplit
public RealCursorSpliterator<T> trySplit()
- Specified by:
trySplitin interfaceRealLocalizableSpliterator<T>- Specified by:
trySplitin interfacejava.util.Spliterator<T>
-
estimateSize
public long estimateSize()
- Specified by:
estimateSizein interfacejava.util.Spliterator<T>
-
characteristics
public int characteristics()
- Specified by:
characteristicsin interfacejava.util.Spliterator<T>
-
get
public T get()
Description copied from interface:SamplerAccess the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.
-
getType
public 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.
-
copy
public RealCursorSpliterator<T> copy()
- Specified by:
copyin interfaceRealLocalizableSpliterator<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)
-
numDimensions
public int numDimensions()
Description copied from interface:EuclideanSpaceGets the space's number of dimensions.- Specified by:
numDimensionsin interfaceEuclideanSpace
-
localize
public void localize(float[] position)
Description copied from interface:RealLocalizableWrite 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)
Description copied from interface:RealLocalizableWrite 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(RealPositionable position)
Description copied from interface:RealLocalizableWrite the current position into the passedPositionable. Note for developers: This default implementation forwards toRealPositionable.setPosition(RealLocalizable), so don't do the same there.- Specified by:
localizein interfaceRealLocalizable- Parameters:
position- receives current positionEuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
positionAsDoubleArray
public double[] positionAsDoubleArray()
Description copied from interface:RealLocalizableAllocate and return a double array with the position. Please note that his method allocates a new array each time which introduces notable overhead in both compute and memory. If you query it frequently, you should allocate a dedicated array first and reuse it withRealLocalizable.localize(double[]).- Specified by:
positionAsDoubleArrayin interfaceRealLocalizable- Returns:
- the position
-
positionAsRealPoint
public RealPoint positionAsRealPoint()
Description copied from interface:RealLocalizableAllocate and return aRealPointwith the current position. Please note that his method allocates a newRealPointeach time which introduces notable overhead in both compute and memory. If you query it frequently, you should allocate a dedicatedRealPointfirst and reuse it withRealLocalizable.localize(RealPositionable).- Specified by:
positionAsRealPointin interfaceRealLocalizable- Returns:
- the position
-
getFloatPosition
public float getFloatPosition(int d)
Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getFloatPositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getDoublePosition
public double getDoublePosition(int d)
Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getDoublePositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
-