Class ComputeBlockSeqThreadCUDA
java.lang.Object
net.preibisch.mvrecon.process.deconvolution.iteration.ComputeBlockThreadAbstract
net.preibisch.mvrecon.process.deconvolution.iteration.sequential.ComputeBlockSeqThreadAbstract
net.preibisch.mvrecon.process.deconvolution.iteration.sequential.ComputeBlockSeqThreadCUDA
- All Implemented Interfaces:
ComputeBlockThread,ComputeBlockSeqThread
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.preibisch.mvrecon.process.deconvolution.iteration.ComputeBlockThread
ComputeBlockThread.IterationStatistics -
Constructor Summary
ConstructorsConstructorDescriptionComputeBlockSeqThreadCUDA(ExecutorService service, float minValue, float lambda, int id, int[] blockSize, CUDAFourierConvolution cuda, CUDADevice cudaDevice) -
Method Summary
Modifier and TypeMethodDescriptionvoidconvolve1(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> psi, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp1) voidconvolve2(net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel2, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp2) runIteration(DeconView view, Block block, net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> imgBlock, net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> weightBlock, float maxIntensityView, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel2) run an iteration on the blockMethods inherited from class net.preibisch.mvrecon.process.deconvolution.iteration.ComputeBlockThreadAbstract
getBlockSize, getId, getMinValue, getPsiBlockTmpMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.preibisch.mvrecon.process.deconvolution.iteration.ComputeBlockThread
getBlockSize, getId, getMinValue, getPsiBlockTmp
-
Constructor Details
-
ComputeBlockSeqThreadCUDA
public ComputeBlockSeqThreadCUDA(ExecutorService service, float minValue, float lambda, int id, int[] blockSize, CUDAFourierConvolution cuda, CUDADevice cudaDevice)
-
-
Method Details
-
runIteration
public ComputeBlockThread.IterationStatistics runIteration(DeconView view, Block block, net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> imgBlock, net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> weightBlock, float maxIntensityView, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel2) Description copied from interface:ComputeBlockSeqThreadrun an iteration on the block- Parameters:
view- - the input viewblock- - the Block instanceimgBlock- - the input image as block (virtual, outofbounds is zero)weightBlock- - the weights for this image (virtual, outofbounds is zero)maxIntensityView- - the maximum intensity of the viewkernel1- - psf1kernel2- - psf2- Returns:
- - statistics of this block
-
convolve1
public void convolve1(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> psi, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp1) -
convolve2
public void convolve2(net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp1, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> kernel2, net.imglib2.img.array.ArrayImg<net.imglib2.type.numeric.real.FloatType, ?> tmp2)
-