|
61 | 61 | * @param <C> |
62 | 62 | * @implNote op names='deconvolve.richardsonLucy', priority='100.' |
63 | 63 | */ |
64 | | -public class RichardsonLucyF<I extends RealType<I> & NativeType<I>, O extends RealType<O> & NativeType<O>, K extends RealType<K> & NativeType<K>, C extends ComplexType<C> & NativeType<C>> |
| 64 | +public class PadAndRichardsonLucy<I extends RealType<I> & NativeType<I>, O extends RealType<O> & NativeType<O>, K extends RealType<K> & NativeType<K>, C extends ComplexType<C> & NativeType<C>> |
65 | 65 | implements |
66 | 66 | Functions.Arity10<RandomAccessibleInterval<I>, RandomAccessibleInterval<K>, O, C, Integer, Boolean, Boolean, long[], OutOfBoundsFactory<I, RandomAccessibleInterval<I>>, OutOfBoundsFactory<K, RandomAccessibleInterval<K>>, RandomAccessibleInterval<O>> { |
67 | 67 |
|
@@ -196,15 +196,24 @@ private void computeFilter(final RandomAccessibleInterval<I> input, |
196 | 196 | @Override |
197 | 197 | public RandomAccessibleInterval<O> apply(RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, |
198 | 198 | O outType, C complexType, Integer maxIterations, |
199 | | - Boolean nonCirculant, Boolean accelerate, |
| 199 | + @Nullable Boolean nonCirculant, @Nullable Boolean accelerate, |
200 | 200 | @Nullable long[] borderSize, |
201 | 201 | @Nullable OutOfBoundsFactory<I, RandomAccessibleInterval<I>> obfInput, |
202 | 202 | @Nullable OutOfBoundsFactory<K, RandomAccessibleInterval<K>> obfKernel) |
203 | 203 | { |
204 | 204 | if (obfInput == null) |
205 | 205 | obfInput = new OutOfBoundsConstantValueFactory<>(Util.getTypeFromInterval(input).createVariable()); |
206 | 206 |
|
207 | | - this.nonCirculant = nonCirculant; |
| 207 | + if (nonCirculant == null) { |
| 208 | + this.nonCirculant = false; |
| 209 | + } |
| 210 | + else { |
| 211 | + this.nonCirculant = nonCirculant; |
| 212 | + } |
| 213 | + |
| 214 | + if (accelerate == null) { |
| 215 | + accelerate = false; |
| 216 | + } |
208 | 217 | this.maxIterations = maxIterations; |
209 | 218 |
|
210 | 219 | RandomAccessibleInterval<O> output = outputCreator.apply(input, outType); |
|
0 commit comments