Mapping - Serabe/rinzelight GitHub Wiki
Map methods apply a function to every pixel in an image. Ther are two maps by now:
-
map-pixel-location: appliesfto each pixel coordinates and places the pixel in the result location.
-
map-image: appliesfto each pixel and writes the result in the same location.
Unlike effects, whose first parameter is the image, maps’ first parameter is the function, in order to resemble map function.
map-pixel-location accepts two parameters: a function and an image. If it is supplied four, the third and fourth are taken as the new size of the image.
If you are want to work with map-pixel-location take a look at rinzelight.effects.helper-functions. You can find functions for rotating and flipping. Usually, map-pixel-location when used with helper-functions is faster than the affine transformation (just by a few ms).
A second function can be supplied in ordert to calculate the new size.
rotate-left and rotate-left-new-size helper functions are used.

map-image applies a function f to each pixel in an image. Then it writes in the same location the pixel returned by f.
This map is really slow by now, but I am trying to get it working faster.
The following is the result of (map-image invert-pixel img) where img is our well known photo of the northern lights.
