RealKernelProcessor<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#
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>)
KernelLength Gets the length of the kernel.
(Inherited from KernelProcessor<T>)
KernelSpan 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>)
ProcessingMethod Gets the processing method used for convolution/correlation computation.
(Inherited from KernelProcessor<T>)

Methods

AutoCorrelate(Vector<T>) Computes the autocorrelation of a vector (allocating).
(Inherited from KernelProcessor<T>)
AutoCorrelate(ReadOnlySpan<T>, Span<T>) Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>)
AutoCorrelate(Vector<T>, Vector<T>) Computes the autocorrelation of a vector (non-allocating).
(Inherited from KernelProcessor<T>)
AutoCorrelate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32) Computes the autocorrelation of a signal.
(Inherited from KernelProcessor<T>)
Convolve(Vector<T>) Computes the convolution of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>)
Convolve(ReadOnlySpan<T>, Span<T>) Computes the convolution of a signal with the stored kernel.
(Inherited from KernelProcessor<T>)
Convolve(Vector<T>, Vector<T>) Computes the convolution of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>)
Convolve(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32) Computes the convolution of a real signal with the stored kernel.
(Overrides KernelProcessor<T>.Convolve(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32))
Correlate(Vector<T>) Computes the cross-correlation of a vector with the stored kernel (allocating).
(Inherited from KernelProcessor<T>)
Correlate(ReadOnlySpan<T>, Span<T>) Computes the cross-correlation of a signal with the stored kernel.
(Inherited from KernelProcessor<T>)
Correlate(Vector<T>, Vector<T>) Computes the cross-correlation of a vector with the stored kernel (non-allocating).
(Inherited from KernelProcessor<T>)
Correlate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32) Computes the cross-correlation of a real signal with the stored kernel.
(Overrides KernelProcessor<T>.Correlate(Int32, ReadOnlySpan<T>, Int32, Int32, Span<T>, Int32))
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetOutputLength Calculates the expected output length for a given signal length based on the convolution mode.
(Inherited from KernelProcessor<T>)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
ShouldUseFft Determines whether to use FFT-based or direct implementation based on signal and kernel sizes.
(Inherited from KernelProcessor<T>)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also