Demonstration Quality Scanning Digital Camera

Andrew Davidhazy
Imaging and Photographic Technology Department
School of Photographic Arts and Sciences
Rochester Institute of Technology

For many years now I have been trying in vain to obtain a sophisticated line-scan digital camera back or a simple linear CCD array camera and although I was close in a couple of instances, things never panned out quite right.

[digital camera] In a technology teaching environment having access to the basic operating systems of devices is very important but destroying sophisticated instruments that I did manage to borrow was out of the question. So, for many years I drew parallels between digital scanning imaging devices and their "photographic" predecessors but could never actually easily demonstrate the connections between them.

Well, I have finally achieved my "digital dreams" by purchasing a small Kodak snapshot scanner. Before long the device was reduced to its basic components and soon thereafter was doing things its designers probably never foresaw as possibilities.

Anyway, the Kodak snapshot scanner is a device that transports a photographic print or other material up to 4x12 inches in size, over a built-in light source. As the print is transported through past the area illuminated by the lamp a CCD array consisting of many light sensors arranged in line fashion detects the changing image information from the moving print as projected onto the array by a lens focused on the print surface.

The CCD array is filtered in such a manner that it simultaneously records red, green and blue information for a full color reproduction of the original. The scanner has its own built-in control program that decides when to start to move the paper and it has a sensor that informs the scanner when the print has moved out of the scanner so that it then stops gathering image data.

At the time I bought it the scanner cost less than $50 but it did need a computer to hook up to. The device I decided to use in conjunction with the scanner was a Dell Inspiron laptop computer since I had this idea that the systems I wanted to ultimately assemble should be portable so that demonstrations "on the road" would be easily possible.

Thinking that given the low cost of the scanner I would not be loosing much and after making a few scans of prints to familiarize myself with its operation, I decided to take a peek at the "guts" of the system and looked for the screws that fastened the top to the bottom of the scanner case. They were not difficult to find and soon the two were parted.

It turns out the cover was not really needed to run the scanner and after proving this I proceeded to identify the location of the CCD array. This was easily accessible and it was located at the end of a plastic "funnel" assembly equipped with a deflecting mirror in the chamber. In the middle of the funnel was a lens, the function of which was to reduce the image of the print's width to the length of the CCD array. The use of a "folded" design made for a nice, low-profile, instrument.

[digital camera] I then tried to make images by simply "panning" around my room with the scanner while it completed a scan cycle and I got some fuzzy but recognizable images of my lamp and chairs, the outside parking lot, etc. Promising!

Anyway, the CCD array was connected to the rest of the instrument by way of a multi pin connector. I unplugged this and then removed two screws that held the CCD array in place. The array could be cleanly removed from the imaging funnel and the lens was now easily visible within it.

The next thing was to try to see if the scanner would work with the sensor removed. It did. In fact, I also unplugged the connection to the fluorescent tube and the scanner worked without it also! The only thing it could not do was to complete a calibration process but this did not prevent the software from allowing the scanner to run through a scanning cycle. Also, in order to make the scanner "believe" it was doing its job, it was necessary to depress and hold down a simple gravity operated sensor designed to sense whether there was paper in the scanning chamber area. A piece of tape quickly fixed this!

At first glance the CCD array looked to be about 30mm long and encased in a glass enclosure about 40mm long, and the whole device attached to a copper clad PC board which in turn had the connecting socket leading to the rest of the scanner attached to it.

Disclaimer: Before proceeding further, I want to mention that the following material is based on a cursory bit of "reverse engineering", however, the principles that you will read about are, I hope, valid. The punctillious reader may find slight discrepancies in the measurements and reported operating characteristics of the device.

[digital camera] [digital camera] [digital camera] [digital camera]

Now I taped the scanner's CCD array to the back of an old Canon Ftb camera whose shutter I had locked in the open or B position. The scanner still worked but this time the images recorded were a bit sharper and more recognizable than when I was simply "waving the scanner about"!.

The major problem was that the connecting wires of the scanner were much too short to work conveniently with the camera. So I made an "extension" from some multi-wire cable that I had lying around. I did not want to wreck the cable on the scanner so I made the extension based on one 8 pin connector that I had in my parts box and which was similar to the one on the scanner's cable and the other one I fabricated by plugging lengths of thin wire into the holes of the second connector and then embedding them in epoxy glue, the grey, two part, kind. This eventually made a very rigid mass and it held the pins in their proper configuration.

Now I was able to move the Canon camera about 2 feet away from the scanner body and the installation in the focal plane of the camera was made significantly easier. To this date I only have made a temporary installation but that is all that is needed for now. In fact, making the installation permanent would make the array _less_ useful for teaching purposes.


1. Panoramic Photography

