Class LanczosInterpolator<T extends RealType<T>>

All Implemented Interfaces:
EuclideanSpace, Positionable, RealLocalizable, RealPositionable, RealRandomAccess<T>, Sampler<T>

public class LanczosInterpolator<T extends RealType<T>> extends FloorOffset<RandomAccess<T>> implements RealRandomAccess<T>
n-dimensional double-based Lanczos Interpolation
Author:
Stephan Preibisch, Stephan Saalfeld
  • Field Details

    • piSquare

      protected static final double piSquare
      See Also:
    • lutScale

      protected static final int lutScale
      See Also:
    • alpha

      protected final int alpha
    • interpolatedValue

      protected final T extends RealType<T> interpolatedValue
    • size

      protected final long[] size
    • max

      protected final long[] max
    • minValue

      protected final double minValue
    • maxValue

      protected final double maxValue
    • clip

      protected final boolean clip
    • lut

      protected final double[] lut
    • products

      protected final double[] products
  • Constructor Details

    • LanczosInterpolator

      public LanczosInterpolator(RandomAccessible<T> randomAccessible, int alpha, boolean clip, double min, double max)
      Creates a new Lanczos-interpolation
      Parameters:
      randomAccessible - - the RandomAccessible to work on
      alpha - - the radius of values to incorporate (typically 2 or 3)
      clip - - clips the value to range of the RealType, i.e. tests if the interpolated value is out of range
      min - - range for clipping (ignored if min==max)
      max - - range for clipping (ignored if min==max)
    • LanczosInterpolator

      public LanczosInterpolator(LanczosInterpolator<T> interpolator)
  • Method Details

    • resetKernel

      protected final void resetKernel()
    • accumulate

      protected final void accumulate(int d)
    • 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 extends RealType<T>>
    • copy

      public Sampler<T> copy()
      Specified by:
      copy in interface Sampler<T extends RealType<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)
    • copyRealRandomAccess

      public RealRandomAccess<T> copyRealRandomAccess()
      Specified by:
      copyRealRandomAccess in interface RealRandomAccess<T extends RealType<T>>