@Override public void dimensions( final long[] dimensions ) { sourceInterval.dimensions( dimensions ); }
@Override public void dimensions( final long[] dimensions ) { sourceInterval.dimensions( dimensions ); }
RectangleNeighborhood( final long[] position, final long[] currentMin, final long[] currentMax, final Interval span, final RandomAccess< T > sourceRandomAccess ) { super( position ); this.currentMin = currentMin; this.currentMax = currentMax; dimensions = new long[ n ]; span.dimensions( dimensions ); long mi = dimensions[ 0 ]; for ( int d = 1; d < n; ++d ) mi *= dimensions[ d ]; maxIndex = mi; this.sourceRandomAccess = sourceRandomAccess; this.structuringElementBoundingBox = span; }
@Override public void dimensions( final long[] dimensions ) { interval.dimensions( dimensions ); }
RectangleNeighborhood( final long[] position, final long[] currentMin, final long[] currentMax, final Interval span, final RandomAccess< T > sourceRandomAccess ) { super( position ); this.currentMin = currentMin; this.currentMax = currentMax; dimensions = new long[ n ]; span.dimensions( dimensions ); long mi = dimensions[ 0 ]; for ( int d = 1; d < n; ++d ) mi *= dimensions[ d ]; maxIndex = mi; this.sourceRandomAccess = sourceRandomAccess; this.structuringElementBoundingBox = span; }
@Override public void dimensions( final long[] dimensions ) { interval.dimensions( dimensions ); }
private static long[] dimensions( final Interval i ) { final long[] dims = new long[ i.numDimensions() ]; i.dimensions( dims ); return dims; }
private long[] resultDims( Interval src ) { long[] dims = new long[ src.numDimensions() ]; src.dimensions( dims ); return dims; }
private long numPixels( final Interval i ) { assert i != null; long[] dims = new long[ i.numDimensions() ]; i.dimensions( dims ); long acc = 1; for ( long l : dims ) { acc *= l; } return acc; } }
private long[] resultDims( final Interval src ) { long[] dims = new long[ src.numDimensions() ]; src.dimensions( dims ); return dims; }
private long numPixels( final Interval i ) { assert i != null; long[] dims = new long[ i.numDimensions() ]; i.dimensions( dims ); long acc = 1; for ( long l : dims ) { acc *= l; } return acc; } }
public Labeling< T > create( final Interval interval ) { final long[] dim = new long[ interval.numDimensions() ]; interval.dimensions( dim ); return create( dim ); } }
private final static synchronized int getNumIterationSteps( int[] selectedDims, Interval interval ) { long[] dims = new long[ interval.numDimensions() ]; interval.dimensions( dims ); int[] unselectedDims = getUnselectedDimIndices( selectedDims, dims.length ); int steps = 1; for ( int i = 0; i < unselectedDims.length; i++ ) { steps *= dims[ unselectedDims[ i ] ]; } return steps; }
private final static synchronized int getNumIterationSteps( int[] selectedDims, Interval interval ) { long[] dims = new long[ interval.numDimensions() ]; interval.dimensions( dims ); int[] unselectedDims = getUnselectedDimIndices( selectedDims, dims.length ); int steps = 1; for ( int i = 0; i < unselectedDims.length; i++ ) { steps *= dims[ unselectedDims[ i ] ]; } return steps; }
public < F extends Interval & RandomAccessible< T > > AbstractOutOfBoundsMirror( final F f ) { n = f.numDimensions(); dimension = new long[ n ]; f.dimensions( dimension ); min = new long[ n ]; f.min( min ); zeroMinPos = new long[ n ]; p = new long[ n ]; dimIsOutOfBounds = new boolean[ n ]; inc = new boolean[ n ]; for ( int i = 0; i < dimension.length; ++i ) inc[ i ] = true; outOfBoundsRandomAccess = f.randomAccess(); }
private static Interval initIntervals(final Interval src, final int[] axesOfInterest) { final long[] dimensionsToIterate = new long[src.numDimensions()]; src.dimensions(dimensionsToIterate); // determine axis to iterate for (int i = 0; i < src.numDimensions(); i++) { for (int j = 0; j < axesOfInterest.length; j++) { if (axesOfInterest[j] == i) { dimensionsToIterate[i] = 1; break; } } } return new FinalInterval(dimensionsToIterate); }
public < F extends Interval & RandomAccessible< T > > AbstractOutOfBoundsMirror( final F f ) { n = f.numDimensions(); dimension = new long[ n ]; f.dimensions( dimension ); min = new long[ n ]; f.min( min ); zeroMinPos = new long[ n ]; p = new long[ n ]; dimIsOutOfBounds = new boolean[ n ]; inc = new boolean[ n ]; for ( int i = 0; i < dimension.length; ++i ) inc[ i ] = true; outOfBoundsRandomAccess = f.randomAccess(); }
public < F extends Interval & RandomAccessible< T > > AbstractOutOfBoundsValue( final F f ) { super( f.numDimensions() ); this.sampler = f.randomAccess(); dimension = new long[ n ]; f.dimensions( dimension ); min = new long[ n ]; f.min( min ); max = new long[ n ]; f.max( max ); dimIsOutOfBounds = new boolean[ n ]; }
public < F extends Interval & RandomAccessible< T > > AbstractOutOfBoundsValue( final F f ) { super( f.numDimensions() ); this.sampler = f.randomAccess(); dimension = new long[ n ]; f.dimensions( dimension ); min = new long[ n ]; f.min( min ); max = new long[ n ]; f.max( max ); dimIsOutOfBounds = new boolean[ n ]; }
public static enum ImgDataType { VIRTUAL, CACHED, PRECOMPUTED }; public static String[] imgDataTypeChoice = new String[]{ "Virtual", "Cached", "Precompute Image" };