Real Kernel Processor<T> Class
Kernel processor for real-valued kernels and signals.
Definition
Namespace: Numerics.NET.SignalProcessing
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
public class RealKernelProcessor<T> : KernelProcessor<T>
- Inheritance
- Object → KernelProcessor<T> → RealKernelProcessor<T>
Type Parameters
- T
- The element type (double or float).
Remarks
This class performs convolution and correlation operations on real-valued signals using real-valued kernels. It provides high-performance implementations optimized for real arithmetic.
Real-valued Operations:
For real signals, convolution and correlation are similar except for kernel reversal:
- Convolution: Uses the kernel as-is
- Correlation: Equivalent to convolution with time-reversed kernel
This behavior matches NumPy's np.convolve and np.correlate functions, as well as SciPy's scipy.signal.convolve and scipy.signal.correlate.
Properties
| Anchor |
Gets the kernel anchor configuration that determines the alignment between kernel and signal.
(Inherited from KernelProcessor<T>) |
| Kernel |
Gets the length of the kernel.
(Inherited from KernelProcessor<T>) |
| Kernel |
Gets a read-only span view of the kernel array for internal use by derived classes.
(Inherited from KernelProcessor<T>) |
| Mode |
Gets the output mode that determines the size and alignment of the convolution/correlation result.
(Inherited from KernelProcessor<T>) |
| Padding |
Gets the signal padding mode used for boundary extension.
(Inherited from KernelProcessor<T>) |
| Processing |
Gets the processing method used for convolution/correlation computation.
(Inherited from KernelProcessor<T>) |
Methods
| Auto |
Computes the autocorrelation of a vector (allocating).
(Inherited from KernelProcessor<T>) |
| Auto |
Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>) |
| Auto |
Computes the autocorrelation of a vector (non-allocating).
(Inherited from KernelProcessor<T>) |
| Auto |
Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>) |
| Convolve( |
Computes the convolution of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>) |
| Convolve( |
Computes the convolution of a signal with the stored kernel.
(Inherited from KernelProcessor<T>) |
| Convolve( |
Computes the convolution of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>) |
| Convolve( |
Computes the convolution of a real signal with the stored kernel.
(Overrides KernelProcessor<T>.Convolve(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32)) |
| Correlate( |
Computes the cross-correlation of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>) |
| Correlate( |
Computes the cross-correlation of a signal with the stored kernel.
(Inherited from KernelProcessor<T>) |
| Correlate( |
Computes the cross-correlation of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>) |
| Correlate( |
Computes the cross-correlation of a real signal with the stored kernel.
(Overrides KernelProcessor<T>.Correlate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32)) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get |
Calculates the expected output length for a given signal length based on the convolution mode.
(Inherited from KernelProcessor<T>) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
| Should |
Determines whether to use FFT-based or direct implementation based on signal and kernel sizes.
(Inherited from KernelProcessor<T>) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |