Skip to content

mecotrade/eyechart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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