[email protected] said: > >The first is multipass scanning. Basically what happens here is that > >the scanner can read the values several times and returns the averaged > >result. This is useful for reducing noise from the A/D in the image data. > > But if the scanner does this internally, is there any need for the > SANE API to know about that? Ok, a well known option may make sense.
Firstly multi-pass scanning is much slower than a single pass. So you at least need to be able to turn it on off. > Ok. Should the averaging be done by the frontend or by the backend? If > it should be done by the frontend, there is no need for a well know > option. Otherwise, the backend might consume a lot of memory for the > multiple passes. Well I would say probably the backend. Remember that film scanning just eats memory anyway. A full frame scan from 35mm at 2800dpi and 16bit depth is 60MB. Some of the pro end scanners are 4000dpi, and do medium format 6x9cm. Most scanners that can do a full 16bit offer hardware multipass, and if your bit depth is less you can sum it all in one 16 bitcopy anyway. If if doing software multipass at full 16bit resolution it only requires twice the memory. > What kind of option do you want to have? Bool (multipass on or off) or > int number-of-passes (default = 1)? If the backend does it in > dsoftware, it can set SANE_CAP_EMULATED. I was thinking of a option like say SANE_NUMBER_PASSES which is an option list. The reason for this is that most hardware based multi-pass scanning offers only powers of two passes, so 2,4,8,16. I presume the reason is that divide by 2 (or powers of 2) is much easier in hardware as it is just simple shifts. > > Batch scanning is the other. Here you might have a film or slide holder > > that has several separate images (or even an APS adaptor) and you > > just want to click a button to scan the lot. You need some way to > > communicate to the front end just how many images there are to scan etc. > > Why? Just return SANE_STATUS_NO_DOCS when finished. True but closely related to this is the fact that scanning a single frame is a slow process; 10 minutes a frame is not unrealistic. Therefore if I only want one frame scanning the lot is a massive pain. If I have an APS film it will be horrendous if I just want frame 38 say. So you also need a way to select individual frames from what ever is loaded. On my scanner I have a holder for negatives, which has up to six frames, a holder for slides which has four and an APS adaptor which can take an APS film cartridge. From memory depending on which you insert into the scanner Vuescan offers an appropriate list to scan from. The backend needs some way to communicate to the front end a range of possible pictures to scan from, and this needs to be able to change while the front end is running. i.e. I might start off a session scanning a strip of negatives then switch to slides or APS. Basically all I am doing is looking at Vuescan and thinking what do we need in the SANE standard to allow someone to write a free clone. One other thought that has crossed my mind as I am scanning in my brothers wedding photographs are options to do with exposure. I am not an expert but Vuescan is presenting me with options to "Lock exposure", for a "Long exposure pass" and set manual RGB/Infrared exposure. I would say from reading the Vuescan help that the "Long exposure pass" and Lock exposure option is a front end thing that is done with scanners that allow you to set manual exposure. In the mean time there needs to be some way of asking for a change in the exposure time of the CCD, in the standard. I am not sure how this is communicated to the scanner, but VueScan allows you to multiply the exposure time by a scale factor. So it might be 1.5 times normal etc. With the possibility that is can be separate for the RGB and Infrared channels (if the scanner supports this of course). JAB. -- Jonathan A. Buzzard Email: [email protected] Northumberland, United Kingdom. Tel: +44(0)1661-832195
