[sane-devel] Reflecta ProScan / Crystalscan 7200 PIE film scanner update

Vleeshouwers, J.M. J.M.Vleeshouwers at tue.nl
Wed Sep 12 14:03:22 UTC 2012


Hi Michael (& Klaus),

Summarizing (from 2 messages):
- Streaming image data to the frontend is not possible, since we want the backend to be able to do dust/scratch removal. Of course there must be an option to retrieve raw RGBI data. So: no streaming. Sane_start() will read all the image data from the scanner into a buffer and do the post-processing to arrive at a complete image. Sane_read() will just return requested parts of the data.
- A separate reader process is not necessary, since the whole image is available as soon as sane_start() finishes .
- We'll stick to the indexed format when reading data from the scanner. No problem, since we already have to buffer internally. 
- Memory usage is an issue. Our backend should be able to handle an image of about 0.5 GB (7200 dpi, 16 bit depth, 4 colors), with perhaps the same amount of data for processing. Some resource checks before starting the scan might be welcome, but I don't know how to do that yet.

I'm curious about the dust/scratch-removal. I understand the idea of finding appropriate thresholds to distinguish between image and artifacts, but I get lost in the image correction process ('dilating'). Do you have any literature on this process?

I'm also curious if you have contacted Emre Celebri already about using his algorithms.

Finally: if you are willing to go through my code to find out where your scanner should be treated differently, I shall implement the above, and also try to add the post-processing functions. I was a little too enthusiastic in sending working code (September 6th), because it is not obvious how to get it to compile (sorry, Klaus). I'll be clearer next time, which I hope is before you return from your upcoming internetless time.

Yours,

Jan



More information about the sane-devel mailing list