Class SelectiveSampler<T>

  • Type Parameters:
    T -
    All Implemented Interfaces:
    ProjectedSampler<T>, Iterator, Sampler<T>, Typed<T>

    public class SelectiveSampler<T>
    extends java.lang.Object
    implements ProjectedSampler<T>
    Provides access to a set of predefined positions of a projected dimension
    • Field Detail

      • m_projectedPositions

        private final long[] m_projectedPositions
      • m_projectionDimension

        private final int m_projectionDimension
      • m_selectedIndex

        private int m_selectedIndex
    • Constructor Detail

      • SelectiveSampler

        public SelectiveSampler​(int projectionDimension,
                                long[] projectedPositions)
    • Method Detail

      • jumpFwd

        public void jumpFwd​(long steps)
        Description copied from interface: Iterator
        Move steps × forward.

        Highly recommended to override this with a more efficient version.

        Specified by:
        jumpFwd in interface Iterator
        Parameters:
        steps - number of steps to move forward
      • fwd

        public void fwd()
        Description copied from interface: Iterator
        Move forward.
        Specified by:
        fwd in interface Iterator
      • reset

        public void reset()
        Description copied from interface: Iterator
        Reset the Iterator, that is put it to where it would be if newly created.
        Specified by:
        reset in interface Iterator
      • hasNext

        public boolean hasNext()
        Description copied from interface: Iterator
        Returns true if another step forward is possible.
        Specified by:
        hasNext in interface Iterator
        Returns:
        true, if there is another step forward is possible, otherwise false
      • 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 the Sampler points at.
        Specified by:
        get in interface Sampler<T>
      • getType

        public T getType()
        Description copied from interface: Typed
        Get an instance of T.

        It should not be assumed that the returned T instance is an independent copy. In particular, repeated calls to getType() may return the same instance.

        Specified by:
        getType in interface Sampler<T>
        Specified by:
        getType in interface Typed<T>
        Returns:
        an instance of T
      • copy

        public Sampler<T> copy()
        Specified by:
        copy in interface Sampler<T>
        Returns:
        - A new Sampler in the same state accessing the same values. It does NOT copy T, just the state of the Sampler. 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 an ArrayCursor for example)
      • setRandomAccess

        public void setRandomAccess​(RandomAccess<T> srcAccess)
        Specified by:
        setRandomAccess in interface ProjectedSampler<T>
        Parameters:
        srcAccess - sets the random access from which the sampler takes the values of the projected dimension