Note that I have started some image manipulation low-level primitives and also benchmarks in Impulse [https://github.com/SciNim/impulse](https://github.com/SciNim/impulse)
For example to apply an image filter I have benchmarked 5 low-level primitives here: [https://github.com/SciNim/impulse/blob/26e25e70/benchmarks/image_filters/filter2d_separable.nim](https://github.com/SciNim/impulse/blob/26e25e70/benchmarks/image_filters/filter2d_separable.nim), and the same with parallel implementation via Weave here: [https://github.com/SciNim/impulse/blob/26e25e70/benchmarks/image_filters/filter2d_separable_parallel.nim](https://github.com/SciNim/impulse/blob/26e25e70/benchmarks/image_filters/filter2d_separable_parallel.nim) Besides, I've also added a RGB to YUV420 / Y'CbCr conversion to Trace-of-Radiance here with BT601 color matrix support (Jpeg and BT.709 for HD video is straightforward) [https://github.com/mratsim/trace-of-radiance/blob/99f7d85d/trace_of_radiance/io/color_conversions.nim](https://github.com/mratsim/trace-of-radiance/blob/99f7d85d/trace_of_radiance/io/color_conversions.nim) In general I don't mind adding pure Nim primitives, potentially parallelized and vectorized for high-level image libraries provided I know what you need ;) (though my ultimate goal is to have something like Halide in pure Nim [https://halide-lang.org](https://halide-lang.org)/ instead of 2 stages code-generation). I.e. you can raise an issue on your need in Impulse [https://github.com/SciNim/impulse](https://github.com/SciNim/impulse). I've also wrapped PocketFFT C++ which provides multidimensional parallel FFTs (complex and real), DCT and DST (Discret Cosine Transform and Discrete Sine Transform) here though still wondering about the high level API: [https://github.com/SciNim/impulse/blob/26e25e70/impulse/fft/pocketfft.nim](https://github.com/SciNim/impulse/blob/26e25e70/impulse/fft/pocketfft.nim) I tried to implement a FFT in one weekend™ but it's too complex for a weekend task. If you're interested in resurrecting that code, that commits has a skeleton and plenty of documentation to build your own high performance FFT: [https://github.com/SciNim/impulse/tree/49b81323/impulse/fft](https://github.com/SciNim/impulse/tree/49b81323/impulse/fft) I do think there is quite an interest in image procesing in Nim so maybe a new channel on the Discord or a Gitter channel might have enough interest?
