/** * Randomizes the content of the given image. * @return Reference to the given image */ public < I extends RandomAccessibleInterval< T >, T > I randomize( final I image ) { final T type = Util.getTypeFromInterval( image ); Views.iterable( image ).forEach( randomSetter( type ) ); return image; }
/** * Randomizes the content of the given image. * @return Reference to the given image */ public < I extends RandomAccessibleInterval< T >, T > I randomize( final I image ) { final T type = Util.getTypeFromInterval( image ); Views.iterable( image ).forEach( randomSetter( type ) ); return image; }
@Test public void constantRandomAccessibleInterval() { final int nDim = 5; final Random rng = new Random( 100 ); final long[] dims = LongStream.generate( () -> rng.nextInt( 5 ) + 1 ).limit( nDim ).toArray(); final IntType constVal = new IntType( 123 ); final RandomAccessibleInterval< IntType > randomAccessibleInterval = ConstantUtils.constantRandomAccessibleInterval( constVal, new FinalInterval( dims ) ); Assert.assertArrayEquals( dims, Intervals.dimensionsAsLongArray( randomAccessibleInterval ) ); Assert.assertArrayEquals( new long[ nDim ], Intervals.minAsLongArray( randomAccessibleInterval ) ); Views.iterable( randomAccessibleInterval ).forEach( p -> Assert.assertTrue( constVal.valueEquals( constVal ) ) ); }
private static void testExtendBoolean( final long[] dims, final boolean insideValue, final boolean extension ) { final RandomAccessibleInterval< BitType > rai = ArrayImgs.bits( dims ); Views.iterable( rai ).forEach( px -> px.set( insideValue ) ); testValueExtended( Views.extendValue( rai, extension ), rai, Intervals.expand( rai, 1 ), new BitType( insideValue ), new BitType( extension ) ); }
private static void testExpandBoolean( final long[] dims, final boolean insideValue, final boolean extension, final long... border) { final RandomAccessibleInterval<BitType> rai = ArrayImgs.bits( dims ); Views.iterable( rai ).forEach( px -> px.set( insideValue ) ); testValueExtended( Views.expandValue( rai, extension, border ), rai, Intervals.expand( rai, border ), new BitType( insideValue ), new BitType( extension ) ); }
private static void testExtendFloatingPoint( final long[] dims, final double insideValue, final double doubleExtension, final float floatExtension ) { final RandomAccessibleInterval< DoubleType > rai = ArrayImgs.doubles( dims ); Views.iterable( rai ).forEach( px -> px.setReal( insideValue ) ); testValueExtended( Views.extendValue( rai, doubleExtension ), rai, Intervals.expand( rai, 1 ), new DoubleType( insideValue ), new DoubleType( doubleExtension ) ); testValueExtended( Views.extendValue( rai, floatExtension ), rai, Intervals.expand( rai, 1 ), new DoubleType( insideValue ), new DoubleType( floatExtension ) ); }
private static void testExpandFloatingPoint( final long[] dims, final double insideValue, final double doubleExtension, final float floatExtension, final long... border) { final RandomAccessibleInterval< DoubleType > rai = ArrayImgs.doubles( dims ); Views.iterable( rai ).forEach( px -> px.setReal( insideValue ) ); testValueExtended( Views.expandValue( rai, doubleExtension, border ), rai, Intervals.expand( rai, border ), new DoubleType( insideValue ), new DoubleType( doubleExtension ) ); testValueExtended( Views.expandValue( rai, floatExtension, border ), rai, Intervals.expand( rai, border ), new DoubleType( insideValue ), new DoubleType( floatExtension ) ); }
private static void testExtendInteger( final long[] dims, final long insideValue, final long longExtension, final int intExtension ) { final RandomAccessibleInterval< LongType > rai = ArrayImgs.longs( dims ); Views.iterable( rai ).forEach( px -> px.setInteger( insideValue ) ); testValueExtended( Views.extendValue( rai, longExtension ), rai, Intervals.expand( rai, 1 ), new LongType( insideValue ), new LongType( longExtension ) ); testValueExtended( Views.extendValue( rai, intExtension ), rai, Intervals.expand( rai, 1 ), new LongType( insideValue ), new LongType( intExtension ) ); }
private static void testExpandInteger( final long[] dims, final long insideValue, final long longExtension, final int intExtension, final long... border) { final RandomAccessibleInterval< LongType > rai = ArrayImgs.longs( dims ); Views.iterable( rai ).forEach( px -> px.setInteger( insideValue ) ); testValueExtended( Views.expandValue( rai, longExtension, border ), rai, Intervals.expand( rai, border ), new LongType( insideValue ), new LongType( longExtension ) ); testValueExtended( Views.expandValue( rai, intExtension, border ), rai, Intervals.expand( rai, border ), new LongType( insideValue ), new LongType( intExtension ) ); }