The earliest application that I looked into was that of making a panoramic photograph. This is achieved by the simple expedient of placing the camera on a tripod with the CCD array arranged so that it is parallel to the tripod's axis of rotation (meaning in a vertical direction) and while the scanner is presumably scanning a snapshot, slowly rotating the tripod's column while the camera's shutter is locked in the open position. Using the array lined up along the long dimension of the 35mm camera's image gate and with the camera in the turned as if to make a vertical shot, the largest possible number of pixels or light sensors of the array are exposed to light from the camera lens.

Later measurements seem to indicate that the sensor, even though about 30mm long, only uses about 21mm worth of pixels to record image information. This means that the sensor could also have been placed along the short dimension of the 35mm camera's focal plane.

However, there is another reason to place the sensor along the long dimension of the focal plane and that is that this way the array sits on the body casting of the camera and thus is located as close as possible to the lens. This makes it possible to focus on large object distances because if the array is placed along the sort dimension of the focal plane the sensor assembly, exceeding 35 mm in length, would need to ride on top of the film positioning rails of the camera.

Placed on top of the film positioning rails it is as far as it can get from the lens and then, even if the lens is racked in or brought as close to the image plane as possible, it is still too far away to allow the lens to accurately focus on objects located at infinity. This is not a major problem when a lens is used at very small apertures but results in blurred photos at large apertures.

[digital camera] [digital camera] Using a very short focal length lens, such as a 14mm lens, it is possible to make an almost full 360 degree image showing acceptable aspect ratios of objects included in the scene. The aspect ratio of any image or scene reproduced through these means is roughly a function of the vertical angle of view of the lens and the horizontal angle of view that one covers. If the camera is turned too quickly or the focal length of the lens used is too long the objects in the scene will appear much too narrow ... horizontally compressed.

In the examples shown here, the rotation of the camera was accomplished by simply turning the tripod's center post by hand. I think you will agree that the image is not a total failure and that one can get a pretty good idea of what the scene looked like even if it is not a perfect reproduction.

