[sane-devel] SANE LS-50 (Coolscan V) support in coolscan3.c?

Lassi Tuura lat at cern.ch
Thu May 28 10:30:11 UTC 2009


Hi,

SANE pages say LS-50 (Coolscan V) is "Minimal". Can I ask what  
exactly this means?

I have a LS-50 and am considering a custom open-source scanning  
application for a specific purpose of mine. At present I am pretty  
much completely ignorant about how LS-50 even works, or in fact any  
scanner, but am planning to learn.

I am interested in maximum-quality raw capture out of the scanner and  
will do my own processing on the data afterwards. So I won't need  
most auto-* features, and need completely unprocessed colour.

The workflow I am interested in:

1) Preview at 64-bit RGBI at 1000 dpi. Auto-focus on app-specified x/ 
y point. If strip film feeder, preview all frames in one go. Detect  
film ends, frame position if possible, or provide app enough  
information to do so. If it's possible to scan entire strip in one  
go, works well for me, but I can do per-frame processing too. Return  
unprocessed raw RGBI data.

2) Do app processing on the info, including: identify frames and/or  
select frame positions; identify frames to scan; identify auto-focus  
point for each frame; identify exposure parameters.

3) Scan at 64-bit RGBI at 4000 dpi: scan each of the selected frames  
N times each with N different exposure settings, returning back  
unprocessed raw RGBI data for each scan. Again scanning entire strips  
in one go is fine, as is working frame at a time. (Q: how accurate is  
the step motor movement?)

I would handle all exposure and colour conversion myself. I will do  
full-frame scans so don't need to select a crop area to scan. I will  
do multiple exposures of each frame. I am looking for having complete  
control over exposure settings so they are deterministic across  
frames (no auto-* except for focus).

I was reading coolscan3.c source code but it wasn't obvious to me  
which features on LS-50 are supported or not supported, or how it  
interacts with the strip film feeder.

I expect to code whatever is missing if I go ahead with this project;  
I am just looking to find out what exists and what is missing, and  
what is known about LS-50 commands or behaviour.

Lassi



More information about the sane-devel mailing list