@Override public void jumpFwd( final long i ) { index += i; IntervalIndexer.indexToPosition( index, dimensions, position ); }
@Override public boolean hasNext() { return IntervalIndexer.positionToIndex(position, dimensions) < lastIndex; }
@Override public void jumpFwd( final long i ) { index += i; IntervalIndexer.indexToPositionWithOffset( index, dimensions, min, position ); }
@Override public void jumpFwd(long steps) { IntervalIndexer.indexToPosition(IntervalIndexer.positionToIndex(position, dimensions) + steps, dimensions, position); }
protected AbstractListImg( final long[] dim ) { super( dim ); this.dim = new int[ n ]; for ( int d = 0; d < n; ++d ) this.dim[ d ] = ( int ) dim[ d ]; step = new int[ n ]; IntervalIndexer.createAllocationSteps( this.dim, step ); }
public void testIndexToPosition( final Interval interval ) { final long numElements = Intervals.numElements( interval ); final long[] pos = new long[ dim.length ]; final long[] min = Intervals.minAsLongArray( interval ); final long[] store = new long[ dim.length ]; final Point positionable = Point.wrap( store ); for ( long index = 0; index < numElements; ++index ) { IntervalIndexer.indexToPositionWithOffset( index, dim, min, pos ); IntervalIndexer.indexToPositionForInterval( index, interval, positionable ); Assert.assertArrayEquals( pos, store ); } }
public void testPositionToIndex( final RandomAccessibleInterval< ? > interval ) { final long[] pos = new long[ dim.length ]; final long[] min = Intervals.minAsLongArray( interval ); for ( final Cursor< ? > cursor = Views.flatIterable( interval ).localizingCursor(); cursor.hasNext(); ) { cursor.fwd(); cursor.localize( pos ); Assert.assertEquals( IntervalIndexer.positionWithOffsetToIndex( pos, dim, min ), IntervalIndexer.positionToIndexForInterval( cursor, interval ) ); } }
/** * Compute the index in the underlying flat array of this cell which * corresponds to the specified global {@code position}. * * @param position * a global position * @return corresponding index */ public int globalPositionToIndex( final long[] position ) { return IntervalIndexer.positionWithOffsetToIndex( position, dimensions, min ); }
@Override public long applyAsLong( final Localizable l, final T t ) { return IntervalIndexer.positionToIndexForInterval( l, interval ); } }
@Override public void jumpFwd(long steps) { IntervalIndexer.indexToPosition(IntervalIndexer.positionToIndex(position, dimensions) + steps, dimensions, position); }
protected AbstractLongListImg( final long[] dimensions ) { super( dimensions ); step = new long[ n ]; IntervalIndexer.createAllocationSteps( dimension, step ); }
/** * Compute the index in the underlying flat array of this cell which * corresponds to the specified global {@code position}. * * @param position * a global position * @return corresponding index */ public int globalPositionToIndex( final long[] position ) { return IntervalIndexer.positionWithOffsetToIndex( position, dimensions, min ); }
@Override final public void localize( final long[] position ) { IntervalIndexer.indexToPosition( index, dimensions, position ); }
@Override public boolean hasNext() { return IntervalIndexer.positionToIndex(position, dimensions) < lastIndex; }
@Override public void localize( final int[] position ) { IntervalIndexer.indexToPositionWithOffset( index, dimensions, min, position ); }
public ArrayImg( final A data, final long[] dim, final Fraction entitiesPerPixel ) { super( dim, entitiesPerPixel ); this.dim = new int[ n ]; for ( int d = 0; d < n; ++d ) this.dim[ d ] = ( int ) dim[ d ]; this.steps = new int[ n ]; IntervalIndexer.createAllocationSteps( this.dim, this.steps ); this.data = data; }
public void indexToGlobalPosition( final int index, final long[] position ) { IntervalIndexer.indexToPosition( index, dimensions, position ); for ( int d = 0; d < position.length; ++d ) position[ d ] += min[ d ]; }
positions2[actualDimension] = u; while ((q >= 0) && (distancefunc(t[q], s[q], actualValues[IntervalIndexer.positionToIndex(positions, dimensSizes)]) > distancefunc(t[q], u, actualValues[IntervalIndexer.positionToIndex(positions2, dimensSizes)]))) { q--; if (q >= 0) positions2[actualDimension] = u; final double w = 1 + sep(s[q], u, actualValues[IntervalIndexer.positionToIndex(positions2, dimensSizes)], actualValues[IntervalIndexer.positionToIndex(positions, dimensSizes)]); if (w < dimensSizes[actualDimension]) { q++; for (int u = dimensSizes[actualDimension] - 1; u >= 0; u--) { positions[actualDimension] = s[q]; newValues[u] = distancefunc(u, s[q], actualValues[IntervalIndexer.positionToIndex(positions, dimensSizes)]); if (u == t[q]) { q--; actualValues[IntervalIndexer.positionToIndex(positions, dimensSizes)] = newValues[u];
@Override public long getLongPosition( final int dim ) { return IntervalIndexer.indexToPositionWithOffset( index, dimensions, steps, min, dim ); }
public ArrayImg( final A data, final long[] dim, final Fraction entitiesPerPixel ) { super( dim, entitiesPerPixel ); this.dim = new int[ n ]; for ( int d = 0; d < n; ++d ) this.dim[ d ] = ( int ) dim[ d ]; this.steps = new int[ n ]; IntervalIndexer.createAllocationSteps( this.dim, this.steps ); this.data = data; }