[vimeo= http://vimeo.com/5765795]
[Kyle McDonald] had a Visioneer XP 100 portable scanner laying around, so he started trying to come up with alternative uses for it. In the video above, we can see a multitouch setup rigged together using Openframeworks in Ubuntu. As you can see in the video, there’s some considerable lag. That is due to the 250-500 ms of buffering built into the scanner. It does have nice resolution; 10k pixels wide at 60 fps, so it has to be useful for something (aside from scanning). Anyone got any ideas? He says if the field of view was wider, he’d use it on a river bed to watch fish.
Could make a good thermin if he brings the lag down.
that looks like it would be really good for audio editing or “scrubbing” through a media file..
I think that it could be used for 3D rudimentary scan
three mounted vertically (facing inward) with a stepper motor to allow precise rotation around an object would create a 3d scanning rig of high precision. just add software and you have the ability to digitize objects on the cheap.
Maybe some kid if rig to scan LP into your PC very quickly!
@Nemo & davity
That might work, but why use three Nemo? Wouldn’t a single one work? Perhaps the lighting would be a problem, but I don’t see why three would improve the issue. It would certainly allow for those quicktime panorama things, at least on small objects.
Mount it on a turntable and use it to shoot 360 degree panorama images
Kyle, your awesome. its fantastic to see how far youve come.
keep tinkering
-Dane
@dan: yes, always more theremins! I was thinking multitouch-ish theremin, though :)
@dreamspending: this is really an ideal use case, as the high resolution would be perfectly suited for scrubbing long footage. You wouldn’t need to zoom in and out: 10k pixels at one pixel per frame would let you scrub almost 3 hours of 60fps video.
@davity, @nemo, @andar, @brsnow: There is DOF was larger (not FOV, as the post says), 3D scanning would be possible (assuming a bright light on the scanner). If you have a scanner, try scanning an inclined ruler to get an intuition for its DOF. If it’s large, you don’t need to do any hacking at the software or hardware level — just take a scan with the room lights out and recover a 3D height map in post processing.
@dane: Thanks :)
He’s got a great input for any number of virtual musical instrunemts there. This could be really exciting (once he cracks the lag!).
Practical science thought:
Was watching a autonomous penguin weighing station that the little creatures could just walk across to be counted on some PBS show.
So, what about using these to passively monitor insect activity. Two so as to determine which direction if necessary.
couldn’t he just use a high resolution frenzel lens to widen the view?
At the very least, mounting it vertically on one side of the monitor and using it as a scroll bar sounds like it would be useful.
@googfan
>high res
>fresnel lens
pick one
You might be able to get more speed out of the scanner if you were only in greyscale or black and white. Also, lower resolutions may be faster if your scanner was anything like the Epsons I used to work with. If you get a chance, take it apart and you should see a very long and narrow piece of silicon for the ccd.
Have you tried to mask the the scanning area with a very narrow slit to accomplish the DOF of a pinhole camera (my optics is a little rusty, is that even possible?)?
As for ideas, I like the idea of a spectrometer, maybe use it to fine-tune RGB LEDs.
A linear encoder could be accomplished with a fine needle attached to a moving part.
Anything involving measuring a fluid height/depth in a transparent tube would also be great.
@st2000: Awesome idea regarding insects. I’ll take a stab at that :)
@googfan: The FOV is fine, the DOF is the issue.
@devlin: Surprisingly, the scanner doesn’t seem to be bottlenecked by any of its hardware as far as data rate goes. Color or grayscale (or line art/1 bit) didn’t seem to make a difference. I actually got more lines per second from the higer DPI (60 fps vs 30 fps) probably due to physical limitations/assumptions about the characteristics of the stepper motor (or maybe the hardware is always doing full-res scans, then binning). I’m pretty sure the narrow slit wouldn’t work unless you want massive blurring across the sensor. You’d have to actually use a pinhole. Since the sensor is very sensitive, this might work given daylight conditions. Also, measurement applications are great; this could be ideal (if a bit expensive) when trying to determine absolute linear position along a single axis over a fairly limited range.
So the lag is caused by an onboard buffer. This is probably contained all in small microproc that has so many bytes of buffer memory. To get around it, instead of trying to hack the buffer chip or bypass it… why not just clock it up so it would essentially buffer quicker? It probably takes an external clock signal, the same that the image processor runs on.
Just guessing.
@mj: Since this is an imaging device, clocking it up might destroy the acquired data — you would be effectively decreasing the exposure time and get a darker image. I’m also not sure if the acquisition and buffering run asynchronously from the transmission. If so, it seems possible.
andar_b – he needs 3 scanners because he wants to do 3d scanning. slow down and smell the roses, my son.
@richarquis: I think andar_b is correct in that I would only need one. If the rotation nemo describes is one dimension, the axis of the scan head is the second, and the depth detected by the scanner is the third.
“He says if the field of view was wider, he’d use it on a river bed to watch fish.”
Couldn’t he use a Fresnel Lens or something to increase the scanner’s field of vision? (Must resist fish-eye lens joke…must resist fish-eye lens joke)
Question to original poster if you are still listening:
Do not most modern scanners shake their imaging bars such that each optical sensor in the array of 1 x n sensors “scans” a patch of the entire field?
So, if one removes the imaging bar the resulting resolution is only 1/10th to perhaps 1/1000th of the original resolution? (i.e. instead of 1000 dots per inch only a couple of dots per inch)
I’m not sure what you mean by “shake”. I don’t think there is any mechanical activity going on in the sensor, I was under the impression that it’s entirely solid state.
Hummm, maybe the “shake” is old school too.
You may be right – the newer scanners may not shake. They may actually have some sort of detector with 1000s of elements per inch.
I’ll have to watch the next time I use one of my newer scanners.
Forgive me for what might be construed as hijacking this thread – but I can not think of a better hacking audience then those of *you* reading this to pose this question to.
Large format scanners are *expensive*! I want something that can scan something a bit larger then 12 inches wide. Has any of you considered hacking a older scanner for this? That is, placing a new glass plate above the existing bed and refocusing the lens onto this plane?
Obviously you would need one of the older “mirror” type scanners, not a newer one like the one Kyle took apart here.
@Nordquist The Betterlight Scanning back camera … a 106 Megapixel back used in place of film in large format cameras uses a linear rgb sensor. Film itself has terrible DOF, hence the lenses used to send the image to it.
Agh! It’s like nobody after Caleb so much as Wikipedia’d what scanner types were, or why the 24,000lpi large-format ones might be pricey, before posting! It doesn’t read depth, just light as usual; tweak the light profiles to and from the subject, make effective use of the servos and middleware at hand (Openframeworks, SANE or Processing, an OS) and you can get something amazing and impressive (but not unreal.) The black OLED eye in the Openframeworks video is really impressively melded into the black frame to make the CG eye pop out.
N.B. the ‘he says’ link shows what he did to SANE scanner drivers to get this far.
Someone tell me the new scanners, MFPs et al make no noise….
can we interface scanner sensor with a microcontroler?