The actual focal length that would be required to make a full 360 degree image with as little distortion as possible is hinted at by the 4x12 (or 1x3 aspect ratio of the scanner's controlling program) and the actual length of the CCD array. Since the active portion of the array is about 21 mm long (proven by making a "contact" image of a mm scale placed directly on top of the CCD array and allowing it to scan) this would make the length of the recording "surface" (if there was a surface!) about 63 mm long. Since the focal length required for any panorama is equal to the radius of a circle whose circumference is equal to the length that we want our photograph to cover, this would call for a 10 mm focal length lens. Admittedly this is rather short but generally one can tolerate some horizontal compression and/or one can always not quite cover 360 degrees!

One can easily figure out the number of "horizontal" degrees that any lens would cover (using this particular array/software combination) by taking the 63 mm and multiplying times 360 degrees and dividing this by the focal length of the lens in question multiplied by 2 and then by 3.14.

So, a 35 mm focal length lens would cover 63x360=22680 divided by 35x2x3.14=220 or 22680/220=103 degrees.

In any case, it is interesting to see how the image is captured in almost real time as the scanner successively displays the surrounding scene onto the computer screen!

2. Peripheral or "rollout" photography

The recording of the complete outer surface of (usually) cylindrical objects has been the specialty of a very few photographers since the technique of peripheral photography was first considered, developed and applied in the late 19th century in archeological museums where Greek and other vases from antiquity were photographed "in the round" to record the total outer circumference of designs added to their surfaces.

Shell Oil Company developed a camera in the 1930's designed to photograph pistons and cylinders to show areas of wear, etc. I started to experiment with peripheral photography in the mid 1960's making peripheral portraits of people. These portraits often did not look very much like the actual persons!

For peripheral photography I again placed the linear CCD array in the camera roughly in the middle of the film gate. To obtain the largest number of pieces of information I decided to again place the camera in the vertical orientation because this would utilize as many pixels on the CCD chip as possible.

As mentioned above this is not absolutely necessary. The "sensitive" pixels of the scanner fit within the 24 mm wide dimension of the camera's image gate.

[digital camera] [digital camera] Then, I stood on a turntable in front of the camera after having pressed the "scan" command on the software controlling the scanner. The idea was that as I rotated in front of the camera the lens would project continuously changing features from my head onto the linear array located in the camera image plane. The scanner would be functioning as a "non contact" printing press where my head would supply, over time, the changes in information that the scanning array would then store in the computer's memory. I tried to make a couple of turns or so during the time it took the scanner to believe it had scanned a 12 inch long print. Success!!

I also applied the camera to traditional peripheral photography by placing a vase on a turntable and adjusting the image size and the rotation rate so that a more or less acceptable reproduction of the surface features of the vase was displayed in the final image.

3. Linear strip photography ("photofinish" and moving array over subject applications)

[digital camera] The idea this time is to aim the array at some location in space and have a subject go across that location or take the camera as a whole and move it past a stationary subject.

This particular application of the system seems more limited than most because the data capture and transfer rate are relatively slow and thus any real application to photofinish photography is somewhat far fetched.

Nevertheless, if one keeps in mind that the objective is to move the image of whatever subject one aims the lens at (normally one would adjust the data capture/transfer rate) at such a speed that the image compiled by the scanner has the same aspect ratio of height to length as the original, then the system "works". Even if there is some slight discrepancy between the reproduction and the original that could amount to as much as 50% in either direction, the reproduction will usually be recognizable as being an image of a particular subject.

I made some additional measurements of the scanner (proving some of the manufacturer's claims in the process. Namely that it makes images consisting of about 800 x 2400 pixels) and determined that based on the number of pixels along the long dimension of the record (roughly 2400) that it "remembers", or scans, in the roughly 53 seconds that is takes it to scan a 12 inch long print, the scanner takes about 1/50th of a second to capture the information contained in each vertical column of pixels.

Based on these measurements I deduced that the Kodak Snapshot scanner writes about 50 lines (or columns) per second. Then, upon enlargement to the point where the individual column of pixels are seen, it will be possible to determine that an image feature in the next column of pixels compared to a given column will have been exposed either 1/50 second earlier or 1/50 second later than in the "reference" column.

Going further, while it may be difficult to see individual columns of pixels, one can roughly determine the time between events displayed on any given image by knowing that the scanner records 2400 columns in 53 seconds.

This means, then, that the length of a full width (2400 column) image is equal to roughly 50 seconds and therefore that each 1/50th of the full length image is about 1 second. If one makes a print of the image so that it is 25 inches long each inch will stand for 2 seconds of elapsed time. One can start to make duration and velocity measurements!

In the photograph shown here I walked back and forth across the line in space delineated by the scanning elements and each time I was walking forwards but sometimes from left to right and others from right to left. Note how the images seen in the final reproduction all show me heading in the same direction. You might want to spend a few minutes trying to figure out why this is so!

4. Scanning array 2D photography (moving array across film plane)

I also decided to try duplicating "focal plane scanning" as is done with sophisticated scanning camera backs such as some made by Phase 1 and by Finelight, and others and typically used in 4x5 cameras.

For this the camera is aimed at a particular scene and the linear array is slowly moved from one side of the camera's image gate to the other while the scanner accumulates the changing image information. In commercial cameras the linear array it moved across the image plane by sophisticated transport mechanisms at a rate that is predetermined by the software that controls the scanner.

In my case I simply moved the array by hand. As mentioned above a design feature of this particular array was that the glass enclosure of the array was about 38 mm or so long and that it rode nicely on the two outer film positioning rails in the Canon camera's back. This is a bit farther than the image plane but using the lens at a small aperture ensures enough depth of focus of any subject to "reach" the array reasonably sharply in most cases. In this example the image did not quite make it because the lens was used wide open.

Anyway, while the array itself now actually extended beyond the edges of gate which is only 24 mm wide, since only 21 mm of the array are actually used for image recording purposes, the sensitive pixels fit nicely within the 24 mm width of the image gate of the camera. Trying to move the array along the short dimension was more difficult since the glass container the array sits in interferes with a smooth, sliding, movement of the array from one side to the other.

The interesting aspect of this improvised image-plane scanner is that, because it is hand-driven, the speed can be varied at will or by accident. Ultimately, for the best quality reproduction, the time that it should take the array to move across the image plane is such that the aspect ratio of objects in the scene is reproduced properly in the final image.

[digital camera] Again, my first experiments were done by simply pulling the linear array slowly across the film plane, maintaining contact between the front surface of the array and the film positioning rails of the camera. If the resulting image looked too compressed this indicated that the next time I should move the array more slowly.

More precisely, though, the time that it should take the array to move the 36 mm distance can be determined from the fact that one needs to end up with an image that bears a relationship between its own "length" (in this case 36 mm) and the total image length the scanner "generates" during a full scan. This image is 63 mm long. That is, we only need 36 mm worth of the total 63 mm possible during a 53 second total scan duration.

To make a scan of the image gate, therefore, one needs to make the array travel from one side of the 36 mm long image gate to the other in less time it takes the scanner to "memorize" a full scan (or, again, a 63 mm long "virtual" image). This time is determined by multiplying the time it takes the scanner to record a full scan (or 53 seconds) by the ratio between a full scan and the desired scan length. In this instance: 63mm/36mm or 53sec/1.75 = 30 seconds. That is, the CCD array need to be moved along the 36 mm image gate of the camera in 30 seconds.

No extraordinary measures were taken to exclude light or infrared from entering the camera back, which was open, and reaching the CCD array. An infrared opaque cloth was simply draped over the back of the camera as the array was moved across the film plane.

Needless to say, in this mode the subject must remain still and the lighting must not change during the time the array is recording the image plane. However, some interesting distortions can be generated by varying the rate of motion of the array, changing the lighting on the scene or, indeed, placing the subject itself in motion.

If such changes do occur while the scanning process is taking place, then one can easily see an effect that in traditional photography is often talked about but seldom seen, namely focal plane shutter distortion!.

Problems and Possibilities

Intermittent scanning

One of the major problems associated with this particular scanner, and one I did not realize until I looked more closely at the first few images I recorded with it once it was removed from its original configuration, is that the scanner performs its function intermittently rather than continuously. This means that in its designed configuration, while making "scans" of prints fed through the machine, it periodically stops moving the paper to (probably) empty some memory buffer into the computer before starting to accumulate more data. During the brief interval during which data transfer is probably taking place the scanner stops moving the print it is scanning.

[digital camera] This intermittent motion of the subject is quite acceptable when the scanner is being used as designed because data gathering only takes place while the print is moving. Once the paper transport mechanism, and with it the rate at which the image changes, is not controlled by the software, such as when the changing image information is provided to the CCD array continuously and without regard as to when data transfer is taking place, this can and does lead to "dropout" of those subject areas that pass over the array while the scanner is sending data to the computer.

While such a situation would not be desirable in a "perfect" situation the fact that it happens is something else that can be used as a basis for learning and discussion of how one solves the problem. Obviously the scanner itself solves the problem by having an interconnect between the paper advance mechanism and the data handling/transfer program.

One could easily be discouraged by such a shortcoming but my advice is to simply take this as an opportunity to teach and learn more about a particular imaging "system".

Finally, if one insists on using this scanner to generate "finished" work it is often quite possible to do a little bit of electronic retouching on the final image to hide those areas where image dropout is most evident.

Infrared sensitivity

Another "problem" that the designers of this scanner (and most other scanners as well) had to deal with was the inherent sensitivity of CCD devices to infrared. In order to accurately record only the red, green and blue information from the scanned subject most every manufacturer of scanners deals with this in a similar way. They light the subject with light that contains little infrared or they include an IR absorbing filter in front of the array. Usually, even if this filter is not totally effective in eliminating infrared, this is acceptable because all one needs to do is to make sure that enough of the infrared is removed so that the color response of the device is not noticably adversely affected by the presence of residual infrared.

But once the array has been removed from the camera and is used to record everyday scenes, the array is bound to run across situations where there is an overabundance of infrared present. This results in unwanted color casts to the final image. To eliminate these as much as possible one is then forced to include an infrared absorbing filter someplace ahead of the scanner's picture elements. Usually this is accomplished by placing an IR absorbing (but light transmitting) filter in front of the camera lens. Sometimes a cheap heat absorbing glass from an old slide projector will work adequately.

[digital camera] Or, one could take this deficiency and make it into an opportunity! The scanner can be used as a rudimentary infrared imager. Think about this, an infrared-capable _panoramic_ imager! To make a panoramic image one rotates the camera as described above. To make this device into an infrared imager one places an Infrared transmitting, but light absorbing filter, such as a visually opaque Wratten 87 or 88A or similar, over the lens. Or simply use this as a device for making interesting images only by infrared energy.

In fact, the CCD array is extremely sensitive to IR and it is quite simple to light a scene with ordinary tungsten illumination and covering the lens with an 87C filter and, as shown in the attached illustration, experience no problems at all in making infrared images. The attached illustration was made at one stop larger aperture then the full color image shown in the panoramic photography section. Yet it was made through a totally visually opaque 87C IR filter.

Hopefully this gives you ideas for experimentation as well. My own projects include the modification of a more expensive scanner for the same purpose. However, the next scanner I buy will not "suffer" from the intermittent data transfer limitation of this one and will consist of a higher quality array that will also maybe contain a larger number of pixels. A faster, and possibly variable, data transfer rate would also be nice! But all this will have to wait a bit. First I am going to get my sailboat in the water a few times this summer!

By the way, I have made improvements on the home made digital panoramic and infrared camera described above. This has not yet resulted in a complete article but at least you can see higher quality images made essentially the same way as described here but based on using a hand-scanner and its linear CCD scanner array as the basis of the camera. You can find these examples at BETTER IMPROVISED DIGITAL PANORAMIC AND IR CAMERA.

Further, to learn more about scanning imaging techniques as practiced with film-type cameras consult another article:
Basics of Strip Photography.

You can contact the author at RIT at

This article has been requested times since May 30, 1999, when it was installed.

Select MORE ARTICLES for links to more!.