I have made some simple image processing software that works
by applying combinations of functions to pixels in the image. Functions fall
into a group determined by their input type and calculated output type. The
program systematically combines functions into all permutations and applies
them to the image. I have used every double <- double function in the C#
math library. This does not really make sense, but some of the nonsensical combinations
make interesting results. The program doesn’t really produce very meaningful results
but some of them look nice.

Function categories

- pixel <- value
- value <- pixel
- value <- value
- pixel <- pixel
- image <- image

An example combination

- Function 1: Calculate the sum of elements in a pixel
- Function 2: Calculate the mean and standard deviation of all (Function 1) pixel values, and then calculate the Z values for each pixel
- Function 2: Map the Z values back to pixels by interpolating between black where z = -3, and white where z = +3.

Results of processed images

Some more results of processed images