/** * Visit a TransformedRandomAccessible (while traversing the view * hierarchy). Append the view's transform to the list and * {@link #visit(RandomAccessible)} the view's source. * * @param randomAccessible */ protected void visitTransformed( final TransformedRandomAccessible< T > randomAccessible ) { prependTransform( randomAccessible.getTransformToSource() ); visit( randomAccessible.getSource() ); }
@Override public RandomAccess< T > randomAccess( final Interval interval ) { return stackAccessMode == StackAccessMode.MOVE_ALL_SLICE_ACCESSES ? new MoveAllSlicesRA< T >( slices, interval ) : new DefaultRA< T >( slices, interval ); }
/** * Constructs a new 2x2x2 neighborhood * * <p> * <em>NB</em>: Copies reference * </p> * * @param interval Image space where the neighborhood is located */ public Octant(final RandomAccessibleInterval<B> interval) { access = Views.extendZero(interval).randomAccess(); }
@Override public Cursor<T> cursor() { return new RandomAccessibleIntervalCursor<T>(Views.interval(rai, new long[dims.length], dims)); }
private static void testConcatenateImpl( long[] dim, int axis, long divider ) { // setup final Img< ByteType > img = createRandomImage( dim ); final List< RandomAccessibleInterval< ByteType > > parts = splitImage( img, axis, divider ); // process final RandomAccessibleInterval< ByteType > concatenated = Views.concatenate( axis, parts ); // test assertImageEquals( img, concatenated ); }
@Override public HyperSlicesViewRandomAccess randomAccess( final Interval interval ) { /* intervals only matter inside hyperslice space as the slice itself is only * one pixel thick (constant) in all outer dimensions */ return randomAccess(); }
@Override public float getFloatPosition( final int d ) { return getLongPosition( d ); }
@Override public double getDoublePosition( final int d ) { return getLongPosition( d ); }
@Override public RandomAccess randomAccess() { return new RandomAccess(); }
@Override public TranslationRandomAccess< T > copy() { return new TranslationRandomAccess< T >( this ); }
@Override public TranslationRandomAccess< T > copyRandomAccess() { return copy(); } }
@Override public FullSourceMapMixedRandomAccess< T > copyRandomAccess() { return copy(); } }
@Override public HyperSliceRandomAccess randomAccess() { return new HyperSliceRandomAccess(); }
@Override public void localize( final float[] position ) { assert position.length >= n; for ( int d = 0; d < n; ++d ) position[ d ] = getFloatPosition( d ); }
@Override public void localize( final int[] position ) { assert position.length >= n; for ( int d = 0; d < n; ++d ) position[ d ] = getIntPosition( d ); }
/** * Visit a TransformedRandomAccessible (while traversing the view * hierarchy). Append the view's transform to the list and * {@link #visit(RandomAccessible)} the view's source. * * @param randomAccessible */ protected void visitTransformed( final TransformedRandomAccessible< T > randomAccessible ) { prependTransform( randomAccessible.getTransformToSource() ); visit( randomAccessible.getSource() ); }
@Override public RandomAccess< T > randomAccess() { return stackAccessMode == StackAccessMode.MOVE_ALL_SLICE_ACCESSES ? new MoveAllSlicesRA< T >( slices ) : new DefaultRA< T >( slices ); }
@Override public double getDoublePosition( final int d ) { return getLongPosition( d ); }
@Override public RandomAccess< T > randomAccess() { return stackAccessMode == StackAccessMode.MOVE_ALL_SLICE_ACCESSES ? new MoveAllSlicesRA< T >( slices ) : new DefaultRA< T >( slices ); }
@Override public RandomAccess< T > randomAccess( final Interval interval ) { return stackAccessMode == StackAccessMode.MOVE_ALL_SLICE_ACCESSES ? new MoveAllSlicesRA< T >( slices, interval ) : new DefaultRA< T >( slices, interval ); }