Skip to content

AnotherSubatomo/Cezanne

Repository files navigation

Cezanne

A collection of image filters, parallelizable via a custom multithreader.

Last Commit Release version License: MIT


Cezanne provides a set of various filters which you can use off the shelf via direct requires, or as a parameter to the custom parallelizer system.

Note

Ironically, the parallelizer system seems to be slower than direct requires (which are singlethreaded by nature). While this remains a persistent problem, please refrain from using the multithreader. This note will be removed once the problem is resolved or discontinued as a whole.

All filters provided by the repository have a common function signature, being:

(ImageSize: vector, InputImage: buffer, OutputImage: buffer, ...: any) -> ()

where ...: any is a placeholder for parameters unique to the filter's functionality. All valid Cezanne filters (i.e. filters that can be passed as a parameter to the custom multithreader) must have these parameters, with their order and arity retained.

Filters

The following are the image filters implemented by the repository at filters. As of now, data regarding their implementation status in the only data visible. Data such as their average time taken and example images showcasing their visual output, are yet to be added.

Feature Implementation Status
Greyscale
Mean Blur
Gaussian Blur
Kuwahara
Sobel Edge
Gaussian Edge
Extended Difference of Gaussians
Monochromatic Error-Diffused Dithering
Chromatic Error-Diffused Dithering
Error-Diffused Palette Quantizer

[1] The name was based on the famous still-life painter, Paul Cézanne.

[2] This project actually started on the late August of 2024 and was set to be finished and released to the public on September, but was postponed as school had just started again and development had to be pulled back a bit. I also started to gain interest in other more complex subjects to program around this time, which distracted me away.

Releases

No releases published

Packages

 
 
 

Contributors

Languages