MRaster examples 21.0.0.0
Image Processing Library
Loading...
Searching...
No Matches
mandelbrot_grayscale.cpp File Reference

Draw a grayscale Mandelbrot Set. More...

Go to the source code of this file.

Detailed Description

Draw a grayscale Mandelbrot Set.

Author
Mitch Richling https://www.mitchr.me
Standards
C++20
Details

The escape time Mandelbrot rendering algorithm delivers us a single data point, the iteration count, per pixel. Niavely this maps directly to a monochrome image; however, the iteration counts used are frequently beyond 256 – the limit for most display technology. Additionally the spatial distribution of these counts is quite compressed near the edige of the Mandelbrot set leading to visually unsatsifying results. In responce a great many schemes have been developed to colorize the results, and the vast majoritiy of these schemes can be broken down into standard image processing steps used in scientific image analyssis. This program takes a very directrect approach and produces a deep (16-bit) greyscale TIFF image. This image may then be loaded up in your favroith scietific image analysis pacakger (Mine is Fiji an ImageJ derivative), where one may then quickly play with various coloring schemes. Most of thje classic ones can be reporduced in one or two steps – a LUT and perhaps a homogenious mathematical filter. This is a great way to expore known coloring schemes, and to develop new ones.

Notes:

  • Uses a deep, greyscale image.
  • Outputs a TIFF
  • Optimization to avoid the main cardioid boundry and period 2 disk
  • Uses an automatic histogram streach to expand the visual contract. I leave this step off when using Fiji.

Definition in file mandelbrot_grayscale.cpp.