@Override public long dimension( final int d ) { return interval.dimension( d ); } }
@Override public long dimension( final int d ) { return sourceInterval.dimension( d ); }
@Override public void dimensions( final long[] dimensions ) { for ( int d = 0; d < n; ++d ) dimensions[ d ] = interval.dimension( d ); }
@Override public long dimension( final int d ) { return sourceInterval.dimension( d ); }
@Override public long dimension( final int d ) { return interval.dimension( d ); } }
/** * Update the screen interval. This is the target 2D interval into which * pixels are rendered. (In the box overlay it is shown as a filled grey * rectangle.) */ public synchronized void updateVirtualScreenSize( final int screenWidth, final int screenHeight ) { final long oldW = virtualScreenInterval.dimension( 0 ); final long oldH = virtualScreenInterval.dimension( 1 ); if ( screenWidth != oldW || screenHeight != oldH ) virtualScreenInterval = Intervals.createMinSize( 0, 0, screenWidth, screenHeight ); }
/** * Get the size of the Y-dimension. If it is a one-dimensional source, return 1. * * @param interval * @return 1 if only-dimensional, else the size */ protected static int getDimension1Size( final Interval interval ) { if ( interval.numDimensions() == 1 ) return 1; return ( int ) interval.dimension( 1 ); }
/** * Tests weather two intervals have equal dimensions (same size) */ public static boolean equalDimensions( final Interval a, final Interval b ) { if ( a.numDimensions() != b.numDimensions() ) return false; for ( int d = 0; d < a.numDimensions(); ++d ) if ( a.dimension( d ) != b.dimension( d ) ) return false; return true; }
private List< Integer > validIndices( final Interval i ) { final List< Integer > indices = new ArrayList< Integer >( i.numDimensions() ); for ( int j = 0; j < i.numDimensions(); j++ ) { if ( i.dimension( j ) > 1 ) indices.add( j ); } return indices; } }
/** * Tests weather two intervals have equal dimensions (same size) */ public static boolean equalDimensions( final Interval a, final Interval b ) { if ( a.numDimensions() != b.numDimensions() ) return false; for ( int d = 0; d < a.numDimensions(); ++d ) if ( a.dimension( d ) != b.dimension( d ) ) return false; return true; }
private List< Integer > validIndices( final Interval i ) { final List< Integer > indices = new ArrayList< Integer >( i.numDimensions() ); for ( int j = 0; j < i.numDimensions(); j++ ) { if ( i.dimension( j ) > 1 ) indices.add( j ); } return indices; } }
public static int[] getImgSizeInt( final Interval img ) { final int[] dim = new int[ img.numDimensions() ]; for ( int d = 0; d < img.numDimensions(); ++d ) dim[ d ] = (int)img.dimension( d ); return dim; }
public static FinalDimensions getDimensions( final Interval interval ) { final long[] dim = new long[ interval.numDimensions() ]; for ( int d = 0; d < dim.length; ++d ) dim[ d ] = interval.dimension( d ); return new FinalDimensions( dim ); }
private Interval shiftInterval( Interval interval, long[] offset ) { long[] min = new long[ offset.length ]; long[] max = new long[ offset.length ]; for ( int d = 0; d < interval.numDimensions(); d++ ) { min[ d ] = interval.min( d ) - offset[ d ]; max[ d ] = min[ d ] + interval.dimension( d ) - 1; } return new FinalInterval( min, max ); }
private Interval shiftInterval( Interval interval, long[] offset ) { long[] min = new long[ offset.length ]; long[] max = new long[ offset.length ]; for ( int d = 0; d < interval.numDimensions(); d++ ) { min[ d ] = interval.min( d ) - offset[ d ]; max[ d ] = min[ d ] + interval.dimension( d ) - 1; } return new FinalInterval( min, max ); }
public static void indexToPositionForInterval( long index, final Interval interval, final Positionable position ) { final int maxDim = interval.numDimensions() - 1; for ( int d = 0; d < maxDim; ++d ) { final long dim = interval.dimension( d ); final long j = index / dim; position.setPosition( index - j * dim + interval.min( d ), d ); index = j; } position.setPosition( index + interval.min( maxDim ), maxDim ); }
public static void indexToPositionForInterval( long index, final Interval interval, final Positionable position ) { final int maxDim = interval.numDimensions() - 1; for ( int d = 0; d < maxDim; ++d ) { final long dim = interval.dimension( d ); final long j = index / dim; position.setPosition( index - j * dim + interval.min( d ), d ); index = j; } position.setPosition( index + interval.min( maxDim ), maxDim ); }
public static long positionToIndexForInterval( final Localizable position, final Interval interval ) { final int maxDim = interval.numDimensions() - 1; long i = position.getLongPosition( maxDim ) - interval.min( maxDim ); for ( int d = maxDim - 1; d >= 0; --d ) i = i * interval.dimension( d ) + position.getLongPosition( d ) - interval.min( d ); return i; }