@Override public Runnable create( final double[] halfkernel, final RandomAccess< T > in, final RandomAccess< T > out, final int d, final long lineLength ) { return new ConvolverNativeTypeBuffered< T >( halfkernel, in, out, d, lineLength, type ); } }
private static < T extends NumericType< T > & NativeType< T > > void convolveNativeType( final double[][] halfkernels, final RandomAccessible< T > source, final RandomAccessibleInterval< T > target, final int numThreads ) { final T type = Util.getTypeFromInterval( target ); final ConvolverFactory< T, T > convfac; if ( canUseBufferedConvolver( target, halfkernels ) ) convfac = ConvolverNativeTypeBuffered.factory( type ); else convfac = ConvolverNativeType.factory( type ); final ImgFactory< T > imgfac = getImgFactory( target, halfkernels, type ); convolve( halfkernels, source, target, convfac, convfac, convfac, convfac, imgfac, type, numThreads ); }
private static < T extends NumericType< T > & NativeType< T > > void convolveNativeType( final double[][] halfkernels, final RandomAccessible< T > source, final RandomAccessibleInterval< T > target, final ExecutorService service ) { final T type = Util.getTypeFromInterval( target ); final ConvolverFactory< T, T > convfac; if ( canUseBufferedConvolver( target, halfkernels ) ) convfac = ConvolverNativeTypeBuffered.factory( type ); else convfac = ConvolverNativeType.factory( type ); final ImgFactory< T > imgfac = getImgFactory( target, halfkernels, type ); convolve( halfkernels, source, target, convfac, convfac, convfac, convfac, imgfac, service ); }
@Override public Runnable create( final double[] halfkernel, final RandomAccess< T > in, final RandomAccess< T > out, final int d, final long lineLength) { return new ConvolverNativeTypeBuffered< T >( halfkernel, in, out, d, lineLength, type ); } }