/** * 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 ); } }
@Test public void defaultInterpolateTest() { Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[]{10, 10}, new DoubleType()); MersenneTwisterFast r = new MersenneTwisterFast(SEED); for (DoubleType d : img) { d.set(r.nextDouble()); } RealRandomAccess<DoubleType> il2 = Views.interpolate(img, new FloorInterpolatorFactory<DoubleType>()).realRandomAccess(); RealRandomAccess<DoubleType> opr = ops.transform().interpolateView(img, new FloorInterpolatorFactory<DoubleType>()).realRandomAccess(); il2.setPosition(new double[]{1.75, 5.34}); opr.setPosition(new double[]{1.75, 5.34}); assertEquals(il2.get().get(), opr.get().get(), 1e-10); il2.setPosition(new double[]{3, 7}); opr.setPosition(new double[]{3, 7}); assertEquals(il2.get().get(), opr.get().get(), 1e-10); il2.setPosition(new double[]{8.37, 3.97}); opr.setPosition(new double[]{8.37, 3.97}); assertEquals(il2.get().get(), opr.get().get(), 1e-10); } }
@Test public void defaultRasterTest() { Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[]{10, 10}, new DoubleType()); MersenneTwisterFast r = new MersenneTwisterFast(SEED); for (DoubleType d : img) { d.set(r.nextDouble()); } RealRandomAccessible<DoubleType> realImg = Views.interpolate(img, new FloorInterpolatorFactory<DoubleType>()); RandomAccessibleOnRealRandomAccessible<DoubleType> il2 = Views.raster(realImg); RandomAccessibleOnRealRandomAccessible<DoubleType> opr = ops.transform().rasterView(realImg); Cursor<DoubleType> il2C = Views.interval(il2, img).localizingCursor(); RandomAccess<DoubleType> oprRA = Views.interval(opr, img).randomAccess(); while (il2C.hasNext()) { il2C.next(); oprRA.setPosition(il2C); assertEquals(il2C.get().get(), oprRA.get().get(), 1e-10); } } }
/** * 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 ); } }