Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 1.61 KB

File metadata and controls

35 lines (28 loc) · 1.61 KB

EyeChart

Description

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 symbols
  • smart_random random sample with replacement and an attempt to avoid appearance of two or more same symbols in a row.

Usage

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