This is the free, platform-independent Freiburg Visual Acuity Test + Contrast Test + Vernier Test. You can run the tests below within your browser or download it.
Please familiarize yourself with the response keys before testing: For 8 directions, the response keys are geographically arranged on a numeric keypad. If you don't have a numeric keypad, that's awkward. So go to Setup and select “4 choices”, then the cursor keys suffice as response buttons. To abort a test run, press the key ‘5’ twice or <escape>.
“We found that the Freiburg test was sensitive enough to show that there was a contrast sensitivity drop-off that was not picked up by traditional high contrast visual acuity testing.”
What is it?
The “Freiburg Vision Test” encompasses the “Freiburg Visual Acuity & Contrast Test” (FrACT) and Vernier Test to assess acuity and other visual functions. It is a free computer program that uses psychometric methods combined with anti-aliasing and dithering to provide automated, self-paced measurement of visual acuity (Bach 1996), contrast sensitivity and vernier acuity. The progression of optotype sizes is determined by the “best PEST” strategy. FrACT complies with the European Norm for acuity testing (EN ISO 8596) and is endorsed by the DOG. It is used world-wide by vision labs, optometrists, ophthalmologists and in clinical trials. It has been verified in independent laboratories (→publications). Results are optionally displayed as Snellen fraction, decimal acuity, or logMAR and full details can be exported for deeper analysis.
One of the major advantages of FrACT is its extremely wide range: from reproducibly assessing “hand movement” (Schulze-Bonsel et al. 2006; [PDF]) to acuities beyond 2.0decimal or >40/20Snellen correspondingt to less than –0.3logMAR.
Where can I get it?
Where can I learn more?
For an overview see this English introduction or eine deutsche Einführung. Detailed information on the program is available in “Bach M (1996) The “Freiburg Visual Acuity Test” – Automatic measurement of the visual acuity. Optometry & Vision Sci 73:49-53” [PDF], more background on acuity testing can be found in this German paper. There is a built-in help file, and a more detailed discussion of the various settings here: “FrACT3_Manual.pdf”. Finally, →here is a pertinent literature list.
Where to use?
- Routine patient examination
- Clinical studies were acuity or contrast sensitivity is an outcome variable (aided by results export)
- Subject screening in basic visual research
- To entertain your waiting patients
- Only limited by your imagination :)
What equipment do I need?
Just about any state-of-the-art computer (be it running the Macintosh operating system, Linux or Windows). For remote subject input see the “response box” below. If you are using an LCD and want to measure contrast thresholds, be sure the display is not of the 6-bit type (as in many laptops, more); for acuity those would be fine. Make certain that the best possible color depth is chosen.
What does it cost?
Nothing. But kind and thoughtful feedback is warmly appreciated. Please also keep updating me with papers where you’ve used it. And cite it (see next item).
How do I cite it?
If you used FrACT for your research, please cite it. The “generic” publication is:
Bach M (1996) The “Freiburg Visual Acuity Test” – Automatic measurement of visual acuity. Optometry and Vision Science 73:49–53 [→PDF],
or, more recent:
Bach M (2007) The Freiburg Visual Acuity Test – Variability unchanged by post-hoc re-analysis. Graefe’s Arch Clin Exp Ophthalmol [DOI] [→PDF]The briefest way to refer to the present page (its URL): <michaelbach.de/fract/>.
Details
If you ran a previous version, all settings in “Setup” may automatically be defaulted in order to update internal structures (depends on the exact versions). Version 3.x represents a complete rewrite of version 2.x. A comparison in 54 eyes found that acuity results differ between FrACT and FrACT3 by only ≈0.01 logMAR (thus below noise limits). Contrast testing is improved, the vernier test is being evaluated.
How to calibrate?
Enter the width of the calibration bar & the observation distance in the “Setup” interface. Be sure to have enough distance from the screen, so pixel resolution does not limit acuity. Also ponder about every entry in the Setup interface and set them appropriately; the defaults can not be optimal for every situation. In “FrACT3_Manual.pdf” all settings are explained in detail.
For the Contrast Test, you also need to go to “Setup>Luminance Linearisation” to linearise luminance (“gamma correction”) before testing. But see below for a cautionary note on the difficulties of contrast testing.
All settings in Setup are automatically saved.
Starting the test
Apart from using the obvious buttons a test run can also be conveniently started from the numerical keypad (digit 5). Enter the position of the appearing Landolt-C's gap via the numerical digit keys. These are spatially mapped to the 8 possible gap positions in an obvious way (“8”=top, “9”=top right, etc.). The digit key “5”, pressed twice, aborts an ongoing test run (and inhibits display of the premature result).
4 or 8 gap positions?
Depending on your application , you may wish to use only the 4 primary gap positions or to supplement it with the four oblique directions (altogether 8). FrACT allows both. Briefly: 4 directions are less easily confused, but guessing probability is higher; 8 positions allow more rapid determination of visual acuity as guessing probability is lower. Final outcome should be identical, but the number of runs must be adequately chosen, see next item.
Number of trials?
Default: 24 trials with 8 gap orientation choices, 30 trials with 4 gap orientations (because the guessing rate is higher). For ‘real’ scientific applications choose 8/30, or, better, repeat each condition (e.g. each eye at 18 trials, ideally in an ABBA scheme) and average. Why are all these numbers divisible by 6? Because every 6th trial is a “bonus trial”, where the optotype is presented at 3 times its current threshold estimate. This keeps your subjects happy, especially since the last trial is thus a ‘success’.
Keeping different setups
Often one wants different sets of Setups, e.g. for training vs. assessment, for near vs. far vision, for different age ranges, with vs. w/o crowding etc. Rather than change the Setup each time (with the danger to forget something), be informed that the Setup is stored per FrACT file. Thus, if you duplicate (appropriately renaming it) or put a copy in a different location, each will have their ‘personal’ Setup. Thus to switch between different sets of Setups, just quit and start the other version.
What is special about the Contrast Test?
Experience taught me that contrast testing is technically much more demanding than acuity testing.
- Stray light must be avoided
- Be sure to linearise luminance (“gamma correction”) before you test contrast (go to “Setup>Luminance Linearisation”); the best approach is to employ a screen calibrator (I'm using the Spyder), to calibrate the screen/computer with a gamma of 1.0, and set it so in “Setup>Luminance Linearisation” with the “gamma=1” button.
- In contrast to acuity, the time taken to inspect the optotype plays a sizable role.
- Normal contrast vision is better than normal screen luminance resolution (256 steps are not enough, especially after linearising (“gamma correction”). Like in the “old version”, which runs only on the Macintosh platform, this is now addressed via dithering [Bach M (1997) Anti-aliasing and dithering in the “Freiburg Visual Acuity Test’. Spatial Vision 11:85–89].
However: most portable computers do not even have an 8-bit screen depth, they only have a 6-bit screen depth and overcome this by dithering themselves. This “double dithering” is quite counterproductive. So be sure you have an 8-bit screen, be it LCD or CRT.
Key Action 5 start the test defined in setup a start Acuity l start acuity Letters c start Contrast v start Vernier e sEtup b aBout h Help t Test calibration q Quit = Exit 55 or <esc> abort running test Shortcuts
I am lazy and prefer to start actions without mousing, thus I added a number of shortcuts:
Literature
Specific for FrACT
- Lange C, Feltgen N, Junker B, Schulze-Bonsel K, Bach M (2009) Resolving the clinical acuity categories “hand motion” and “counting fingers” using the Freiburg Visual Acuity Test (FrACT). Graefe’s Arch Clin Exp Ophthalmol 247:137–142
- Bach M, Schulze-Bonsel K, Feltgen N, Burau M, Hansen LL (2007) Author Response: Numerical Imputation for Low Vision States. Invest Ophthalmol Vis Sci, eLetter Aug 2007
- Bach M (2007) The Freiburg Visual Acuity Test – Variability unchanged by post-hoc re-analysis. Graefe’s Arch Clin Exp Ophthalmol [→PDF]
- Bühren J, Terzi E, Bach M, Wesemann W, Kohnen T (2006) Measuring contrast sensitivity under different lighting conditions: Comparison of three tests. Optom Vision Sci 83:290–298
- Schulze-Bonsel K, Feltgen N, Burau H, Hansen LL, Bach M (2006) Visual acuities “Hand Motion” and “Counting Fingers” can be quantified using the Freiburg Visual Acuity Test. Invest Ophthalmol Vis Sci 47:1236–1240 [→PDF]
- Dennis RJ, Beer JM, Baldwin JB, Ivan DJ, Lorusso FJ, Thompson WT (2004) Using the Freiburg Acuity and Contrast Test to measure visual performance in USAF personnel after PRK. Optom Vis Sci 81:516–524
- Terzi E, Buhren J, Wesemann W, Kohnen T (2004) Frankfurt-Freiburg Contrast and Acuity Test System (FF-CATS) – A new test to determine contrast sensitivity under variable ambient and glare luminance levels [Article in German]. Ophthalmologe 102:507–513
- Loumann KL (2003) Visual acuity testing in diabetic subjects: the decimal progression chart versus the Freiburg visual acuity test. Graefes Arch Clin Exp Ophthalmol 241:615–618
- Neargarder SA, Stone ER, Cronin-Golomb A, Oross S 3rd. (2003) The impact of acuity on performance of four clinical measures of contrast sensitivity in Alzheimer's disease. J Gerontol B Psychol Sci Soc Sci 58:54–62
- Wesemann W (2002) Visual acuity measured via the Freiburg visual acuity test (FVT), Bailey Lovie chart and Landolt Ring chart [Article in German] Klin Monatsbl Augenheilkd 219:660–667
- “Generic description”:
Bach M (1996) The “Freiburg Visual Acuity Test” – Automatic measurement of visual acuity. Optometry and Vision Science 73:49–53 [PDF]
Also consider the manual describing all options [PDF].- Use of the Alert class published on <http://fatal-exception.co.uk/blog/> is gratefully acknowledge
Who used FrACT?
[By some labs FrACT is routinely used and always cited, thank you, you know how you are. In order to avoid inflating the list below I do not mention each such reference. I've rarely find the time to systematically analyse the literature whether FrACT was actually used, so the list is rather incomplete.]
- Gurnsey R, Troje NF (2010) Peripheral sensitivity to biological motion conveyed by first and second-order signals. Vision Res 50:127–135
- Rocha KM, Vabre L, Chateau N, Krueger RR (2010) Enhanced Visual Acuity and Image Perception Following Correction of Highly Aberrated Eyes Using an Adaptive Optics Visual Simulator. Journal of Refractive Surgery Vol. 26:52–56
- Straube S, Fahle M (2010) The electrophysiological correlate of saliency: Evidence from a figure-detection task. Brain Res 1307:89–102
- Aberg KC, Tartaglia EM, Herzog MH (2009) Perceptual learning with Chevrons requires a minimal number of trials, transfers to untrained directions, but does not require sleep. Vision Res 49:2087–2094
- Ashwin E, Ashwin C, Rhydderch D, Howells J, Simon Baron-Cohen S (2009) Eagle-Eyed Visual Acuity: An Experimental Investigation of Enhanced Perception in Autism. Biol Psychiatry 65:17–21 [PDF]
But see: Bach M, Dakin SC 2009 Commentary on “Eagle-Eyed Visual Acuity: An Experimental Investigation of Enhanced Perception in Autism” Biol Psychiat 66:e19-e20 [PDF]
and
Crewther DP, Sutherland A (2009) The more he Looked inside, the more piglet wasn’t there: Is autism really blessed with visual hyperacuity? Biol Psychiat 66:e21-e22- Bulters DO, Shenouda E, Evans BT, Mathad N, Lang DA (2009) Visual recovery following optic nerve decompression for chronic compressive neuropathy. Acta Neurochirurgica 151:325–334
- Dimigen O, Valsecchi M, Sommer W, Klieg R (2009) Human Microsaccade-Related Visual Brain Responses. J Neurosci 29:12321–12331
- Golomb JD, McDavitt JRD, Ruf BM, Chen JI, Saricicek A, Maloney KH, Hu J, Chun MM, Bhagwagar Z (2009) Enhanced visual motion perception in major depressive disorder. J Neurosci 29:9072–9077
- Ivanov I, Werner A (2009) Colour in action: evidence for a redundancy signal effect when driving motor responses by combined colour and spatial cues. Psychol Neurosci 2:17–24
- Li S, Xiong Y, Li J, Wang N, Dai Y, Xue L, Zhao H, Jiang W, Zhang Y, He JC (2009) Effects of monochromatic aberration on visual acuity using adaptive optics. Optom Vis Sci 86:868–874
- Ohlendorf A, Schaeffel F (2009) Contrast adaptation induced by defocus – A possible error signal for emmetropization? Vision Res 49:249–256
- Gurnsey R, Roddy G, Ouhnana M, Troje NF (2008) Stimulus magnification equates identification and discrimination of biological motion across the visual field . Vision Res 88:2827–2834
- Legras R, Rouger H (2008) Calculations and Measurements of the Visual Benefit of Correcting the Higher-order Aberrations Using Adaptive Optics Technology. J Optometry 1:22–29 [PDF]
- Walsh KM, Waldmann T (2008) The influence of nursing home residency on the capacities of low-dependency older adults. Aging & Ment Health 12:528–535
- Wegener D, Ehn F, Aurich MA, Galashana FO, Kreiter AK (2008) Feature-based attention and the suppression of non-relevant object features. Vision Res 48:2696–2707
- Hoffmann MB, Lorenz B, Preising M, Seufert PS (2006) Assessment of Cortical Visual Field Representations with Multifocal VEPs in Control Subjects, Patients with Albinism, and Female Carriers of Ocular Albinism. IOVS 47:3195–2101
- Jägle H, de Luca E, Serey L, Bach M & Sharpe LT (2006) Visual acuity and X-linked color blindness. Graefe’s Arch Clin Exp Ophthalmol 244:447–453
- Rémon L, Tornel M, Furlan WD (2006) Visual Acuity in Simple Myopic Astigmatism: Influence of Cylinder Axis. Optom Vision Sci 83:311–315 [PDF]
- Dennis RJ, Beer JMA, Baldwin JB, Ivan DJ, Lurosso FJ, Thompson WT (2005) Using the Freiburg Acuity and Contrast Test to Measure Visual Performance in USAF Personnel After PRK. Optom Vis Sci 81:516–524
- Peters BT, Bloomberg JJ (2005) Dynamic visual acuity using ‘‘far’’ and ‘‘near’’ targets. Acta Oto-Laryngologica 4:353–357
- Ruamviboonsuk P, Tiensuwan M, Kunawut C, Masayaanon P (2003) Repeatability of an Automated Landolt C Test, Compared With the Early Treatment of Diabetic Retinopathy Study (ETDRS) Chart Testing. Am J Ophthalmol 136:662–669
- Collins MJ, Franklin R, Davis BA (2002) Optical Considerations in the Contact Lens Correction of Infant Aphakia. Optom Vis Sc 79:234–240
- Hazel CA, Elliott DB (2002) The Dependency of LogMAR Visual Acuity Measurements on Chart Design and Scoring Rule. Optom Vis Sci. 79:788–792
- Camparini M, Cassinari P, Ferrigno L, Macaluso C (2001) ETDRS-Fast: Implementing Psychophysical Adaptive Methods to Standardized Visual Acuity Measurement with ETDRS Charts. Invest Ophthalmol Vis Sci 42:1226–1231
- Fahle M, Biester A, Morrone C (2001) Spatiotemporal interpolation and quality of apparent motion. J Opt Soc Am A:18;2668–2678
- von Boehmer H & Kolling GH (1998) Effect of exposure time using single Landolt-rings on visual acuity in normal individuals and in patients with nystagmus. Der Ophthalmologe 95:717–720
- …
General pertinent sources
- Lieberman HR, Pentland AP (1982) Microcomputer-based estimation of psychophysical thresholds: The Best PEST. Behavior Research Methods & Instrumentation 14:21–25
- Metha AB, Vingrys AJ, Badcock DR (1993) Calibration of a color monitor for visual psychophysics. Research Methods, Instruments, & Computers 25:371–383
- Mittelviefhaus K, Bach M, Jedynak A, Kommerell G (1993) Der Freiburger Visustest. Ophthalmologe 90:1320–135
- Pelli D (1996) VideoToolbox. <http://rajsky.psych.nyu.edu/VideoToolbox/>
- Pentland A (1980) Maximum likelihood estimation: The best PEST. Perception & Psychophysics 28:377–379
- Petersen J (1990) Zur Fehlerbreite der subjektiven Visusmessung. Fortschr Ophthalmol 87:604–608
- Treutwein B (1995) Adaptive Psychophysical Procedures. Vision Res 35:2503–25
- Visual Standards – Aspects and Ranges of Vision Loss
Version change history (→even more early history details)
2009-12-10 3.5.5a corrected typo "Michaelson" → "Michelson" 2009-11-11 3.5.5 Quite a number of tiny nice improvements:
• added screen dimension to main screen info
• added "force Snellen denominator to 20 ft" on request
• added option for colour Landolt Cs on request
• set uncalibrated values bold & red in the Setup screen to make them more obvious
• set focus to stage (now it responds to keyboard shortcuts after returning from Setup etc.)
• now possible to start with numkey-5 irrespective of numlock setting2009-09-16 3.5.4 made the calibration bar blue; increased PEST-grain from 500 to 5000; added contrast with Weber definition; improved manual 2009-08-20 3.5.3 • fixed background glitch stemming from the new contrast polarity setting
• rearranged the setup a little around the calibration bar2009-07-19 3.5.2 • added option to set contrast polarity
• fixed silly error (fixation target in contrast testing staying on) introduced recently
• added option not to go full screen (this can help with multiple screen setups)2009-05-27 3.5 • fixed errors in the calibration check GUI resulting from the new mask code
• renamed "Preferences" into "Setup", put key settings on main screen
[all thanks to Daphne McCulloch's thoughtful suggestions]2009-04-21 3.4.3 • Improved coding around the sound channels (fixed the ‘hang’), cleaned up the Pest code (no performance change, just more elegant :) )
• Added detection of sound capabilities and disabled sound settings when appropriate (does not seem to work correctly)
• added a blank (or grey for contrast) mask after the response key. Option in Prefs. Currently fixed at 200 ms.
• Keypad now works without numlock
• Maximal distance increased (9999 cm instead of 999 cm),
• Vernier size now scales with distance (as it should have): 0.5° total height, 0.5 arcmins bar sigma, 0.2 arcmins gap height
• separate timeouts for showing the optotype (down to 0.1 s) and for responding to it
• and further trivia2008-12-08 3.3 timeout > 30 seconds now possible (current maximum: 999 s); improved Flash version display; corrected a missing help button 2008-11-16 3.2 ported to Flash CS4, added calibration alert 2008-09-10 3.1.3 fixed a capitalisation issue in a sound resource
now ignoring letter capitalisation in shortcuts2008-09-10 3.1.2 added optional Sloan letters . Range-checked timeout-value (reported by Frank Schmidtborn, more fields need to be checked) 2008-06-20 3.1 All numerical preferences now range-checked
corrected the logic in the response key evaluation (didn't stop after first match). Added acuity based on Sloan letters. Rewrote response code to use key-value pairs.2008-05-30 3.0.4 “auditory feedback when done” now preserved, made sound resources more generic, improved internal debugging 2008-05-06 3.0.3 Corrected time-out (error diagnosed by Frank Schmidtborn), added a positional jitter to vernier test (as suggested by Wolf Harmening) 2008-04-26 3.0.2 Complete re-write of FrACT, now called FrACT3. Reason for re-write was that I wanted to improve the contrast dithering. This entailed updating to the (totally underwhelming) Adobe's Flash CS3 development system. This required changes in nearly every line of code. A major chore, which markedly improved the program internally, while not showing the changes externally. There is also a new icon, thanks to Inga. 2007-12-24 2.3 fixed a bug of incorrectly formatted Snellen fractions under certain rare conditions 2007-11-19 2.2 re-enabled the “bonus trial” option for the contrast & Vernier test, improved FrACT documentation 2007-10-30 2.1 improved contrast dither for oblique orientations. Thanks to Hendrik Jungnickel at the Ammersee meeting! 2007-07-25 2.0.5 • added 2 new sounds: (1) run done, and (2) incorrect response. Now I prefer the purely auditory feedback to the visual one. Give it a try!
• switch to Flash CS 3 with only few nasty side effects
• internal changes to the PEST procedure: code “beautification” without changes in the basic logic2007-06-02 2.0.3 • added a "which test on pressing ‘5’" option, changed contrast-Ø default to 30'
• finally found how to abort using <esc>2007-05-23 202a • There was a problem with the final contrast value in the “export to clipboard” record (thanks to Hendrik Jungnickel!)
• Added sanity check for acuity formats. If all are switched off, decimal is switched on2007-04-13 2.0.1 improved gamma adjustment 2007-04-11 2.0 Contrast now employs dithering to achieve normal thresholds (currently using a 2×2 dithermatrix, increasing luminance resolution by a factor of 4).
Added target cross for Contrast. Gamma adjustment via cursor keys, reference lines now use 0.5±0.3 luminance, thus avoiding the extremes, better for LCDs.2007-01-06 1.10 negative optotype contrast now works again (had been lost when making the program more robust with respect to non-sensible preference values, probably back around version 1.2) 2006-11-30 1.9 the smallest gap size had been reduced to 0.5 pixel. Tests now showed that this does not result in reliable optotype quality, and has been reset to 1.0 2006-11-15 1.8a • Extended warning when the highest possible VA is below 2.0
• Vernier result now honours the preferred decimal point character
• Rewrite of the contrast routines (help from Hendrik Jungnickel gratefully acknowledged): Correct setting of contrast and readback honouring gamma correction, back luminance clamped to 50%; “results2clipboard” now works with contrast;
• contrast now also allows a position shift, added by request2006-10-01 1.6a • fixed decimal point internationalisation, fixed tab sequence in Preferences
• “Bonus trials” now have the setting {never | every 6th trial | always}, added by request. This allows to create a separate easy training version.2006-08-09 1.5a • added Vernier measurement (first attempt, feedback welcome)
• fixed error that had based the 4afc psychometric function on the 8afc guessing rate
• increased the default trial setting (now at 24 for 8 alternatives)
The documentation does not yet reflect the Vernier addition – but it's rather obvious to operate, methinks.2006-05-31 1.4 fixed a silly error in the newly added logMAR calculation 2006-04-28 1.3 • allowed multiple combination of result formats (decimal, logMAR, Snellen fractions),
• choose better ranges for rounding of decimal VA,
• switched off the distance information in the result string (anyone needs this?)2005-11-22 1.1.3 added "frame" (square + circular) to crowding options 2005-11-21 1.1.2 in "results2clipboard" trial number starts with 1, not 0; added "maxAcuity" in Prefs, framePrefs & Acuity 2005-11-06 1.1.1 simplified code in FramePrefs, added "Calibration Check" frame 2005-10-25 1.1 added crowding flankers (on request of Bruce Evans) 2005-10-10 1.0.9 switched to Flash 8, some slight changes in the preferences dialog (now a combobox for decimal point) 2005-08-06
1.0.8
• added “results2clipboard” (see Help>More Help for format)
• added internationalisation of numerical output (the decimal point)
• unfinished contrast test now defaults to off2005-04-22 1.0.6 • added a "mirroring" option (requested by Laura Gibson & Ken Nakayama
• added luminance linearisation calibration2004-10-07 1.0.5 added facility to change eccentricity, made feedback-expansion a bit slower 2004-05-28 1.0.1 fixed a size error introduced in vs 1.0 (due to work on the contrast test some acuity routines were affected) 2004-02-11 1.0 re-implemented old direction strategy: When wrong, then reduce likelihood to present at the responded direction 2004-01-08 added contrast setting for the acuity optotype (suggestion by Lea Hyvärinen) 2002-08-24 ported to Flash 1996-09-07 available on the Internet 1992-11-21 ported to Macintosh 1985 first implementation on a Z80 with a 7220-graphics board A brief history of FrACT
In 1985 I programmed the first version, using a custom-built Z80 CP/M computer with a graphics board based on the NEC 7220 graphics chip, using serious digital differential algorithms (Newman & Sproull, 1979) just to draw the Landolt C. It became more than a curio after incorporation of the Best PEST threshold algorithm (Lieberman & Pentland, 1982) and was routinely employed in my lab to screen subjects’ acuities before experiments. The port to the Macintosh in 1992, translating from Pascal to C++, facilitated the use of anti-aliasing (Bach, 1997), which immediately made the measurements more precise (by allowing intermediate pixel values) and enabled a higher acuity limit at practical distances (a few meters). After adding gamma correction for better quantitative definition, in 1996 the first Internet version was made available. The rich feedback spurred many bug fixes and feature expansions, paving the way from a simple ‘hack’ to a professional program, now validated in independent laboratories. The pressure of requests finally motivated in 2002 a port of the program to an operating system-agnostic environment, for which Macromedia’s Flash was chosen (in retrospect, Java might have been a better choice). In consequence, the program now runs in near identical fashion on the Macintosh, Linux and Windows operating systems.
• Bach M (1997) Anti-aliasing and dithering in the Freiburg Visual Acuity Test. Spatial Vision 11:85–89
• Newman WM & Sproull RF (1979) New York: McGraw-Hill, Inc.
• Lieberman HR & Pentland AP (1982) Microcomputer-based estimation of psychophysical thresholds: The best PEST. Behaviour Research Methods & Instrumentation 14:21–25Good programming practices
While FrACT initially began as a “hobby project” (see History above), its widespread application made more rigorous quality control necessary.
As is well known, any interesting computer program cannot be shown to be entirely correct, and usually isn’t. Thus the ongoing validation by independent and critical users is most important for the verification of FrACT. Thank you! All pertinent comments welcome.
- Quantitative correctness of the optotype geometry. This is easily measured and verified over the full range.
- Quantitative correctness of the threshold outcome. This was done by controlled comparison to chart testing here and in independent laboratories.
- Robustness with respect to subject input. In testing mode, FrACT is acting as a “state machine”, and the numerical keys 0–9 accessible to the subject can only switch between defined states.
- Robustness with respect to operator input. The Preferences dialog has been augmented with plausibility checking of the input values. E. g. when a numerical entry is done with incorrect number formatting, the value is reset to its default.
- Low-level programming details can only be mentioned in passing here: descriptive long variable names (rather than going overboard with comments); heavy modularization; meticulous version control with detailed recording of code changes (for an exerpt see History above).
Bugs
2010-01-19 at this time, I am not aware of any bugs proper in FrACT. Disagree? Please tell me.