Some often used template sets are built into this program:
Some of the template set will not work without the correct initial state and boundary cell values. The simulator does the required changes for the user:
Logic NOT (initial state = 0) Edge Extraction (initial state = 0) Convex Corner Extraction (initial state = input) Noise Removal (initial state = input) Isolated Pixel Removal (initial state = 0) Uncoupled Horizontal Line Detection (initial state = input) Coupled Horizontal Line Detection (initial state = input) Shadowing I (initial state = input) Shadowing II (initial state = 1) Symmetrical Shadowing (initial state = 1) Hole Filling (initial state = 1) Connected Component Detection (initial state = input) Global Connectivity Detection (initial state = input) Figure Reconstruction (initial state = -1)
For example the 'Hole Filling' template set needs an initial state value of +1 for every regular cell. As soon as you choose this template set, the initial state of every cell is set to +1(black) and the input and state boundary cells are set to -1(white).
copying the input picture to the state picture if initial state = input is required OR resetting the state picture to a constant value for initial state = const setting suitable boundary conditions
Nevertheless, the user can override these settings by choosing different initial states and boundary conditions.
The template sets appear in parametric form with a parameter q. A simple parser is included in this program that allows to analyze the mathematical expressions. The only allowed tokens are: + - * / q and decimal values.
1+2q+3*q*q 3.1415926 1/q q+1.15