ndarray-conv-0.3.1 has been yanked.
ndarray-conv
ndarray-conv is a crate that provides a N-Dimension convolutions (with FFT acceleration) library in pure Rust.
Inspired by
ndarray-vision (https://github.com/rust-cv/ndarray-vision)
convolutions-rs (https://github.com/Conzel/convolutions-rs#readme)
pocketfft (https://github.com/mreineck/pocketfft)
Roadmap
- basic conv for N dimension
Array
/ArrayView
- conv with FFT acceleration for N dimension
Array
/ArrayView
- impl
ConvMode
andPaddingMode
-
ConvMode
: Full Same Valid Custom Explicit -
PaddingMode
: Zeros Const Reflect Replicate Circular Custom Explicit
-
- conv with strides
- kernel with dilation
- handle input size error
- explict error type
- bench with similar libs
Example
use *;
x_nd.conv;
x_1d.view.conv_fft;
x_2d.conv_fft;
// avoid loss of accuracy for fft ver
// convert Integer to Float before caculate.
x_3d.map
.conv_fft
.unwrap
.map;