- java.lang.Object
-
- org.scijava.ops.image.filter.convolve.NaiveConvolutions
-
public class NaiveConvolutions extends Object
A collection of convolution Ops that operate purely in the physical (i.e. not Fourier) domain.- Author:
- Brian Northan, Gabriel Selzer
-
-
Constructor Summary
Constructors Constructor Description NaiveConvolutions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <I extends RealType<I>,K extends RealType<K>,O extends RealType<O>>
RandomAccessibleInterval<O>convolveNaive(BiFunction<RandomAccessibleInterval<I>,O,RandomAccessibleInterval<O>> creator, RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, O outType, OutOfBoundsFactory<I,RandomAccessibleInterval<I>> outOfBoundsFactory)A simple implementation of convolution that operates purely in the physical domain.static <I extends RealType<I>,K extends RealType<K>,O extends RealType<O>>
voidconvolveNaive(RandomAccessible<I> input, RandomAccessibleInterval<K> kernel, RandomAccessibleInterval<O> output)A simple implementation of convolution that operates purely in the physical domain.static <I extends RealType<I>,K extends RealType<K>>
RandomAccessibleInterval<FloatType>convolveNaiveToFloats(BiFunction<RandomAccessibleInterval<I>,FloatType,RandomAccessibleInterval<FloatType>> creator, RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, OutOfBoundsFactory<I,RandomAccessibleInterval<I>> outOfBoundsFactory)A simple implementation of convolution that operates purely in the physical domain.
-
-
-
Method Detail
-
convolveNaiveToFloats
public static <I extends RealType<I>,K extends RealType<K>> RandomAccessibleInterval<FloatType> convolveNaiveToFloats(BiFunction<RandomAccessibleInterval<I>,FloatType,RandomAccessibleInterval<FloatType>> creator, RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, OutOfBoundsFactory<I,RandomAccessibleInterval<I>> outOfBoundsFactory)
A simple implementation of convolution that operates purely in the physical domain.- Parameters:
creator- a Op that can create an output imageinput- the input datakernel- the kerneloutOfBoundsFactory- used to fill in out-of-bounds indices on the input data- Returns:
- the convolution of
inputandkernel - Implementation Note:
- op names="filter.convolve, filter.convolveNaive"
-
convolveNaive
public static <I extends RealType<I>,K extends RealType<K>,O extends RealType<O>> RandomAccessibleInterval<O> convolveNaive(BiFunction<RandomAccessibleInterval<I>,O,RandomAccessibleInterval<O>> creator, RandomAccessibleInterval<I> input, RandomAccessibleInterval<K> kernel, O outType, OutOfBoundsFactory<I,RandomAccessibleInterval<I>> outOfBoundsFactory)
A simple implementation of convolution that operates purely in the physical domain.- Parameters:
creator- a Op that can create an output imageinput- the input datakernel- the kerneloutType- the expected element typeoutOfBoundsFactory- used to fill in out-of-bounds indices on the input data- Returns:
- the convolution of
inputandkernel - Implementation Note:
- op names="filter.convolve, filter.convolveNaive"
-
convolveNaive
public static <I extends RealType<I>,K extends RealType<K>,O extends RealType<O>> void convolveNaive(RandomAccessible<I> input, RandomAccessibleInterval<K> kernel, RandomAccessibleInterval<O> output)
A simple implementation of convolution that operates purely in the physical domain.- Parameters:
input- the input datakernel- the kerneloutput- a pre-allocated output buffer- Implementation Note:
- op names="filter.convolve, filter.convolveNaive" type=Computer
-
-