Vision Simulator
About the vision simulator
Although concepts like astigmatism, presbyopia, monovision, and LASIK are fundamental for us, these concepts can be surprisingly difficult to explain to our patients. Our goal is to make this discussion easier.
What does it do?
This tool simulates how much blur will be created with different refractive errors and patient ages. I've tried to make it very flexible and open-ended to let the doctor simulate any visual aberration. Simply type in a manifest refraction, set the patient's age, and choose how you want to display the vision.
Here are some ideas about how this tool can be used:
- Show a parent what how their child is seeing the blackboard without glasses
- Demonstrate how an astigmatic patient will see with spherical lenses
- Show a presbyopic patient how an eye will see with a monovision contact
- Show a LASIK candidate how their vision can be expected to change as they age
What doesn't it do?
As accurate as I wanted the vision simulations to be, I realized that some compromises would need to be made. Some of these compromises were due to my goal of making the tool as simple as possible. In truth, striking a balance between accuracy and ease of use proved to be quite challenging. The other limiting factor was the Flash player itself as I'll describe below.
- It doesn't simulate blur in oblique astigmatism. This is by far the biggest limitation of the simulator. Unfortunately the Flash blur filters are horizontal and vertical. I really tried to find a workaround but alas, it wasn't meant to be. So, I was forced to show blur at axis 90 & 180 degrees, which requires rounding to one of these meridians for all other axes. If Flash ever extends the ability to show blur in other meridians it will allow me to improve upon this tool.
- I'm a violator of Hering's Law. Because of equal innervation the eyes usually accommodate equally. I thought this would add an extra layer of complexity to the simultator and an undue amount of confusion for our patients. I decided to ignore Hering's law and make each eye accommodate independently.
- I took some liberties with the accommodative amplitude formulas. According to these formulas, a person can accommodate quite a bit! According to Hofstetter's formula, a 40 y/o +8.00 D hyperope can accommodate over 5.00D. That might be true, but my experience is they can't do it for very long. As a consequence I adjusted these formulas so the simulator would illustrate what the average person would see in a real-life situation.
- People differ n their ability to accommodate. We all have our 50y/o emmetropes with great accommodation and our 40y/o's with +2.00 adds. Obviously this tool isn't going to accurately simulate the vision of these individuals, and some patients are going to feel it doesn't represent how they see at all.
- No entering of text in full screen mode. For some reason, Flash doesn't allow this. This means that you will not be able to enter refractions with your keyboard. I incorporated sliders to counteract this problem, which cluttered up the interface a bit. However, I actually learned to like them as they are useful in dynamically showing how different degrees of spherical error or astigmatism change blur and focal points.
Can I print this as a patient education handout?
I wanted the vision simulator to be not only a device for in-office education but also a tool for printable patient education materials. After getting this tool working the way I wanted it to I built the printing functions. I was dismayed to realize that Flash does not apply the blur filters to the printable objects. In other words, every image prints without blur, which is essentially useless for our needs. I wish I'd know that when I started this project 2 years ago!
However, there are other ways to print. There might be better ways, but here is one suggestion.
- Put the application in Full-Screen mode by clicking the blue square in the upper right-hand corner
- On a PC, click the "print screen" button. On a mac, press control-shift-4.
- Open a word processor, paste the captured image, then print. Feel free to use a header for your practice or add the patient's name.