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

Reply via email to