It's not compatible anymore but that is how you can do it: [https://github.com/edubart/arraymancer-vision/blob/master/src/arraymancer_vision/filters.nim](https://github.com/edubart/arraymancer-vision/blob/master/src/arraymancer_vision/filters.nim)
That said, for convolution / cross-correlation filters like blur you can use conv2D: [https://github.com/mratsim/Arraymancer/blob/master/src/nn_primitives/nnp_convolution.nim#L28-L31](https://github.com/mratsim/Arraymancer/blob/master/src/nn_primitives/nnp_convolution.nim#L28-L31) * you can use a zero bias for image processing (it's values that are added to the result of the convolution). * it uses a batch of images as input not a single one (format NCHW, N image number, C color channels, H height, W width) there is a converter to convert from HWC to CHW * Reading images is done here: [https://github.com/mratsim/Arraymancer/blob/0605c7fcd34e216623a891f4963d2a4ef98882b1/src/io/io_image.nim#L20-L54](https://github.com/mratsim/Arraymancer/blob/0605c7fcd34e216623a891f4963d2a4ef98882b1/src/io/io_image.nim#L20-L54) * you can `myImage.read_image().unsqueeze(0)` to have the image in the proper format for convolution.