Class IterableIntervalProjector2D<A,B>

Type Parameters:
A -
B -
All Implemented Interfaces:
Projector, EuclideanSpace, Localizable, Positionable, RealLocalizable
Direct Known Subclasses:
Volatile2DRandomAccessibleProjector

public class IterableIntervalProjector2D<A,B> extends AbstractProjector2D
A general 2D Projector that uses two dimensions as input to create the 2D result. The output of the projection is written into a IterableInterval. Depending on input and output an optimal strategy is chosen in the map() method. Starting from the reference point two dimensions are sampled such that a plain gets cut out of a higher dimensional data volume.
The mapping function can be specified with a Converter.
A basic example is cutting out a time frame from a (greyscale) video.
  • Field Details

    • converter

      protected final Converter<? super A, B> converter
    • source

      protected final RandomAccessible<A> source
    • target

      protected final IterableInterval<B> target
    • numDimensions

      final int numDimensions
    • dimX

      private final int dimX
    • dimY

      private final int dimY
  • Constructor Details

    • IterableIntervalProjector2D

      public IterableIntervalProjector2D(int dimX, int dimY, RandomAccessible<A> source, IterableInterval<B> target, Converter<? super A, B> converter)
      creates a new 2D projector that samples a plain in the dimensions dimX, dimY.
      Parameters:
      dimX -
      dimY -
      source -
      target -
      converter - a converter that is applied to each point in the plain. This can e.g. be used for normalization, conversions, ...
  • Method Details

    • map

      public void map()
      projects data from the source to the target and applies the former specified Converter e.g. for normalization.