@SuppressWarnings("unchecked") @Override public <T> T convert(final Object src, final Class<T> dest) { final long[] input = (long[]) src; return (T) new FinalInterval(input); }
public BlendingRealRandomAccessible( final Interval interval, final int[] border, final int[] blending ) { // in case the interval is actually image data re-instantiate just a simple FinalInterval this.interval = new FinalInterval( interval ); this.border = new float[ border.length ]; this.blending = new float[ blending.length ]; for ( int d = 0; d < border.length; ++d ) { this.blending[ d ] = blending[ d ]; this.border[ d ] = border[ d ]; } }
private static Interval initInterval( final int n ) { final long[] min = new long[ n ]; final long[] max = new long[ n ]; for ( int d = 0; d < n; ++d ) { min[ d ] = Long.MAX_VALUE; max[ d ] = Long.MIN_VALUE; } return new FinalInterval( min, max ); }
private LoopBuilder( final RandomAccessibleInterval< ? >... images ) { this.images = images; this.dimensions = new FinalInterval( images[ 0 ] ); Arrays.asList( images ).forEach( this::checkDimensions ); }
@Override public Interval getStructuringElementBoundingBox(final int numDimensions) { final long[] zeroMin = new long[numDimensions]; Arrays.fill(zeroMin, 0); return Intervals.union(new FinalInterval(zeroMin, zeroMin), new FinalInterval(offset, offset)); }
/** * @return bounding box as an interval. */ public Interval getInterval() { orderMinMax(); return new FinalInterval( corner1, corner2 ); } }
@SuppressWarnings("unchecked") @Override public <T> T convert(final Object src, final Class<T> dest) { final long[] longs = convertService.convert(src, long[].class); return (T) new FinalInterval(longs); }
public static SpimData spimdataExample( final int[] angles ) { final int axis = 0; final int numPoints = 1000; final double[] sigma = new double[]{ 1, 1, 3 }; final FinalInterval range = new FinalInterval( 512, 512, 200 ); return spimdataExample( angles, axis, numPoints, sigma, range ); }
@Override public Interval getStructuringElementBoundingBox(final int numDimensions) { final long[] min = new long[numDimensions]; Arrays.fill(min, -getRadius()); final long[] max = new long[numDimensions]; Arrays.fill(max, getRadius()); return new FinalInterval(min, max); } }
@Override public Interval getStructuringElementBoundingBox(final int numDimensions) { final long[] min = new long[numDimensions]; Arrays.fill(min, -getRadius()); final long[] max = new long[numDimensions]; Arrays.fill(max, getRadius()); return new FinalInterval(min, max); } }
public static void main(String[] args) { RegularTranslationParameters params = new RegularTranslationParameters(); params.nDimensions = 3; params.alternating = new boolean[] {true, true, true}; params.dimensionOrder = new int[] {1, 0, 2}; params.increasing = new boolean[] {true, true, true}; params.overlaps = new double[] {0.2, 0.2, 0.2}; params.nSteps = new int[] {3, 3, 2}; Dimensions dims = new FinalInterval( new long[] {100, 100, 100} ); generateRegularGrid( params, dims ); }
public static Function< long[], Pair< Interval, long[] > > croppedIntervalAndGridPosition( final long[] dimensions, final int[] blockSize ) { final CreateAndCropBlockToFitInterval makeInterval = new CreateAndCropBlockToFitInterval( blockSize, new FinalInterval( dimensions ) ); final GetGridCoordinates getGridCoordinates = new GetGridCoordinates( blockSize ); return blockMinimum -> new ValuePair<>( makeInterval.apply( blockMinimum ), getGridCoordinates.apply( blockMinimum ) ); }
@Override public P openPlane(final int imageIndex, final long planeIndex, final SCIFIOConfig config) throws FormatException, IOException { final Interval bounds = // new FinalInterval(metadata.get(imageIndex).getAxesLengthsPlanar()); return openPlane(imageIndex, planeIndex, bounds, config); }
@Override public void savePlane(final int imageIndex, final long planeIndex, final Plane plane) throws FormatException, IOException { final Interval bounds = // new FinalInterval(metadata.get(imageIndex).getAxesLengthsPlanar()); savePlane(imageIndex, planeIndex, plane, bounds); }
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 <R extends RealType<R>> Paste( final RandomAccessibleInterval<T> source, final IterableRealInterval<R> target, final long[] offset) throws Exception { this.background = AlgorithmUtil.type(source, 0); this.a = new ImageFunction<T>(new RandomAccessibleIntervalImgProxy<T>( Views.interval( Views.offset(Views.extendValue(source, background), offset), new FinalInterval(Util.intervalDimensions(target))))); this.b = new ImageFunction<R>(target); }
@Override public Plane openPlane(final int imageIndex, final long planeIndex, final SCIFIOConfig config) throws FormatException, IOException { final Interval bounds = new FinalInterval(// getMetadata().get(imageIndex).getAxesLengthsPlanar()); return openPlane(imageIndex, planeIndex, bounds, config); }
@Override public Interval requiredSourceInterval( final Interval targetInterval ) { final long[] min = Intervals.minAsLongArray( targetInterval ); final long[] max = Intervals.maxAsLongArray( targetInterval ); min[ direction ] -= factory.getBorderBefore(); max[ direction ] += factory.getBorderAfter(); return new FinalInterval( min, max ); }
/** * Tests {@link FinalInterval#FinalInterval(long[], long[])}. */ @Test public void testCtorMinMax() { final long[] min = { -5, -3, -4 }; final long[] max = { -4, 5, 0 }; final FinalInterval bounds = new FinalInterval( min, max ); assertInterval( -5, -3, -4, -4, 5, 0, 2, 9, 5, bounds ); }