The project contains simple renderer for visual acuity test charts. The output is either a single image file, or three printable at A4 paper images, which can be printed on standard office device and stitched together.
The following chart types are implemented:
- Golovin-Sivtsev Table with straight or curved letter K,
- The Landolt C, also known as a Landolt ring, Landolt broken ring, or Japanese vision test,
- E chart, also known as a tumbling E chart.
While passing frequently eye acuity test, any eye chart could be memorized, which makes the test inefficient. To address this issue, for each chart type it is possible to produces both the standard symbol ordering and a shuffled version of the table.
Different kinds of shuffling are possible:
shifted
the symbols order is the same, the leading symbol is shifted by a random number,global_shuffle
symbols are globally shuffled,line_shuffle
symbols are shuffled line-wise,shifted_line_shuffle
the leading symbols is shifted by a random number, then symbols are shuffled line-wise,random
random sample with replacement from standard list of symbolssmart_random
random sample with replacement and an attempt to avoid appearance of two or more same symbols in a row.
To produce eye chart run the following command:
python eyechart.py -t <type> -g <shuffle>
The complete option description can be obtained as follows:
python eyechart.py -h