Module org.scijava.ops.image
Package org.scijava.ops.image.deconvolve
Class RichardsonLucyC<I extends RealType<I>,O extends RealType<O>,K extends RealType<K>,C extends ComplexType<C>>
- java.lang.Object
-
- org.scijava.ops.image.deconvolve.RichardsonLucyC<I,O,K,C>
-
- Type Parameters:
I-O-K-C-
- All Implemented Interfaces:
Computers.Arity12<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,RandomAccessibleInterval<C>,RandomAccessibleInterval<C>,Boolean,Boolean,C,Integer,Boolean,Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>,List<Inplaces.Arity1<RandomAccessibleInterval<O>>>,RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>,Consumers.Arity13<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,RandomAccessibleInterval<C>,RandomAccessibleInterval<C>,Boolean,Boolean,C,Integer,Boolean,Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>,List<Inplaces.Arity1<RandomAccessibleInterval<O>>>,RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>
public class RichardsonLucyC<I extends RealType<I>,O extends RealType<O>,K extends RealType<K>,C extends ComplexType<C>> extends Object implements Computers.Arity12<RandomAccessibleInterval<I>,RandomAccessibleInterval<K>,RandomAccessibleInterval<C>,RandomAccessibleInterval<C>,Boolean,Boolean,C,Integer,Boolean,Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>,List<Inplaces.Arity1<RandomAccessibleInterval<O>>>,RandomAccessibleInterval<O>,RandomAccessibleInterval<O>>
Richardson Lucy algorithm for (@link RandomAccessibleInterval) (Lucy, L. B. (1974). "An iterative technique for the rectification of observed distributions".)- Author:
- Brian Northan
- Implementation Note:
- op names='deconvolve.richardsonLucy', priority='100.'
-
-
Constructor Summary
Constructors Constructor Description RichardsonLucyC()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompute(RandomAccessibleInterval<I> in, RandomAccessibleInterval<K> kernel, RandomAccessibleInterval<C> fftInput, RandomAccessibleInterval<C> fftKernel, Boolean performInputFFT, Boolean performKernelFFT, C complexType, Integer maxIterations, Boolean accelerate, Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>> updateOp, List<Inplaces.Arity1<RandomAccessibleInterval<O>>> iterativePostProcessingOps, RandomAccessibleInterval<O> raiExtendedEstimate, RandomAccessibleInterval<O> out)TODO-
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.Computers.Arity12
accept
-
Methods inherited from interface org.scijava.function.Consumers.Arity13
andThen
-
-
-
-
Method Detail
-
compute
public void compute(RandomAccessibleInterval<I> in, RandomAccessibleInterval<K> kernel, RandomAccessibleInterval<C> fftInput, RandomAccessibleInterval<C> fftKernel, Boolean performInputFFT, Boolean performKernelFFT, C complexType, Integer maxIterations, Boolean accelerate, Computers.Arity1<RandomAccessibleInterval<O>,RandomAccessibleInterval<O>> updateOp, List<Inplaces.Arity1<RandomAccessibleInterval<O>>> iterativePostProcessingOps, RandomAccessibleInterval<O> raiExtendedEstimate, RandomAccessibleInterval<O> out)
TODO- Specified by:
computein interfaceComputers.Arity12<RandomAccessibleInterval<I extends RealType<I>>,RandomAccessibleInterval<K extends RealType<K>>,RandomAccessibleInterval<C extends ComplexType<C>>,RandomAccessibleInterval<C extends ComplexType<C>>,Boolean,Boolean,C extends ComplexType<C>,Integer,Boolean,Computers.Arity1<RandomAccessibleInterval<O extends RealType<O>>,RandomAccessibleInterval<O extends RealType<O>>>,List<Inplaces.Arity1<RandomAccessibleInterval<O extends RealType<O>>>>,RandomAccessibleInterval<O extends RealType<O>>,RandomAccessibleInterval<O extends RealType<O>>>- Parameters:
in- the input datakernel- the kernelfftInput- A buffer to be used to store kernel FFTs.fftKernel- A buffer to be used to store kernel FFTs.performInputFFT- boolean indicating that the input FFT has already been calculated. If true, the FFT will be taken on the input.performKernelFFT- boolean indicating that the kernel FFT has already been calculated. If true, the FFT will be taken on the kernel.complexType- An instance of the type to be used in the Fourier space.maxIterations- Maximum number of iterations to perform.accelerate- indicates whether or not to use accelerationupdateOp- Op that computes Richardson Lucy update, can be overridden to implement variations of the algorithm (like RichardsonLucyTV).iterativePostProcessingOps- A list of optional constraints that are applied at the end of each iteration (ie can be used to achieve noise removal, non-circulant normalization, etc.).raiExtendedEstimate- The current estimate, by passing in the current estimate the user can define the starting point (first guess), if no starting estimate is provided the default starting point will be the input image.out- the output buffer
-
-