Module org.scijava.ops.image
Package org.scijava.ops.image.deconvolve
Class PadAndRichardsonLucyTV<I extends RealType<I> & NativeType<I>,O extends RealType<O> & NativeType<O>,K extends RealType<K> & NativeType<K>,C extends ComplexType<C> & NativeType<C>>
- java.lang.Object
-
- org.scijava.ops.image.deconvolve.PadAndRichardsonLucyTV<I,O,K,C>
-
- Type Parameters:
I-O-K-C-
- All Implemented Interfaces:
Functions.Arity10<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,O,C,Integer,Boolean,Boolean,Float,long[],OutOfBoundsFactory<I,RandomAccessibleInterval<I>>,RandomAccessibleInterval<O>>
public class PadAndRichardsonLucyTV<I extends RealType<I> & NativeType<I>,O extends RealType<O> & NativeType<O>,K extends RealType<K> & NativeType<K>,C extends ComplexType<C> & NativeType<C>> extends Object implements Functions.Arity10<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,O,C,Integer,Boolean,Boolean,Float,long[],OutOfBoundsFactory<I,RandomAccessibleInterval<I>>,RandomAccessibleInterval<O>>
Richardson Lucy with total variation function op that operates on (@link RandomAccessibleInterval) (Richardson-Lucy algorithm with total variation regularization for 3D confocal microscope deconvolution Microsc Res Rech 2006 Apr; 69(4)- 260-6)- Author:
- Brian Northan
- Implementation Note:
- op names='deconvolve.richardsonLucyTV', priority='100.'
-
-
Constructor Summary
Constructors Constructor Description PadAndRichardsonLucyTV()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.scijava.function.Functions.Arity10
andThen
-
-
-
-
Method Detail
-
createFilterComputer
public Computers.Arity2<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,RandomAccessibleInterval<O>> createFilterComputer(RandomAccessibleInterval<I> raiExtendedInput, RandomAccessibleInterval<K> raiExtendedKernel, RandomAccessibleInterval<C> fftImg, RandomAccessibleInterval<C> fftKernel, boolean accelerate, RandomAccessibleInterval<O> output)
create a richardson lucy filter
-
computeFilter
public void computeFilter(RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, RandomAccessibleInterval<O> output, long[] paddedSize, C complexType, boolean accelerate)
create FFT memory, create FFT filter and run it
-
apply
public RandomAccessibleInterval<O> apply(RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, O outType, C complexType, Integer maxIterations, Boolean nonCirculant, Boolean accelerate, Float regularizationFactor, long[] borderSize, OutOfBoundsFactory<I,RandomAccessibleInterval<I>> obfInput)
TODO- Specified by:
applyin interfaceFunctions.Arity10<RandomAccessibleInterval<I extends RealType<I> & NativeType<I>>,RandomAccessibleInterval<K extends RealType<K> & NativeType<K>>,O extends RealType<O> & NativeType<O>,C extends ComplexType<C> & NativeType<C>,Integer,Boolean,Boolean,Float,long[],OutOfBoundsFactory<I extends RealType<I> & NativeType<I>,RandomAccessibleInterval<I extends RealType<I> & NativeType<I>>>,RandomAccessibleInterval<O extends RealType<O> & NativeType<O>>>- Parameters:
input-kernel-outType-complexType-maxIterations- max number of iterationsnonCirculant- indicates whether to use non-circulant edge handlingaccelerate- indicates whether or not to use accelerationregularizationFactor-borderSize-obfInput-- Returns:
- the deconvolution of the input data
-
getComputeEstimateOp
protected Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>> getComputeEstimateOp()
-
-