[sane-devel] Current TODO list
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.
> > 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 :-)