Trait ConvolutionExt

Source
pub trait ConvolutionExt<T: Copy>
where Self: Sized,
{ type Output; // Required methods fn conv2d<U: Data<Elem = T>>( &self, kernel: ArrayBase<U, Ix3>, ) -> Result<Self::Output, Error>; fn conv2d_inplace<U: Data<Elem = T>>( &mut self, kernel: ArrayBase<U, Ix3>, ) -> Result<(), Error>; fn conv2d_with_padding<U: Data<Elem = T>>( &self, kernel: ArrayBase<U, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<Self::Output, Error>; fn conv2d_inplace_with_padding<U: Data<Elem = T>>( &mut self, kernel: ArrayBase<U, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<(), Error>; }
Expand description

Perform image convolutions

Required Associated Types§

Source

type Output

Type for the output as data will have to be allocated

Required Methods§

Source

fn conv2d<U: Data<Elem = T>>( &self, kernel: ArrayBase<U, Ix3>, ) -> Result<Self::Output, Error>

Perform a convolution returning the resultant data applies the default padding of zero padding

Source

fn conv2d_inplace<U: Data<Elem = T>>( &mut self, kernel: ArrayBase<U, Ix3>, ) -> Result<(), Error>

Performs the convolution inplace mutating the containers data applies the default padding of zero padding

Source

fn conv2d_with_padding<U: Data<Elem = T>>( &self, kernel: ArrayBase<U, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<Self::Output, Error>

Perform a convolution returning the resultant data applies the default padding of zero padding

Source

fn conv2d_inplace_with_padding<U: Data<Elem = T>>( &mut self, kernel: ArrayBase<U, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<(), Error>

Performs the convolution inplace mutating the containers data applies the default padding of zero padding

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T, U> ConvolutionExt<T> for ArrayBase<U, Ix3>
where U: DataMut<Elem = T>, T: Copy + Clone + Num + NumAssignOps,

Source§

type Output = ArrayBase<OwnedRepr<T>, Dim<[usize; 3]>>

Source§

fn conv2d<B: Data<Elem = T>>( &self, kernel: ArrayBase<B, Ix3>, ) -> Result<Self::Output, Error>

Source§

fn conv2d_inplace<B: Data<Elem = T>>( &mut self, kernel: ArrayBase<B, Ix3>, ) -> Result<(), Error>

Source§

fn conv2d_with_padding<B: Data<Elem = T>>( &self, kernel: ArrayBase<B, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<Self::Output, Error>

Source§

fn conv2d_inplace_with_padding<B: Data<Elem = T>>( &mut self, kernel: ArrayBase<B, Ix3>, strategy: &impl PaddingStrategy<T>, ) -> Result<(), Error>

Implementors§

Source§

impl<T, U, C> ConvolutionExt<T> for ImageBase<U, C>
where U: DataMut<Elem = T>, T: Copy + Clone + Num + NumAssignOps, C: ColourModel,