IdleTheory

Prototype Scotoma Scanner
(preliminary version falls over after several hundred beeps)

Close or cover untested eye, and gaze at focus point on test field.

Click on test area to activate, ensuring outline of test area is blue (which means the scotoma finder has keyboard input) Rectangle should move around in field, beeping with each move.

Press return if rectangle seen, otherwise not.
c continues/pauses.
x shows results
< smaller degree circles
> larger degree circles

For general field test go here.


One day I suddenly developed a blind spot, or scotoma, in my left eye, just left of the focal centre of vision. I went to my local hospital and was subjected to various tests, which included looking at a squared grid and drawing the outline of the scotoma on it (which was a bit tricky, since you can't see a scotoma). My fear was that it was the onset of 'wet' macular degeneration, which can lead to blindness. The ophthalmologist who examined my retina said that it wasn't, because there would be distortion of vision due to swelling of the retina, and other symptoms that I didn't have. He said that, looking closely at my retina, he could only see scar tissue, which could have been there for years, and which you can get by looking at an eclipse with unguarded eyes.

Afterwards, sitting in a pub waiting for the eye drops they'd given me to wear off, I wondered if there might be some way to use a computer screen to scan a scotoma. If you generated dots randomly on a screen, and pressed a key each time you saw a dot, then the ones you didn't see must fall inside a scotoma (every eye has its own natural blind spot anyway).

Next day, because I wanted to be able to study my own scotoma, I started writing the program. First I started by dividing a screen into a grid, and going through it one square at a time, up and down the rows and columns. But this was slow, and also I could get to predict where the dot was likely to appear. Then I tried randomly generating dots, and this found the scotoma, but only sketched it out with a sprinkling of dots. So then I wrote a bit of code which, on finding a spot in a scotoma, would zigzag up and down away from it, first to the left, and then to the right. This was much more effective, but would regularly get lost. And so when it got lost I fell back to generating random dots, or trying to find unfilled dots by searching left-to-right within the known scotoma region, and using the zigzag method there. The end result was that I had something which would map out the scotoma quite accurately.

The main problems with the program were that it's quite difficult to keep your eye fixed on one spot on the screen, while dots appear and disappear off to the side. And it's also quite difficult, when a dot is half in, half out, of a scotoma to decide whether it's in or out. I ended up simply gazing unfocused at the dot as best I could. The results that came out were never exactly the same, but they were comparable. And the longer the test went on the better the result.

Another problem was one of how to scale the image in terms of degrees from the centre of vision. Pretty much the only way to do this is to measure the width of the screen window, and the distance of the eye from it, and find the arctangent of the resulting angle, and use this to scale pixels per degree.

The current program allows the applet parameters to set to the window size, and the x and y locations of the focus (top left is origin), and the size of the black squares put up on the white screen, and the interval at which these were displayed, and a beep sound made.

Currently, the way the test is run, you must position yourself with your eyes about 20 inches ( 50 cm ) from the screen, with your head held level and stable, with the eye not being tested either closed or covered. You fix the test eye on the centre of vision on which all lines converge, and press 'c' to start the test. The program then starts moving a black square around, beeping each time it moves it, and you have a second or two to press a key (e.g. return) to record seeing it. If you don't see it, you don't press a key. This can go on quite a long time, particularly if the squares shown are small. In this event, pressing 'c' suspends the test, and allows you to take a break. Pressing 'c' again restarts the test. While the test is running any scotoma found is not displayed. If you want to see how things are progressing, 'x' will display the scotoma as found so far, along with a pixel count for the the scotoma area. Hitting 'x' again will continue the test. There is no end to the test. But when the program finds it difficult to find new scotoma areas, it will increasingly tend to move the dot around randomly, and you will always see the dot (partly because it never tests the same dot twice).

This program could be improved in all sorts of ways. Different coloured dots on different coloured backgrounds. Blinking dots. Offscreen dots to measure 'honesty' or attention. All sorts of things. It would be handy to be able to store the result as an image file that could be printed out, but Java applets don't allow this (a Java application would).

It can only ever be a test of central field of vision. With glaucoma, peripheral vision tends to be lost, and a computer screen can't test for peripheral vision (unless you look way off to one side, or way up, or way down).

But this test is much better than trying to draw by hand the outline of something you can't actually see anyway. And it's also a test which people with scotomas can conduct at home in their own time, as often as they like. The patient gets to monitor his own condition.

A brief online search of mine turned up no 'scotoma mappers or scanners', so I'm not sure that ophthalmologists have got a tool like this in their arsenal. The only one who has seen its results did not not think that scotomas could be shown on computer screens, until I showed him my results. A Humphrey's field test completely missed my small scotoma. The ophthalmologist said he could only see a slight discoloration in the region I indicated. (The first ophthalmologist to look said he saw what look like scar tissue.

Results

Here's a couple of results from using the scotoma scanner on my own scotoma, firstly showing a detail (right) of the left eye scotoma, and secondly showing the wider left eye field of vision (below) with both natural blind spot and scotoma in view. Both tests took some 15 - 20 minutes.

The scotoma in some ways looks like a 'bleed' of some sort coming from near the centre of vision and trickling away from it in first one direction, and then a slightly different direction. If so, I must have been lying on my right hand side for the flow to move in this direction. And I usually sleep lying on my right hand side. It's quite possible that the scotoma appeared during the night before when I had just come down with a nasty dose of 'flu, after a very stressful week. I only noticed the scotoma the next morning, and at first assumed that it was the beginning of a migraine.

Somewhere in human vision processing, it seems that there's something that fills in blind spots with the colours and patterns surrounding the blind spots. Everyone is doing this all the time with the natural blind spot they have in each eye.

So it's possible to check the scan results by fooling the vision processing into 'seeing' the scotoma. The way I do this is to close the left eye and cover it, and then with right eye closed, open the left eye while looking at something bright white (e.g. the sky, but not the sun). For a fraction of a second the scotoma is visible as black on white, very like the detail shown above. But it quickly fades into a near invisible haze. I think that what's happening here is that while the left eye is shut, and seeing black, my vision processing fills in the scotoma with the black surrounding it. So when I look at something bright white, at the outset the scotoma is filled with black, but is now surrounded by white, and becomes visible. It takes my vision processing about half a second to correct this, and paint the scotoma white instead. In fact what my vision processing seems to do is to incremetally recolour the scotoma from black to gray, gray to light gray, light gray to lighter gray, and so on

But how does my vision processing know I have a scotoma that needs to be recoloured? It may be that the retina at the scotoma sends no signals, and my vision processing knows this and makes stuff up to fill the scotoma. But I've found that if I gaze for a while with perfectly good eyes at one spot on a fairly strongly patterned background (like a carpet) with a single object on it (like a pen), the pen will often suddenly vanish. It seems my vision processing sees the pattern, and gradually comes to regard the pen as an anomaly, and replaces it with the underlying pattern. This can happen with large anomalous objects as well. So it seems that vision processing covers the entire field of vision, and what we end up seeing is a pretty heavily processed rendition of the raw unprocessed image that first arrives at the retina.

Idle Theory

Chris Davis
First created: 15 April 2006
Last edited: