[sane-devel] CanoScan Lide 110 on Ubuntu 10.10

2011-03-10 Thread Kai-Uwe Behrmann
Am 10.03.2011 01:26, schrieb Warren Turkal:
 What backend does that scanner allegedly use?

 wt

 On Wed, Mar 9, 2011 at 7:45 PM, stef stef.dev at free.fr
 mailto:stef.dev at free.fr wrote:

 Le Wednesday 09 March 2011 16:17:17 Tammo Heeren, vous avez ?crit :
  If you mean with 'sudo ...'. Yes.
 
  On Wed, 2011-03-09 at 07:45 -0500, m. allan noah wrote:
   did you try as root?
  
   allan
  
   On Wed, Mar 9, 2011 at 1:52 AM, Tammo Heeren
 home at tammoheeren.com mailto:home at tammoheeren.com wrote:
I am really hopping that somebody can help me. I am at a loss.
I have a CanoScan Lide 110 on Ubuntu 10.10.
sane-find-scanner returns found USB scanner (vendor=0x04a9
 [Canon],
product=0x1909 [CanoScan], chip=GL124) at libusb:002:005
 (which it
should) however, scanimage -L just returns the usual No
 scanners were
identified. scanimage -V returns scanimage (sane-backends)
 1.0.23git;
backend version 1.0.23. I added myself to all kinds of
 groups, ran
everything with sudo, to know avail. Neither xsane and
 simplescan work.
Can anybody point me in the right direction. I'd really like
 to get
this thing working and be one step further away from windows.
   
Tammo
 

Hello,

there is no need using latest git version for LiDE 110.
 Support for this
 model is complete in SANE 1.0.22. If the release is available in
 the official
 package repository, you should use it. If not you might have a look at
 https://launchpad.net/~robert-ancell/+archive/sane-backends
 https://launchpad.net/%7Erobert-ancell/+archive/sane-backends


I have seen similar problems with a simple LIDE20. I needed git in order
to run that scanner on ubuntu 10.04. It was about try and error.
Would'nt it be nice, if scanimage and sane-find-scanner use the same
routines to detect a scanner? Then in case of a conflict, scanimage
could do some further analysis and give more meaningful messages to
users. Users are typical bad at guessing about program internals, me
included ;-)

kind regards,
Kai-Uwe



[sane-devel] API addition request

2010-08-24 Thread Kai-Uwe Behrmann
Am 24.08.10, 10:06 +0200 schrieb Johannes Meixner:
 Hello,

 On Aug 20 11:50 m. allan noah wrote (shortened):

 Johannes- If we had two trees, and they used the same soname/soversion
 such that only one could be installed at a time, which one would SUSE
 ship? The old, no changes version, or the new, more features, might
 break some frontends version?

 I would provide both in two separated RPMs with different RPM names
 where both RPMs provide the same RPM capability sane-backends
 but with mutual RPM conflicts tags to make sure that only one
 can be installed at the same time.

 Furthermore I would enhance our YaST scanner module to support
 switching back and forth between them so that our users can
 try out which they like more.

 It would depend on user feedback (in particular during our
 beta-tests for an upcomming openSUSE version) if we prefer
 the old one to be installed by default or the new one.

 We did the same kind of switching for our printing system:
 From LPRng+lpdfilter to CUPS.
 As long as a setup tool (like YaST) provides the end-user
 an easy way to switch back and forth there is no real problem.
 Initially the old stuff was the default, then we switched
 to the new stuff as default (this is the actual switch from
 the end-users point of view), and a longer time later
 we dropped the old stuff - first we dropped support for
 the old stuff in YaST but kept its RPM packages and
 at the very end we dropped also the old stuff packages.

 Via our openSUSE build service I can provide a new sane-backends
 at any time via a separated package repository so that interested
 users can install it on demand whenever they like (but there would
 be no automated replacement of an installed sane-backends package
 on a user's system).

Can you please post your OBS repository with the patched sane-backend. I 
would like to use it to build the Oyranos SANE configuration module.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2010-08-20 Thread Kai-Uwe Behrmann
Am 19.08.10, 20:39 -0400 schrieb m. allan noah:
 While I am of the opinion that he deserves to feel some pain for that
 kind of horrible code, the end user of his code does not deserve
 breakage.

 I really, really want to commit your patch (after changing to the US
 spelling :) but I cannot, as the possibility of breakage is enough.

I understand now the reasoning. Nonetheless I might provide a patched 
version for specialised graphics distributions,

with US spelling ;-)


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2010-08-19 Thread Kai-Uwe Behrmann
Am 20.06.09, 16:37 -0400 schrieb m. allan noah:
 On Sat, Jun 20, 2009 at 3:21 PM, Kai-Uwe Behrmann ku.b at gmx.de wrote:

 Viannis SANE_CAP_COLOR is, in contrast to the below data structure, a macro
 defined flag for the SANE_Option_Descriptor::cap.
 The suggested flag is API and ABI backward compatible. So this change will
 be a very light one.


 yes- I dont think anyone will object to this. however, no backends will set
 the bit without a change, so then you are forced to assume it is always on,
 even when it is off. If we make it part of a sane 2 standard, then we can
 require that backends set the bit properly.

 allan

Ping :)

Any chance to get the supplied patches accepted in the current 
sane-backends git?
https://alioth.debian.org/tracker/index.php?func=detailaid=312641group_id=30186atid=410366

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2010-08-19 Thread Kai-Uwe Behrmann
Am 19.08.10, 12:23 +0200 schrieb Julien BLACHE:
 Kai-Uwe Behrmann ku.b at gmx.de wrote:
 Any chance to get the supplied patches accepted in the current
 sane-backends git?

 In the current state of things, no.

Does this relate to the patches themself or is it outside of my scope?

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2010-08-19 Thread Kai-Uwe Behrmann
Hello,

Am 19.08.10, 17:35 +0200 schrieb Julien BLACHE:
 Kai-Uwe Behrmann ku.b at gmx.de wrote:
 Does this relate to the patches themself or is it outside of my scope?

 It relates first and foremost to the state of SANE, SANE2, etc, etc.

The patches are for SANE only and have API and ABI wise not much side 
effects. Most apps will work as usual. Some apps can make use of the 
additional informations from the patch. But there is no requirement to do 
so.

Is SANE already frozen?

If the SANE_CAP_COLOR flag will be a design decission for SANE2 as well 
thats fine, but no precondition for its usefulness in SANE. With the 
experiences in SANE there will come experience and ideas about how to best 
add a similiar or better feature to SANE2.

 Unfortunately we seem to be stuck right now with no solution in sight
 and as it is we wouldn't have enough manpower to produce a revamped
 version of SANE :/

I know of that difficult situation. However, having the patch applied to 
git would save us work in later patching sane by hand and convincing 
distributors to do as well.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2010-08-19 Thread Kai-Uwe Behrmann
Hello,

Am 19.08.10, 18:22 +0200 schrieb Julien BLACHE:
 Kai-Uwe Behrmann ku.b at gmx.de wrote:
 SANE 1 has always been frozen, and an attempt at thawing it a bit to
 extend the API/ABI in a backward-compatible way has failed
 spectacularly.

Now, I see my subject line was misleading.

The SANE_CAP_COLOUR is merely a flag. So I would suggest a API/ABI 
checker can not detect that. All the patch needs in the headers is:

+++ include/sane/sane.h
  #define SANE_CAP_ADVANCED  (1  6)
+#define SANE_CAP_COLOUR(1  7)


The remainder is in the backends.

 So unless we want to restart that effort, I don't see how your patch can
 get merged in SANE 1.

I shurely would not want that.

 Not that I don't want it, note.

Thanks for considering.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] colour options patches 1

2010-08-03 Thread Kai-Uwe Behrmann
The SANE backend patches are now attched here:
https://alioth.debian.org/tracker/index.php?func=detailaid=312641group_id=30186atid=410366

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org


Am 30.07.10, 11:01 +0200 schrieb Kai-Uwe Behrmann:
 The SANE_CAP_COLOUR flag was suggested as a new flag to mark colour related 
 options.

 The attached patches contain the according changes to the actual 
 sane-backends in git master.

 sane_cap_colour.patch is a patch to introduce the SANE_CAP_COLOUR flag
 and flags the the pnm backend options.
 sane_cap_colour_plustek.patch flags the plustek options.

 Both patches where prepared by Yiannis Belias.

 A thierd patch containing the ramaining backend changes will follow.



[sane-devel] colour options patches 1

2010-07-30 Thread Kai-Uwe Behrmann
The SANE_CAP_COLOUR flag was suggested as a new flag to mark colour 
related options.

The attached patches contain the according changes to the 
actual sane-backends in git master.

sane_cap_colour.patch is a patch to introduce the SANE_CAP_COLOUR flag
and flags the the pnm backend options.
sane_cap_colour_plustek.patch flags the plustek options.

Both patches where prepared by Yiannis Belias.

A thierd patch containing the ramaining backend changes will follow.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org
-- next part --
A non-text attachment was scrubbed...
Name: sane_cap_colour.patch
Type: text/x-patch
Size: 3383 bytes
Desc: 
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20100730/e32cab17/attachment-0002.bin
-- next part --
A non-text attachment was scrubbed...
Name: sane_cap_colour_plustek.patch
Type: text/x-patch
Size: 8092 bytes
Desc: 
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20100730/e32cab17/attachment-0003.bin


[sane-devel] colour options 2

2010-07-30 Thread Kai-Uwe Behrmann
Here comes the second gzipd patch from me for the remaining backends.

We would be glad you review and hopefully commit these patches for more
robust ICC profile to device driver settings association.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org
-- next part --
A non-text attachment was scrubbed...
Name: sane_cap_colour_backends.patch.gz
Type: application/x-gzip
Size: 23237 bytes
Desc: 
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20100730/e1ffa442/attachment-0001.bin


[sane-devel] Rendering Intent for Color Management in XSANE Setup

2010-07-29 Thread Kai-Uwe Behrmann
Am 28.07.10, 23:08 +0200 schrieb Stephan Maier:
 On 07/28/10 13:28, Kai-Uwe Behrmann wrote:
 Date: Wed, 30 Jun 2010 13:59:33 -0400
 From: Stephan Maier stephan at bwh.harvard.edu

 I found a clear discrepancy between the profiling results
 achieved with XSANE and the Argyll (www.*argyllcms*.com)
 converting routine cctiff. The Argyll profiling results
 agree perfectly with the expected values for my target image.
 I was able to reproduce the XSANE results with Argyll's cctiff
 by using the same rendering intent, i.e. perceptual, for both input
 profile (XSANE: Scanner default color ICM-profile) and output profile
 (XSANE: Working color space ICM-profile).
 
 ICC profiles typical connect to the Profile Connection Space (PCS). This is 
 eigther Lab or XYZ encoded. During a colour trasnformation your input 
 profile connects to PCS and then goes to output profile, the working or 
 editing space. For a colour trasnformation is only one rendering intent 
 possible.
 
 I agree with the first part. Thus we have

 raw data (scanner) -- PCS -- output

 Now, as I understand it, each arrow represents a color transformation with
 its own rendering intent. In XSane does the rendering intent apply to both
 transformations or only the second one? One could of-course set
 the first to 'absolute colorimetric' by default and the user defined
 rendering intent would then only apply to the second one.

While using distinct profile colour transforms for the above conversion 
is technical possible, the intention is to use the tables in pairs.

 This leads me to believe the Rendering Intent choice in XSANE setup
 applies to both in input and output profile. This approach is not correct,
 however. The rendering intent of the input profile, which corrects errors
 of the scanner, has to be set to Absolute colorimetric, since all other
 choices perform a white point correction. XSANE lacks the option
 
 Absolute colorimetric results in a native input whitepoint on the output 
 media. E.g. the colour cast of the device would be projected into D50 or 
 whatever the editing space is and would appear there in. This is useful 
 mostly in pedantic reproduction. Normaly relative colorimetric with black 
 point compensation performs more desirable.
 Yes, I agree that 'absolute colorimetric' is the least useful for output and
 that it keeps the whitepoint coordinate and that perceived whites appear
 no longer white. However, for the input calibration profile it is different
 since we indeed need a pedantic transform, since the raw data is not
 in a color space yet.

The device colour space should be described by the device ICC profile.
Assigning the profile to the image or embedding is enough for defining the 
colours of the raw data.

 to set this rendering intent independently of the rendering intent
 for the output profile (typically the desired output profile intent is
 perceptual or relative colorimetric).
 
 If there is no thierd profile involved in the colour workflow, there can by 
 definition be no second rendering intent.
 This is may be my misunderstanding, but as I outlined above, the raw data to 
 PCS transform
 I consider to be separate profile, which should have it's own rendering 
 intent
 or at least a suitable default value, like absolute colorimetric.

It makes no sense to me. Absolute colorimetric is delivered by the 
AToB1Tag and the mediaWhitePointTag. The system is not designed to be used 
with different rendering intents per transform. From and to PCS does not 
count. inProfile - PCS - outProfile is considered one transform.
The PCS is not defined to have an additional step.

The PCS is designed to build the transform in a predictable, 
CIE*XYZ/CIE*Lab is well known, and a exchangable way. PCS allowes to 
combine different profiles without knowing in advance of them.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] Re: Rendering Intent for Color Management in XSANE Setup

2010-07-28 Thread Kai-Uwe Behrmann
 Date: Wed, 30 Jun 2010 13:59:33 -0400
 From: Stephan Maier stephan at bwh.harvard.edu

 I have been verifying the Color Management in XSANE.

Great. Do you have a link to a web page with your results?

 I found a clear discrepancy between the profiling results
 achieved with XSANE and the Argyll (www.*argyllcms*.com)
 converting routine cctiff. The Argyll profiling results
 agree perfectly with the expected values for my target image.
 I was able to reproduce the XSANE results with Argyll's cctiff
 by using the same rendering intent, i.e. perceptual, for both input
 profile (XSANE: Scanner default color ICM-profile) and output profile
 (XSANE: Working color space ICM-profile).

ICC profiles typical connect to the Profile Connection Space (PCS). This 
is eigther Lab or XYZ encoded. During a colour trasnformation your input 
profile connects to PCS and then goes to output profile, the working or 
editing space. For a colour trasnformation is only one rendering intent 
possible.

 This leads me to believe the Rendering Intent choice in XSANE setup
 applies to both in input and output profile. This approach is not correct,
 however. The rendering intent of the input profile, which corrects errors
 of the scanner, has to be set to Absolute colorimetric, since all other
 choices perform a white point correction. XSANE lacks the option

Absolute colorimetric results in a native input whitepoint on the output 
media. E.g. the colour cast of the device would be projected into D50 or 
whatever the editing space is and would appear there in. This is useful 
mostly in pedantic reproduction. Normaly relative colorimetric with black 
point compensation performs more desirable.

 to set this rendering intent independently of the rendering intent
 for the output profile (typically the desired output profile intent is
 perceptual or relative colorimetric).

If there is no thierd profile involved in the colour workflow, there can 
by definition be no second rendering intent.

 Stephan Maier


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] Re: ICC, white marks, gamma table, scaling artifacts

2010-07-28 Thread Kai-Uwe Behrmann
 Date: Wed, 14 Jul 2010 17:03:56 -0700
 From: Grant emailgrant at gmail.com

 ICC
 I've posted on this subject before and Allan told me I should scan a
 color target along with my scans so I can apply an ICC profile.  Can I
 order a color target online?  Is there a particularly one to get?

There are many colour target providers online.
The L-Prof site mentions one: http://lprof.sourceforge.net/links.html

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2009-06-21 Thread Kai-Uwe Behrmann
Am 20.06.09, 16:37 -0400 schrieb m. allan noah:
 On Sat, Jun 20, 2009 at 3:21 PM, Kai-Uwe Behrmann ku.b at gmx.de wrote:

 Viannis SANE_CAP_COLOR is, in contrast to the below data structure, a macro
 defined flag for the SANE_Option_Descriptor::cap.
 The suggested flag is API and ABI backward compatible. So this change will
 be a very light one.


 yes- I dont think anyone will object to this. however, no backends will set

thanks

 the bit without a change, so then you are forced to assume it is always on,

Agreed, a patch covering the sane included backends should be created and 
proposed by us.

 even when it is off. If we make it part of a sane 2 standard, then we can
 require that backends set the bit properly.

Agreed for sane 2 to official support the SANE_CAP_COLOR flag.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2009-06-21 Thread Kai-Uwe Behrmann
Am 21.06.09, 12:33 +0200 schrieb Alessandro Zummo:

 On Sun, 21 Jun 2009 09:50:33 +0200 (CEST)
 Kai-Uwe Behrmann ku.b at gmx.de wrote:

 even when it is off. If we make it part of a sane 2 standard, then we can
 require that backends set the bit properly.

 Agreed for sane 2 to official support the SANE_CAP_COLOR flag.

 Should the default behaviour of a backend not to alter the color
 output as much as possible?

This is a difficult question for the transistion period. Currently Xsane 
and scanimage can apply colour profiles on the frontend side. They do not 
know if a image is prematched or in some more native device space? I could 
imagine one backend option like:
colour-convert
- system, not in backend [0] (default)
- backend to sRGB, not in system [1]

The first value would allow the frontend to take over profile selection, 
while the later works as last rescue for colour management unaware 
frontends. This option should remain non mandatory and almost not used 
or implemented. Colour management in backends is regarding user 
interaction a complex thing. It will confuse users easily and increase 
support requirements. If something does not work, it can not even called a 
bug, it will be called quickly bad design.

If the system cares for this stuff or there is a relyable path to 
communicate a ICC device profile, its all easier - even though still not 
simple. Of course we need to define a path for vendors to deliver their 
device profile along with a driver and correctly install them. This is 
work to do.

 I recently noticed, while working on the epson2 color
 correction profiles, that the default option told the scanner to
 adapt for CRT monitors.

... for preview pourpose?

 I'm planning to introduce profiles shortly and to revert this default
 to no correction.

Yes, fine.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] API addition request

2009-06-20 Thread Kai-Uwe Behrmann
Viannis SANE_CAP_COLOR is, in contrast to the below data structure, a 
macro defined flag for the SANE_Option_Descriptor::cap.
The suggested flag is API and ABI backward compatible. So this change will
be a very light one.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org


 Date: Sat, 20 Jun 2009 14:42:07 +0200
 From: Alessandro Zummo azummo-lists at towertech.it

 We could grow SANE_Parameter with a flags field and a version field:

 typedef struct
 {
SANE_Int version;
SANE_Word flags;
SANE_Frame format;
SANE_Bool last_frame;
SANE_Int bytes_per_line;
SANE_Int pixels_per_line;
SANE_Int lines;
SANE_Int depth;
 }
 SANE_Parameters;




[sane-devel] ICC support - summing up

2009-06-11 Thread Kai-Uwe Behrmann
 Date: Tue, 09 Jun 2009 11:53:51 +0200
 From: Julien BLACHE jb at jblache.org

 I thought the Oyranos repository was central, but it's actually on the
 machine. I'm really not sure about that in an environment with a lot

Yes, Oyranos works primarily local. Its not a networked colour server.
Networking is typical done inside the device protocols of X11 and 
hopefully CUPS. It would make no sense to reinvent all that security 
relevant network stuff.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] ICC support for SANE

2009-05-31 Thread Kai-Uwe Behrmann
Date: Fri, 29 May 2009 09:56:16 +0200
From: Julien BLACHE j...@jblache.org
 Yes, but I'm not sure how well this is supported by frontends. XSane
 supports it but then saving in at least some formats goes down to
 8bit.

PNG and Tiff can handle 16-bit per channel. The = 8-bit version of Jpeg 
is not so commonly used.

Date: Fri, 29 May 2009 17:32:51 +0900
From: Olaf Meeuwissen olaf.meeuwis...@avasys.jp
 Seriously, my point is that some SANE backends do fiddle with the colour
 before returning the image data to the frontend.  TTBOMK the SANE spec
 has nothing to say on whether that is allowed or not, so the safest
 thing to assume is that it will happen.  Whether that has any knock-on
 effects for ICC, I leave to the experts to decide.

Multiple ICC colour conversions are mostly bad. The typical conversions 
are interpolations. In few special cases round tripping is ok. But this 
will almost not apply to scanner profiles (or printer and most camera 
ones).


Attributes to option names:
What would help to get things at higher API levels is tagging of 
options according to their colour relevance. This allowes frontends to 
automatically select a configured profile. One way could be to define
certain appendings to existing option names are to be considered as 
attributes and not as as part of the option name itself. Lets say all 
chars after a '.' point are considered to be attributes for 
SANE_Option_Descriptor::name :
e.g. sane_option_gamma_r = sane_option_gamma_r.colour
This could then tell about the colour relevance of the hypothetical
sane_options_gamma_r.
This could be suggested to allow more advanced stuff at higher API levels.


ICC in backends:
For colour matching in backends is not so easy to get through all 
necessary informations. It is as well unfortune for a system, as having 
to control in man places can easily fail.

To specify a path for transportation of ICC profiles from each backend 
would increase the effort for all backend maintainers. So I guess it is 
not a good route. (This does not touch the desire to transport ICC 
profiles over the network outside of backend API's, even if that sounds 
not Sane architecture friendly.)


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] ICC support for SANE

2009-05-28 Thread Kai-Uwe Behrmann
Am 28.05.09, 12:13 +0200 schrieb Julien BLACHE:
 Kai-Uwe Behrmann ku.b at gmx.de wrote:

 Hi,

 I'm pretty sure the frontend knows all there is to know about the
 scanner and its settings to retrieve the corresponding ICC profile.

 We possibly where holding our breath for something appearing like
 arbitrary per backend settings ;-) It helps to know that backend
 settings are well known and their relevance to colour can be
 understood on the application level.

 There is no standard for scanner settings. Each model has different
 settings available, with the most common settings somewhat
 standardised and dubbed well-known options in SANE. That's all
 you've got to work with.

Ah, so arbitrary settings are possible. This will make some instance 
necessary to decide, which setting is colour related and which not in 
order to automatically honour only related settings for ICC profile 
selection. E.g. a profile for each scan area makes less sense. As well 
the selection of colour settings for inclusion into a profile by users is 
error proune.

 All settings should be available to the frontend. If there is
 something set/computed behind the scene by the backend that is not
 reflected in the options or scan parameters available to the frontend,
 I'd tend to consider that a bug. Such a parameter should probably be
 exposed to the frontend in the form of a read-only (non settable)
 option.

Good.

 Just as in your DigiKam example, where gphoto2 is not involved
 whatsoever with the ICC stuff.

 Well, gphoto2 appears as a local transportation layer without any
 colour influence. We just learned that. Sane influences the colour and
 transports remotely. So, there are more variables to consider.

 I don't think we have backends messing around with colours directly,

Lots of settings hold gamma, saturation and so on in their names. 
So I assume eigther the device or the driver does manipulations.

 except:
 - the v4l backend which does image conversion through libv4l, and
   conversion means losses in any case. Nobody cares about v4l,
   though.
 - backends for machines that send the image as a JPEG. I think we
   have one or two cases of that, and the JPEG is decompressed to
   RGB. Someone will correct me if I'm wrong here.

 And more importantly, but I'm not sure we have a case of that:
 - machines that send data with samples  8 bits

 So in the end we should be pretty much transparent, sending out
 parameters and getting back image data. There's little to no image
 processing done in the backends, except line distance correction.

Ideally the profile selection should be dependent on any colour 
processing, be the processing in hardware or software. Burdening the 
guesswork of selecting the right profile to users is too complicated 
und non relyable.

 I don't know all the backends and what they do, so hopefully backend
 maintainers will comment about their backend if needed :)

 Yiannis, suggests to handle transportation of ICC profiles over the
 network at a later stage. This approach will be less sprinkling than
 to work on each backend individualy.

 I don't think it brings anything. If you are scanning via the network
 and you care about ICC profiles, I'd say your Oyranos
 repository/server is available on the same network anyway. AKA you're
 not scanning on an unknown machine at an unknown location anyway.

A user obtains not necessarily a login on a machine, where (s)he scanns 
or prints. A second transport path is overhead to administrators.
Duplicating and maintaining lots of resources on each machine is not
fortune.

 But if you want to do that, it'll have to be out-of-band anyway. Using

Why not inside the normal Sane network traffic? All what is needed is to 
forward a request to the remote location to obtain some data.

 a read-only option is going to be a gigantic waste of bandwidth. Look

Well I dont know why something has to be a read-only option. A one 
time request would be all which is needed. Ok when colour options change 
then more.

 at how many times the options get reloaded, and you'll understand why.


 I've recently talked ICC profiles with people in the imaging/printing
 business, and I've got told (not an accurate quote) nobody cares
 about ICC profiles; it doesn't work out, it's near impossible to get
 right, it's a waste of time, it doesn't really make a difference in
 the end anyway.

Beside many problems waiting to be solved, for people who want or have to 
care about colour there are not many alternatives to ICC profiles. Setting 
up one local machine for work with end to end colour management is 
certaily possible on linux. With some work it might even scale to some 
extent. Obviously the remains some work to make the scaling of ICC style 
colour management easy on linux/bsd.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] ICC support for SANE

2009-05-13 Thread Kai-Uwe Behrmann
replying to digest

Date: Mon, 11 May 2009 09:40:43 -0400
From: m. allan noah kitno...@gmail.com

 On your blog posts, I think your list of how to get device
 identification is good except for a few points-

 3. there is a version number exposed by the backend, but only as a
 param of sane_init()

 4. You should not make assumptions about which driver options might
 change the output of the machine. Brightness/contrast/gamma are
 common, but others might include exposure, or black level, or even
 some sort of dynamic algo done by the scanner itself.

 5. you might also want to adjust your work-flow drawing to show the
 SANE backend between the scanner and the SANE API.

How can we see what the backend does? I mean it is quite essential 
regarding colour apeparance to know, with which settings a scanner runs, 
e.g. gamma, gain ...  Is this exposed in the Sane API?

As initial interesst for Sane related colour management is very old, I got 
some first steps from here, some the following notions might be already 
know.

Anyway, let me elaborate:
when one calibrates and profiles a scanner, hopefully good 
settings are used and the colour related part should be extracted 
and remembered somewhere. Ideally these setting are stored later in the 
final ICC device profile. A hardware driver knows possibly best which 
settings are colour related and which not. Therefore I plan to add a 
backend type to Oyranos, which links to a device driver, e.g. the Sane 
API, and serialises the colour related device settings ideally to a list 
of key/value text pairs. The Oyranos device backend of Yiannis will 
then recieve a Sane context from the frontend application and extract all 
colour related informations. The resulting information from the 
Sane scanner can then be stored in the Oyranos device profile DB and 
embedded into a ICC profile on request. [1]
What this approach would be in need of, is some means to obtain colour 
relevance from a backend. Can all colour relevant settings be marked and 
transported to the front end? Would this be an extension or already 
available in Sane?
The calibration part is done by a application, like 
for monitors and often or printers. This can be automatic or manual. 
After this phase the device is ready for measuring. The settings, used 
during the calibration, must be stored or at least not altered. It is 
always a good idea to have control over that settings, as a change of them 
will change any later output and invalidate the ICC profile. The 
calibration can be imagined like a reference for the ICC profile. [2]

The test scan, typical of a colour patches chart, will then show 
the result of that colours scanned under these calibration.
The obtained picture can then be feed to a profiling application, like 
ArgyllCMS or Lprof in the open source world. It will extract the resulting 
colours as device colours and create a ICC profile, which is able to 
correct these colours to a reference colour space.

Applications using following combination of:
* a defined or, regarding colour, similiar behaving device
* a defined driver (backend?) settings and
* a related ICC profile
can then reach much more agreement about colours for the same scanned 
picture with different devices. Ideally the tint of the device will 
disappear after that process. The application part is already implemented 
in XSane. [3]

Now related to Oyranos, the idea is to move that
   device, driver, ICC profile 
combination out of a single application to a shared library, to offer 
every application using colour devices the same comfort of obtaining ICC 
colour management support from the Oyranos library. This includes a GUI to 
set profiles to each device and other options. The GUI part is called 
kolor-manager, a KDE system settings panel, which is currently part of the 
KDE playground [4].

 There has been some discussion of making a modified version of the
 SANE API, perhaps if you can outline the benefits of ICC support, you
 might get some buy-in to adjust it to your needs...


Date: Mon, 11 May 2009 16:22:53 +0200
From: Julien BLACHE j...@jblache.org

 To put it in a nutshell: uniquely identifying a scanner, don't count
 on it. If it was doable, we would have done so loong ago already.

What a pitty.

 Fact is, USB scanners reporting a serial number at the USB level are
 the exception. And as Allan wrote already, even otherwise, not a lot
 of machines expose a serial number. Manufacturers just don't care,
 except on high-end machines.

Then these machines will probably see less troubles during colour 
critical work.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management
www.behrmann.name + www.oyranos.org

[1] http://www.oyranos.org/wiki/index.php?title=Device_Settings#Driver
[2] http://www.oyranos.org/wiki/index.php?title=Device_Settings#Profiling
[3] http://www.oyranos.org/wiki/index.php?title=Device_Settings#Scenario
[4] http://www.oyranos.org/wiki/index.php?title=Kolor-manager



[sane-devel] Git repositories are up

2009-05-05 Thread Kai-Uwe Behrmann
Date: Mon, 04 May 2009 19:02:07 +0200
From: Julien BLACHE j...@jblache.org

 HTTP access for cloning for the corporate-firewall-impaired among us:
 git clone http://git.debian.org/git/sane/sane-backends.git
 git clone http://git.debian.org/git/sane/sane-frontends.git
 git clone http://git.debian.org/git/sane/website.git

alternatively one may access git over the git port (9418/tcp):
git clone git://git.debian.org/git/sane/sane-backends.git
git clone git://git.debian.org/git/sane/sane-frontends.git
git clone git://git.debian.org/git/sane/website.git

see as well:
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#exporting-via-git
... The git protocol gives better performance and reliability ...


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org




[sane-devel] xsane-0.992 released

2007-01-28 Thread Kai-Uwe Behrmann
Hello Oliver,

for grayscale images exist special gray scale profiles. You have no 
device profile selector for them to explicitely support that kind of 
conversion.

Yes, omit preceptual and saturation. In PS they are not to be found anyway 
under theyre rendering intent names (and works slightly different than 
in lcms). The only use of distinguishing them is to show the media 
whitepoint (or paper colour) on screen or to adapt to the monitor 
whitepoint.

kind regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 27.01.07, 22:57 +0100 schrieb Oliver Rauch:

 
 Hello Kai-Uwe,
 
 thanks for your test/comments.
 
 I also had problems with grayscale scans, but I did not find out
 what the problem is. May be the profiles I use do not support grayscale.
 But I am also not sure how grayscale conversion is done with color management.
 
 I read that usual proofing intents are relative and absulute colorimetric. 
 Should I disable the others because it does not make sense at all to use them 
 or are there any situations in which they make sense?
 
 Best regards
 Oliver
 
 
 Am Freitag, 26. Januar 2007 16:37 schrieb Kai-Uwe Behrmann:
  Except gray scales it works.
 
  The proofing intents cover usually relative and absolute colorimetric
  only.
 
  The test scan was saved with the embedded scanner profile. Opened in
  CinePaint the image looked the same as in Xsane's preview. Switching
  colour management on and off showed the difference.
 
  kind regards
  Kai-Uwe Behrmann
  --
  development for color management
  www.behrmann.name + www.oyranos.org + www.cinepaint.org
 
  Am 25.01.07, 22:52 +0100 schrieb Oliver Rauch:
   Hello.
  
   XSane-0.992 is released.
  
   It contains some bugfixes and
   rudimentary color management support.
  
   Please consider this version as beta-code,
   it may crash or create unespected results.
  
   You find it on
  
 http://www.xsane.org
  
   Best regards
   Oliver
 


[sane-devel] xsane-0.992 released

2007-01-26 Thread Kai-Uwe Behrmann
How can I test without an scanner connected?
xsane sane-pnm   and
xsane sane-pnm:xsane-calibration.pnm   and
sane-test equivilants seems not to work eighter?

Installed is sane 1.0.14 distributed on Feb 2005.

kind regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 25.01.07, 22:52 +0100 schrieb Oliver Rauch:

 Hello.
 
 XSane-0.992 is released.
 
 It contains some bugfixes and
 rudimentary color management support.
 
 Please consider this version as beta-code,
 it may crash or create unespected results.
 
 You find it on
 
   http://www.xsane.org
 
 Best regards
 Oliver
 


[sane-devel] xsane-0.992 released

2007-01-26 Thread Kai-Uwe Behrmann
?tienne,

thanks for the hint. Xsane opens and at least I can select across 4 
generated test images.

kind regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 26.01.07, 13:36 +0100 schrieb ?tienne Bersac:

 Hi,
 
  xsane sane-pnm   and
  xsane sane-pnm:xsane-calibration.pnm   and
  sane-test equivilants seems not to work eighter?
 
 use xsane pnm or xsane test or configure /etc/sane.d to load test
 backend (uncomment test in dll.conf)
 
 ?Tienne.
 -- 
 Verso l'Alto !
 
From k...@gmx.de  Fri Jan 26 16:37:06 2007
From: k...@gmx.de (Kai-Uwe Behrmann)
Date: Fri Jan 26 16:37:49 2007
Subject: [sane-devel] xsane-0.992 released
In-Reply-To: 200701252252.45943.oliver.ra...@rauch-domain.de
References: 200701252252.45943.oliver.ra...@rauch-domain.de
Message-ID: Pine.LNX.4.61.0701261623580.6730@sirius.rasena

Except gray scales it works. 

The proofing intents cover usually relative and absolute colorimetric 
only.

The test scan was saved with the embedded scanner profile. Opened in 
CinePaint the image looked the same as in Xsane's preview. Switching 
colour management on and off showed the difference.

kind regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 25.01.07, 22:52 +0100 schrieb Oliver Rauch:

 Hello.
 
 XSane-0.992 is released.
 
 It contains some bugfixes and
 rudimentary color management support.
 
 Please consider this version as beta-code,
 it may crash or create unespected results.
 
 You find it on
 
   http://www.xsane.org
 
 Best regards
 Oliver
 


[sane-devel] EPSON 3490, calibration and raw data

2006-02-14 Thread Kai-Uwe Behrmann
Krzysztof,

not an insider of sane programming, but some comments below:

Am 11.02.06, 13:54 +0100 schrieb Krzysztof Halasa:

 Hi,
 
 Please forgive my ignorance, I've just started using EPSON 3490.
 
 I'm especially interested in scanning negative 35 mm films (yes, I know
 it's low-end, it's like an experiment).
 
 Reading the sources to snapscan backend I got the impression that:
 a) before the actual scanning the scanner performs white level calibration
(and, with TPU, black level calibration).
This is actually READ/READ_CALIBRATION and READ/READ_CALIBRATION_BLACK
and the scanner just scans 16 lines of open area behind the actual
film (and respectively 48 lines for black calibration, not sure where).
 
The images are either 8-bit or 16-bit, but I'm not sure all bits are
used (details?).
 
 b) the scanned calibration image is averaged and a single line is sent
back using SEND/READ_CALIBRATION and SEND/READ_CALIBRATION_BLACK.
Not sure about 16-bit, does the values differ from 8-bit mode?
 
 c) eventually the analog gamma information is uploaded to the scanner
as well (not yet sure about details, someone?).
 
 What do I need? I need to obtain raw scan data, without any calibration
 or gamma correction at scanning time.

My expectation about indevice gamma correction, it is a mathematical 
conversion to the full bit depth. Thus the native 10/12/14-bit signal is 
fixed in the AD unit and anything like gamma and B/W point is applied to 
this stream. If someone with more technical insight can negate it would 
be interessting on how to manipulate the AD conversion.

 Now I have disabled READ/READ_CALIBRATION* command and the whole averaging
 etc. and I'm doing SEND/READ_CALIBRATION* with the following data:
 - for white: 255 0 0 0 ...
 - for black: 0 0 0 0 ...
 
 Does it disable the calibration and related calculations? The following
 code fragments suggests so but the algorithm seems a bit strange (for black
 and white but it essentially the same for RGB):
 
 /* now make averages */
 for (k = 0; k  num_bins; k++) {
 bins[k] /= cal_lines;
 /* also divide by 64 for 16bit mode */
 if (bytes_per_bin == 2)
   bins[k] /= 64;
 }
 
 and then:
 
 g = 0;
 for (k = 0; k  num_bins; k++) {
 *pbuf++ = bins[k] - g;
 g = bins[k];
 }
 
 Why the /64? Does the calibration data in 16-bit mode consist of 8-bit
 samples shifted left by 6 bits (i.e., 14-bit samples with lower 6 bits
 unused/ignored)?
 
 
 Next thing, analog gamma - does setting it to 1.0 prevents scanner
 firmware from doing any calculations?
 
 Is this scanner really 48-bit (3 * 16 bit)? Can I really get full 16-bit
 data from it?

This certainly not for the above device. I would guess 10-14 bit with 
appropriate noice. Multisampling helps for the latter. You have to test if 
the tonal range is good enough for negative scanning. Not shure if newer 
consumer scanners are better in this field.

 Do you think adding get raw data option and possibly get calibration
 data (for further processing with general image-manipulation programs)
 to this backend would make sense?
 
 
 Any help will be appreciated.
 -- 
 Krzysztof Halasa
 

regards
Kai-Uwe Behrmann
+ development for color management 
+ imaging / panoramas
+ email: k...@gmx.de
+ http://www.behrmann.name



[sane-devel] unique device infos

2005-02-17 Thread Kai-Uwe Behrmann
The goal is identification of devices to assign colour profiles precisely.
I like to take an normal userspace application and do an query to 
an library (sane) which will provide the mentioned information about the 
image output. The manufacturer/model/ID information will then be used to 
select the correct profile for that device.

