# Namespace Bonsai.Dsp

### Classes

- Abs
Represents an operator that calculates the absolute value of each element in the sequence.

- AbsoluteDifference
Represents an operator that calculates the absolute difference between all pairs of arrays in the sequence.

- Accumulate
Represents an operator that calculates the cumulative sum of the arrays in a sequence and returns each intermediate result.

- ArrayTransform
Provides an abstract base class for operators that transform sequences of array-like objects.

- Average
Represents an operator that calculates the average, or arithmetic mean, of each channel for all the arrays in the sequence.

- BinaryArrayTransform
Provides an abstract base class for operators that perform a binary transformation on pairs of array-like objects in an observable sequence.

- BitBuffer
Represents an operator that demultiplexes individual bits of all the elements in a sequence into separate rows of a 2D array.

- Buffer
Represents an operator that collects each element of the sequence into zero or more array buffers based on element count information.

- Butterworth
Represents an operator that filters frequencies in the input signal using a Butterworth infinite-impulse response filter with the specified design parameters.

- CartToPolar
Represents an operator that computes the magnitude and angle of each array of 2D vectors in the sequence.

- Concat
Represents an operator that concatenates each set of arrays in the sequence into a single buffer.

- ConvertFromArray
Represents an operator that converts each managed array in the sequence into a 2D array buffer with the specified size, depth and number of channels.

- ConvertScale
Represents an operator that converts each array in the sequence to the specified bit depth, with optional linear transformation.

- ConvertToArray
Represents an operator that converts each array or collection in the sequence into a managed array.

- ConvertToMat
Represents an operator that converts each array-like object in the sequence into a 2D matrix.

- ConvertToSeq
Represents an operator that converts a fixed size array type into a sequence of elements.

- CountNonZero
Represents an operator that counts all the non-zero elements for each array in the sequence.

- Decimate
Represents an operator that decreases the sampling rate of the input signal by the specified factor.

- Delay
Represents an operator that delays the input signal by the specified number of samples.

- DetectSpikes
Represents an operator that detects spike events in the input signal and extracts their waveforms.

- Difference
Represents an operator that calculates the Nth difference between adjacent samples in the input signal.

- DiscreteFourierTransform
Represents an operator that performs a forward or inverse discrete Fourier transform on each 1D or 2D array in the sequence.

- Exp
Represents an operator that calculates the exponent of every element in the sequence.

- Extrema
Represents an operator that finds the global minimum and maximum of each array in the sequence.

- FirFilter
Represents an operator that convolves the input signal with a finite-impulse response filter kernel.

- FrequencyFilter
Represents an operator that filters frequencies in the input signal using a linear phase filter with the specified design parameters.

- FunctionGenerator
Represents an operator that generates signal waveforms following any of a set of common periodic functions.

- Histogram1D
Represents an operator that computes a sequence of one-dimensional histograms from each element in the sequence.

- Histogram2D
Represents an operator that computes a sequence of two-dimensional histograms from each element in the sequence.

- IirFilter
Represents an operator that filters the input signal using an infinite-impulse response.

- IncrementalMean
Represents an operator that incrementally computes the mean of the arrays in the sequence and returns each intermediate result.

- Log
Represents an operator that calculates the natural logarithm of the absolute value of every element in the sequence.

- Magnitude
Represents an operator that calculates the magnitude of 2D vector elements in the sequence.

- MatConverter
Provides a type converter to convert two-dimensional Mat objects to and from various other representations.

- MatchTemplate
Represents an operator that compares a template against overlapping regions of each array in the sequence.

- MatrixReader
Represents an operator that generates a sequence of signal sample buffers from the specified raw binary input stream.

- MatrixWriter
Represents an operator that writes each array-like object in the sequence to a raw binary output stream.

- Merge
Represents an operator that merges each set of arrays in the sequence into a single multi-channel array.

- Norm
Represents an operator that calculates the absolute array norm, absolute difference norm, or relative difference norm for each array in the sequence.

- Phase
Represents an operator that calculates the phase of 2D vector elements in the sequence.

- PolarToCart
Represents an operator that computes the cartesian coordinates of 2D vectors represented in polar form.

- Pow
Represents an operator that raises every element in the sequence to the specified power.

- Range
Represents an operator that generates a sequence of buffers filled with a specified range of numbers.

- RasterSpikes
Represents an operator that rasterizes a sequence of spike waveforms into sample buffers where spike timepoints are the only non-zero values.

- Reduce
Represents an operator that reduces every array in the sequence to a 1D vector using the specified operation.

- ReferenceChannels
Represents an operator that subtracts a reference channel from all the individual rows in a 2D array sequence.

- Rescale
Represents an operator that rescales each element in the sequence to a new range following the specified linear relationship.

- Reshape
Represents an operator that changes the shape of each array in the sequence without copying data.

- RunningAverage
Represents an operator that computes the running average of all the arrays in the sequence.

- ScalarBuffer
Represents an operator that generates a sequence with a single buffer where all elements are set to the same scalar value.

- SelectChannels
Represents an operator that selects a subset of the input channels or reorganizes channel layout for each array in the sequence.

- Shift
Represents an operator that shifts the elements of each array in the sequence by a specified offset.

- Skip
Represents an operator that skips a specified number of samples in the input signal.

- Slice
Represents an operator that splits each array in the sequence into multiple sub-arrays along the specified dimension.

- SpikeWaveform
Represents a single spike event extracted from an input signal.

- SpikeWaveformCollection
Represents a collection of spike waveforms detected by the DetectSpikes operator.

- Split
Represents an operator that splits the channels of each array in the sequence into separate arrays.

- Submatrix
Represents an operator that extracts a submatrix from each array in the sequence.

- Sum
Represents an operator that calculates the sum of each channel for all the arrays in the sequence.

- Threshold
Represents an operator that applies a fixed threshold to each element in the sequence.

- Tile
Represents an operator that replicates each array in the sequence along the horizontal or vertical dimensions.

- Transpose
Represents an operator that transposes every array in the sequence.

- TriggeredBuffer
Represents an operator that extracts a number of samples from the input signal whenever a trigger rises.

### Structs

- ArrayExtrema
Represents the minimum and maximum values of a 2D array, and their corresponding locations.

### Enums

- DownsamplingMethod
Specifies the downsampling method used to decimate digital signals.

- FilterType
Specifies the type of digital pass filter to apply on a signal.

- FunctionWaveform
Specifies the periodic function used to generate a signal waveform.

- MatrixLayout
Specifies how to store the elements of a multi-channel array or matrix in sequential memory.

- RescaleMethod
Specifies the method used to rescale values in the Rescale operator.

- SpikeWaveformRefinement
Specifies the spike waveform refinement method used in the DetectSpikes operator.