[sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL
Alexander Pevzner
pzz at apevzner.com
Thu Oct 15 13:27:10 BST 2020
Hi Olaf,
On 10/15/20 11:59 AM, Olaf Meeuwissen wrote:
> I think this is just a case of independently developed backends where
> developer picked different option names for the same thing. A patch is
> welcome but note that it would break backward compatibility for a bunch
> of unmaintained backends if you simply drop the black- and white-level
> options :-o
To make chaos even more chaotic :-), sane-microtek uses OPT_SHADOW
internally, but with name SANE_NAME_BLACK_LEVEL, and the same for
OPT_HIGHLIGHT/SANE_NAME_WHITE_LEVEL.
> FWIW, the version 2 draft of the standard documents shadow and highlight
> at
>
> https://sane-project.gitlab.io/standard/draft-2/api.html#shadow-option
> https://sane-project.gitlab.io/standard/draft-2/api.html#highlight-option
>
> so keeping that option is probably to be preferred.
Draft 2 defines these options as simple as follows, in pseudo-code:
if (c < SHADOW) {
c = BLACK;
} else if (c > HIGHLIGHT) {
c = WHITE;
} else {
c = c;
}
However, Photoshop, GIMP, XSane (on its software image enhancement) uses
the different interpretation (with formula I didn't yet understood), and
this interpretation seems to be common across image processing software.
How these options are interpreted by backends where they are handled by
hardware, probably nobody knows.
Looks, like both variants make sense and needs to be defined as
well-known options and documented.
The present definition, as it written in the draft 2, probably better
match the SANE_NAME_BLACK_LEVEL/SANE_NAME_WHITE_LEVEL pair.
What do you think?
--
Wishes, Alexander Pevzner (pzz at apevzner.com)
More information about the sane-devel
mailing list