final static private < T extends RealType< T > >InterpolatorFactory< RealComposite< T >, RandomAccessible< RealComposite< T > > > interpolatorFactory( final Interpolation interpolation ) { switch ( interpolation ) { case NN: return new NearestNeighborInterpolatorFactory< RealComposite< T > >(); default: return new NLinearInterpolatorFactory< RealComposite< T > >(); } }
@Override public ClampingNLinearInterpolatorVolatileRealType< R, T > copyRealRandomAccess() { return copy(); }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public FloorInterpolator< T > create( final RandomAccessible< T > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public NLinearInterpolatorARGB create( final RandomAccessible< ARGBType > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public RealRandomAccess< T > create( final RandomAccessible< T > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
@Override public RealRandomAccess< T > copyRealRandomAccess() { return new LanczosInterpolator< T >( this ); } }
@Override public NLinearInterpolator< T > copy() { return new NLinearInterpolator< T >( this ); }
@Override public FloorInterpolator< T > copyRealRandomAccess() { return copy(); } }
@Override public NLinearInterpolator3D< T > copy() { return new NLinearInterpolator3D< T >( this ); } }
@Override public ClampingNLinearInterpolatorVolatileARGB< T > copyRealRandomAccess() { return copy(); }
@Override public NLinearInterpolator1D< T > copy() { return new NLinearInterpolator1D< T >( this ); } }
@Override public ClampingNLinearInterpolatorVolatileRealType< R, T > copy() { return new ClampingNLinearInterpolatorVolatileRealType<>( this ); }
final static private double[] createLanczosLUT( final int max, final int scale ) { final double[] lut = new double[ max * scale + 2 ]; for ( int i = 0; i < lut.length; ++i ) { final double x = ( double ) i / ( double ) lutScale; lut[ i ] = lanczos( x, max ); } return lut; }
@Override public Sampler< T > copy() { return copy(); }
@Override public FloorInterpolator< T > create( final RandomAccessible< T > randomAccessible ) { return new FloorInterpolator< T >( randomAccessible ); }
@Override public ClampingNLinearInterpolatorVolatileRealType< R, T > copyRealRandomAccess() { return copy(); }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public FloorInterpolator< T > create( final RandomAccessible< T > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public NLinearInterpolatorARGB create( final RandomAccessible< ARGBType > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
/** * For now, ignore the {@link RealInterval} and return * {@link #create(RandomAccessible)}. */ @Override public RealRandomAccess< T > create( final RandomAccessible< T > randomAccessible, final RealInterval interval ) { return create( randomAccessible ); } }
@Override public RealRandomAccess< T > copyRealRandomAccess() { return new LanczosInterpolator< T >( this ); } }