Class FullSourceMapSlicingRandomAccess<T>

  • Type Parameters:
    T -
    All Implemented Interfaces:
    EuclideanSpace, Localizable, Positionable, RandomAccess<T>, RealLocalizable, Sampler<T>

    public class FullSourceMapSlicingRandomAccess<T>
    extends AbstractEuclideanSpace
    implements RandomAccess<T>
    Wrap a source RandomAccess which is related to this by a Slicing transformToSource. This is for Slicing transforms that feature a full mapping of source to target components. That is, there is no down-projection, no source component is discarded. In this case, the current position can be recovered from the position of the source RandomAccess. Localize can be implemented via localize on the source RandomAccess.

    For the general case, see SlicingRandomAccess.

    Author:
    Tobias Pietzsch
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void bck​(int d)
      Move by -1 in one dimension.
      FullSourceMapSlicingRandomAccess<T> copy()  
      FullSourceMapSlicingRandomAccess<T> copyRandomAccess()  
      void fwd​(int d)
      Move by 1 in one dimension.
      T get()
      Access the actual T instance providing access to a pixel, sub-pixel or integral region value the Sampler points at.
      double getDoublePosition​(int d)
      Return the current position in a given dimension.
      float getFloatPosition​(int d)
      Return the current position in a given dimension.
      int getIntPosition​(int d)
      Return the current position in a given dimension.
      long getLongPosition​(int d)
      Return the current position in a given dimension.
      void localize​(double[] position)
      Write the current position into the passed array.
      void localize​(float[] position)
      Write the current position into the passed array.
      void localize​(int[] position)
      Write the current position into the passed array.
      void localize​(long[] position)
      Write the current position into the passed array.
      void move​(int[] distance)
      Move the element relative to its current location using an int[] as distance vector.
      void move​(int distance, int d)
      Move the element in one dimension for some distance.
      void move​(long[] distance)
      Move the element relative to its current location using a long[] as distance vector.
      void move​(long distance, int d)
      Move the element in one dimension for some distance.
      void move​(Localizable localizable)
      Move the element relative to its current location using an Localizable as distance vector.
      void setPosition​(int[] position)
      Set the position of the element.
      void setPosition​(int position, int d)
      Set the position of the element for one dimension.
      void setPosition​(long[] position)
      Set the position of the element.
      void setPosition​(long position, int d)
      Set the position of the element for one dimension.
      void setPosition​(Localizable localizable)
      Place the element at the same location as a given Localizable
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • localize

        public void localize​(int[] position)
        Description copied from interface: Localizable
        Write the current position into the passed array.
        Specified by:
        localize in interface Localizable
        Parameters:
        position - receives current position
      • localize

        public void localize​(long[] position)
        Description copied from interface: Localizable
        Write the current position into the passed array.
        Specified by:
        localize in interface Localizable
        Parameters:
        position - receives current position
      • getIntPosition

        public int getIntPosition​(int d)
        Description copied from interface: Localizable
        Return the current position in a given dimension.
        Specified by:
        getIntPosition in interface Localizable
        Parameters:
        d - dimension
        Returns:
        dimension of current position
      • getLongPosition

        public long getLongPosition​(int d)
        Description copied from interface: Localizable
        Return the current position in a given dimension.
        Specified by:
        getLongPosition in interface Localizable
        Parameters:
        d - dimension
        Returns:
        dimension of current position
      • localize

        public void localize​(float[] position)
        Description copied from interface: RealLocalizable
        Write the current position into the passed array.
        Specified by:
        localize in interface RealLocalizable
        Parameters:
        position - receives current position
      • localize

        public void localize​(double[] position)
        Description copied from interface: RealLocalizable
        Write the current position into the passed array.
        Specified by:
        localize in interface RealLocalizable
        Parameters:
        position - receives current position
      • getFloatPosition

        public float getFloatPosition​(int d)
        Description copied from interface: RealLocalizable
        Return the current position in a given dimension.
        Specified by:
        getFloatPosition in interface RealLocalizable
        Parameters:
        d - dimension
        Returns:
        dimension of current position
      • getDoublePosition

        public double getDoublePosition​(int d)
        Description copied from interface: RealLocalizable
        Return the current position in a given dimension.
        Specified by:
        getDoublePosition in interface RealLocalizable
        Parameters:
        d - dimension
        Returns:
        dimension of current position
      • fwd

        public void fwd​(int d)
        Description copied from interface: Positionable
        Move by 1 in one dimension.
        Specified by:
        fwd in interface Positionable
        Parameters:
        d - dimension
      • bck

        public void bck​(int d)
        Description copied from interface: Positionable
        Move by -1 in one dimension.
        Specified by:
        bck in interface Positionable
        Parameters:
        d - dimension
      • move

        public void move​(int distance,
                         int d)
        Description copied from interface: Positionable
        Move the element in one dimension for some distance.
        Specified by:
        move in interface Positionable
        Parameters:
        distance - relative offset in dimension d
        d - dimension
      • move

        public void move​(long distance,
                         int d)
        Description copied from interface: Positionable
        Move the element in one dimension for some distance.
        Specified by:
        move in interface Positionable
        Parameters:
        distance - relative offset in dimension d
        d - dimension
      • move

        public void move​(int[] distance)
        Description copied from interface: Positionable
        Move the element relative to its current location using an int[] as distance vector.
        Specified by:
        move in interface Positionable
        Parameters:
        distance - relative offset, length must be ≥ EuclideanSpace.numDimensions()
      • move

        public void move​(long[] distance)
        Description copied from interface: Positionable
        Move the element relative to its current location using a long[] as distance vector.
        Specified by:
        move in interface Positionable
        Parameters:
        distance - relative offset, length must be ≥ EuclideanSpace.numDimensions()
      • setPosition

        public void setPosition​(int position,
                                int d)
        Description copied from interface: Positionable
        Set the position of the element for one dimension.
        Specified by:
        setPosition in interface Positionable
        Parameters:
        position - absolute position in dimension d
        d - dimension
      • setPosition

        public void setPosition​(long position,
                                int d)
        Description copied from interface: Positionable
        Set the position of the element for one dimension.
        Specified by:
        setPosition in interface Positionable
        Parameters:
        position - absolute position in dimension d
        d - dimension
      • 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>
      • copy

        public FullSourceMapSlicingRandomAccess<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)