[sane-devel] Controlling scanner imaging head movement manually as mount for camera-based focus stacking?

Joel Penner joelcpenner at gmail.com
Fri Jan 14 16:35:56 GMT 2022

Hi everyone,

Thanks for the feedback everyone! Thanks for the info Povilas about the
genesys backend. I do have some scanners that use it. Would you have some
pointers for how to issue those commands to a scanner via the backend?

You're right Ralph, it might be easier to control them directly. I had
thought of the buffer approach as well, maybe I'll experiment with that.



On Tue, Jan 4, 2022 at 12:47 PM Ralph Little <skelband at gmail.com> wrote:

> Hi,
> On 2022-01-04 9:05 a.m., Joel Penner wrote:
> > Hello,
> >
> > I am doing microscopic focus stacking with mirrorless cameras. I have
> > a Cognisys Stackshot rail that I am doing this with, but I also have a
> > bunch of Canon 9000F & 8800F scanners, so I am wondering whether I
> > could use the precision these devices have to move a camera forward by
> > small increments.
> >
> > I have already been experimenting with attaching a stepper motor to a
> > microscope, controlled by a Big Easy Driver and a Raspberry Pi. This
> > person used a scanner for focus stacking by connecting a scanner motor
> > to an external driver:
> >
> >
> https://petapixel.com/2013/01/24/focus-stacking-macro-photographs-with-a-hacked-flatbed-scanner/
> > <
> https://petapixel.com/2013/01/24/focus-stacking-macro-photographs-with-a-hacked-flatbed-scanner/
> >
> >
> > This would work for me, but would it be possible to manually move the
> > scanner imaging head with SANE and the scanner's firmware and
> > circuitry? Basically, I would need SANE to move the scanner imaging
> > head forward by a tiny increment, pause for a few seconds for the
> > camera to take a photo, move forward again and so on. I just need
> > total control of where the scanner imaging head is moved to and how
> > small the increments are. My goal is to use this rig to do timelapse
> > microscopic focus stacked images of plant growth.
> >
> > Ideally, the scanner imaging head light would be turned off too but I
> > could also use tape or disconnect the LED array. I have other scanner
> > models as well if the firmware or drivers of these Canon scanners
> > isn't suitable.
> >
> > Any ideas would be appreciated, thanks!
> >
> > Joel
> This *might* be possible if the usual movements that the scan head would
> make are sufficient for your need.
> What you can definitely do is to arrange for the scan head to move from
> home quickly to a start position and have the head move more slowly to
> an end position (speed depending on the requested resolution) after
> which the head would usually return to the home position. By controlling
> the rate at which the scan data is received from the machine, you might
> also be able to get the scan head to pause when the scan data buffer is
> full. Within the SANE API, those are really your options.
> Some scanners have a more high-level control, such is the case with the
> protocols that are handled by the pixma backend. I see that Povilas has
> answered regarding the genesys backend and the scanners that are
> supported there. The genesys controllers provide much more control over
> the hardware. Even then, using the SANE API is going to be quite
> limiting, but you could use the genesys code to directly control a
> genesys scanner.
> Honestly, you might be better off harvesting the components from the
> scanner and using an arduino or something. ;D
> Cheers,
> Ralph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20220114/368a2897/attachment.htm>

More information about the sane-devel mailing list