What does You think are such informations reachable?

regards
Kai-Uwe Behrmann
+ development for color management 
+ imaging / panoramas
+ email: k...@gmx.de
+ http://www.behrmann.name


Am 17.02.05, 09:30 +0100 schrieb Gerhard Jaeger:

 On Monday 14 February 2005 09:36, Kai-Uwe Behrmann wrote:
  Hi,
  
  does sane currently export device informations like:
   manufacturer, model and ID/serial number?
  This would help me in further processing the output of sane.
  
  thanks
  Kai-Uwe Behrmann
 
 Could you be more specific! What would you like to do?
 Any proposal?
 
 Gerhard
 




[sane-devel] unique device infos

2005-02-14 Thread Kai-Uwe Behrmann
Hi,

does sane currently export device informations like:
 manufacturer, model and ID/serial number?
This would help me in further processing the output of sane.

thanks
Kai-Uwe Behrmann
+ development for color management 
+ imaging / panoramas
+ email: k...@gmx.de
+ http://www.behrmann.name




[sane-devel] Saphir Ultra II color changes?

2003-04-08 Thread Kai-Uwe Behrmann
Till friday I had much to do. So my answere comes today as I continued to
test.

Am 03.04.03, 18:27 +0200 schrieb Oliver Rauch:

 May be you have a problem with the lamp or the calibration.

 What results when you do:

 - preview #1
 - scan #1
 - preview #2
 - scan #2

 (always the same areas and images).

The differences between preview and scan are constant over time.

As the result of some testing I could see, equal to positiv and all
negative scanning combinations, the changes of colors came while using
other settings than  full range  from the filmtype selector.

The more the film type preadjusts the image the more will be color changes
between preview and final scan visible. For Negatives it is better visible
than with postives.

 Oliver


--
Kai-Uwe



[sane-devel] Saphir Ultra II color changes?

2003-04-03 Thread Kai-Uwe Behrmann
-- I hope this is not a duplicated mail for You, my SuSE8.0email is :(  --
Hi Oliver,
sorry I maybe said it somewhat unclear. The rgb-pixels align right - no
geometric shift. The difference from preview to final scan is: I see an
yellowish preview an get an bluish scan. It locks like xsane uses an
other method for preview than for the final scan. I remember to have read
about gammatables in the scanner versus gamma correcting in (x)sane, this
would give an good explanation.

Kai-Uwe


- Good informations depends on our courage to bear them.   -
- Desinformation may become very inconvenient sometimes.   -
- http://www.indymedia.org   -


Am 02.04.03, 21:31 +0200 schrieb Oliver Rauch:

 Hello.

 The SAPHIR4/PL-III put the colors together to one line
 in the scanner, not in the driver.

 I myself use the PL-III without such problems.

 Please send a SMALL example image to me (not to the list).

 Best regards
 Oliver

 On Wednesday 02 April 2003 19:48, Kai-Uwe Behrmann wrote:
  Hi Listmenbers,
  I compiled sane-1.0.11 from source to solve some problems with the
  Linotype SAPHIR4 alias Saphir Ultra II  equal to PL-III.
 
  As reported earlier the preview of xsane(0.90) and the final scan are
  very different. This happens to the SU-II as well.
  Following a hint to solve this, I tried to update sane as it was expected
  to be driver related. Now sane compiles and shows me the scanner but dont
  like to support him instantly.
  sane-find-scanner: found SCSI scanner Linotype SAPHIR4 V1.5 at device
  /dev/sg1
  scanimage -L showed only after some compilations of sane the scanner
 
  The previously used sane-1.0.7 and -1.0.8 from SuSE worked without any
  problems. (Would like to know what they did.)
 
  I checked the umax*.* files and it looked to me as all would be proper -
  Linotype SAPHIR4 was defined as supported on some lines.
 
  Now as I can use sane-1.0.11 the situation is the same: big color shifts
  between preview and final scans. Is it possible to aviod the different
  scanmodes of preview and final scanns via an option till it is debuged?
 
  Nevertheless, Thanks for the work.
  Kai-Uwe
 
  ___
  Sane-devel mailing list
  sane-de...@www.mostang.com
  http://www.mostang.com/mailman/listinfo/sane-devel

 --
 http://www.xsane.org
 http://www.mostang.com/sane
 http://www.rauch-domain.de
 mailto:oliver.ra...@rauch-domain.de





[sane-devel] Saphir Ultra II color shifts?

2003-04-02 Thread Kai-Uwe Behrmann
Hi Listmenbers,
I compiled sane-1.0.11 from source to solve some problems with the
Linotype SAPHIR4 alias Saphir Ultra II  equal to PL-III.

As reported earlier the preview of xsane(0.90) and the final scan are
very different. This happens to the SU-II as well.
Following a hint to solve this, I tried to update sane as it was expected
to be driver related. Now sane compiles and shows me the scanner but dont
like to support him instantly.
sane-find-scanner: found SCSI scanner Linotype SAPHIR4 V1.5 at device
/dev/sg1
scanimage -L showed only after some compilations of sane the scanner

The previously used sane-1.0.7 and -1.0.8 from SuSE worked without any
problems. (Would like to know what they did.)

I checked the umax*.* files and it looked to me as all would be proper -
Linotype SAPHIR4 was defined as supported on some lines.

Now as I can use sane-1.0.11 the situation is the same: big color shifts
between preview and final scans. Is it possible to aviod the different
scanmodes of preview and final scanns via an option till it is debuged?

Nevertheless, Thanks for the work.
Kai-Uwe