public SubsampleView( final RandomAccessible< T > source, final long step ) { this.source = source; this.steps = new long[ source.numDimensions() ]; for ( int d = 0; d < steps.length; ++d ) steps[ d ] = step; }
@Override public int numDimensions() { return source.numDimensions(); }
@Override public int numDimensions() { return source.numDimensions(); }
@Override public int numDimensions() { return source.numDimensions(); } }
public NeighborhoodsAccessible( final RandomAccessible< T > source, final long span, final int[] increments, final PeriodicLineNeighborhoodFactory< T > factory ) { super( source.numDimensions() ); this.source = source; this.span = span; this.increments = increments; this.factory = factory; }
public NeighborhoodsAccessible( final RandomAccessible< T > source, final long radius, final DiamondTipsNeighborhoodFactory< T > factory ) { super( source.numDimensions() ); this.source = source; this.radius = radius; this.factory = factory; }
public NeighborhoodsAccessible( final RandomAccessible< T > source, final Interval span, final RectangleNeighborhoodFactory< T > factory ) { super( source.numDimensions() ); this.source = source; this.span = span; this.factory = factory; }
@Override public int numDimensions() { return source.numDimensions(); }
@Override public int numDimensions() { return source.numDimensions(); }
public SimpleInterruptibleProjector( final RandomAccessible< A > source, final Converter< ? super A, B > converter, final RandomAccessibleInterval< B > target, final int numThreads, final ExecutorService executorService ) { super( source.numDimensions(), converter, target ); this.source = source; this.numThreads = numThreads; this.executorService = executorService; lastFrameRenderNanoTime = -1; }
public SubsampleView( final RandomAccessible< T > source, final long... steps ) { assert steps.length >= source.numDimensions(): "Dimensions do not match."; this.source = source; this.steps = steps.clone(); }
public LocalNeighborhood( final RandomAccessible< T > source, final Localizable center ) { this.numDimensions = source.numDimensions(); this.center = new long[ numDimensions ]; center.localize( this.center ); this.size = Util.pow( 3, numDimensions ) - 1; this.source = source; }
public HyperSphere( final RandomAccessible< T > source, final Localizable center, final long radius ) { this.numDimensions = source.numDimensions(); this.source = source; this.center = new long[ numDimensions ]; center.localize( this.center ); updateRadius( radius ); }
public HyperSphere( final RandomAccessible< T > source, final Localizable center, final long radius ) { this.numDimensions = source.numDimensions(); this.source = source; this.center = new long[ numDimensions ]; center.localize( this.center ); updateRadius( radius ); }
public TransformView( final RandomAccessible< T > source, final Transform transformToSource ) { assert source.numDimensions() == transformToSource.numTargetDimensions(); this.n = transformToSource.numSourceDimensions(); this.source = source; this.transformToSource = transformToSource; fullViewRandomAccessible = null; }
public LocalNeighborhood( final RandomAccessible< T > source, final Localizable center ) { this.numDimensions = source.numDimensions(); this.center = new long[ numDimensions ]; center.localize( this.center ); this.size = Util.pow( 3, numDimensions ) - 1; this.source = source; }
public TransformView( final RandomAccessible< T > source, final Transform transformToSource ) { assert source.numDimensions() == transformToSource.numTargetDimensions(); this.n = transformToSource.numSourceDimensions(); this.source = source; this.transformToSource = transformToSource; fullViewRandomAccessible = null; }
public HyperSphereCursor( final RandomAccessible< T > source, final long[] center, final long radius ) { this.source = source; this.center = center.clone(); this.radius = radius; this.numDimensions = source.numDimensions(); this.maxDim = numDimensions - 1; this.r = new long[ numDimensions ]; this.s = new long[ numDimensions ]; this.randomAccess = source.randomAccess(); reset(); }
public void convolve() { final long[] min = new long[ img.numDimensions() ]; final long[] max = new long[ img.numDimensions() ]; final Pair< Interval, Interval > fftIntervals = setupFFTs( imgInterval, kernelInterval, min, max ); // compute the FFT of the image if it does not exist yet if ( fftImg == null ) fftImg = computeImgFFT( fftIntervals.getA(), img, fftFactory, service ); // compute the FFT of the kernel if it does not exist yet if ( fftKernel == null ) fftKernel = computeKernelFFT( fftIntervals.getB(), min, max, complexConjugate, kernel, fftFactory, service ); computeConvolution( fftImg, fftKernel, output, keepImgFFT, service ); }
@Override public < T > NeighborhoodsAccessible< T > neighborhoodsRandomAccessible( final RandomAccessible< T > source ) { final RectangleNeighborhoodFactory< T > f = skipCenter ? RectangleNeighborhoodSkipCenterUnsafe.< T >factory() : RectangleNeighborhoodUnsafe.< T >factory(); final Interval spanInterval = createSpan( source.numDimensions() ); return new NeighborhoodsAccessible< T >( source, spanInterval, f ); }