[sane-devel] Current TODO list

Henning Meier-Geinitz henning@meier-geinitz.de
Sun, 27 Jul 2003 11:00:11 +0200


I think the discussion is of general interest so I Cc: sane-devel.

On Sat, Jul 26, 2003 at 10:18:23PM +0200, Stefan Schlörholz wrote:
> > > Let me explain my suggestion:
> > > The software for my scanner under windows offers a dialog where you
> > > scan a reference target, tell the programm which target standard
> > > you used and mark the positions of the reference marks.
> >
> > So it does a preview scan and you must select where the target is
> > positioned on the glass? Or does the software find out the position
> > automatically ?
> You make a preview scan of the target and then mark the calibration 
> marks. This is necessary since you may end up with diffrent visible 
> areas or tilted targets. I think an automatism could be possible but 
> then you need some image processing.


> > files to backends or the SANE API. For me it looks like it can be
> > included in the frontends without the help of the backends. Or a
> > special "frontend" could be created that just does the calibration
> > and other frontends could just use the .icm files.
> agree
> > If I understand the method correctly, the frontends then use the .icm
> > files to adjust the gamma tables. What I don't really understand is
> could be. I do not know what gamma correction really does. But does the 
> gamma correction compensate for when only a single color is affected 
> (say if the scanner bulp is missing some red)? The .icm would do that. 
> I thought gamma applies a transfer function whereas the .icm file is 
> more or less a look-up table for color transformation.

In SANE terms, gamma tables are look-up tables. For color mode, there
could be one table (total), three tables (RGB) or four tables (RGB +
total). If the scanner provides a mean to set gamma tables in
hardware, the backends usually provide these tables and send them to
the scanner. Otherwise the correction is done in the frontend.

> > how that corresponds to the other scanner settings like exposure,
> > gain and offset which have influence on the brightness/gamma of the
> > image, too. So the .icm profile is only valid for one scanner with
> > one setting of these values?
> correct, the .icm file compensates for the color in raw (no other 
> correction) mode. Other methods like histogram and gamma should be 
> applied afterwards.


> > driver uses other settings (e.g. exposure, gain etc)? Generally
> > speaking, the images scanned by SANE are NOT always worse than with
> > Windows, so this may be a backend/scanner-specific problem.
> I do not doubt that. When having said Windows I meant including the use 
> of the .icm File. Scans in raw (no correction applied) modes do not 
> differ from Linux to Windows.
> > But the profile muste be created with the help of the frontend
> > anyway. So I don't see what role the backend plays here. Keep in mind
> Is this a mailing list for the backends anly then? Sorry I did nor know 
> that. Where can I bring up this isuue correctly?

It's the correct list here. This comment was directed to the previous
discussion on this list. 

> On the other side I see that the functionality should be available for 
> any scanner. Why not bringing it in the backend (again, due to lack of 
> programming know how i do not know if possible at all) making it easier 
> for frontend developers to take advantage of it?

The backens should support all the functions the hardware provides. As
that type of calibration is not a harware feature, I don't think they
can do anything to help it. Especially if a feature is needed for all
devices, it's better to put it in the frontend because that means to
change one (or some) frontends instead of > 50 backends.

The only thing I could think about is that the backend could provide
the .icm file over the SANE API once that file was generated and
written to the hard disc. 

> > Ok, then these users should propose the details on how to do it and
> > send patches :-)
> Maybe it would be best to involve some developers of the existing 
> projects like "lcms" projects. They know all the details of gamma, 
> histogram and the difference to color management using .icm files.

Well, go ahead :-)