sane-project-website/old-archive/1999-08/0019.html

125 wiersze
6.8 KiB
HTML

<!-- received="Tue Aug 3 00:32:37 1999 PDT" -->
<!-- sent="Tue, 03 Aug 1999 09:29:32 +0200" -->
<!-- name="Andreas Rick" -->
<!-- email="rickand@gemse.fr" -->
<!-- subject="SANE_FRAME Formats (was Re: xsane-0.31 available)" -->
<!-- id="37A69A5C.3C815D75@gemse.fr" -->
<!-- inreplyto="xsane-0.31 available)" -->
<title>sane-devel: SANE_FRAME Formats (was Re: xsane-0.31 available)</title>
<h1>SANE_FRAME Formats (was Re: xsane-0.31 available)</h1>
<b>Andreas Rick</b> (<a href="mailto:rickand@gemse.fr"><i>rickand@gemse.fr</i></a>)<br>
<i>Tue, 03 Aug 1999 09:29:32 +0200</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#19">[ date ]</a><a href="index.html#19">[ thread ]</a><a href="subject.html#19">[ subject ]</a><a href="author.html#19">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0020.html">Allan Strand: "Sane + FreeBSD 3.2"</a>
<li> <b>Previous message:</b> <a href="0018.html">Gus Baldauf: "Re: xsane-0.31 available"</a>
<!-- nextthread="start" -->
<li> <b>Next in thread:</b> <a href="0026.html">Nick Lamb: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0026.html">Nick Lamb: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0028.html">Oliver Rauch: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0033.html">Stephen Williams: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0036.html">Oliver Rauch: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0040.html">Tom Martone: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0047.html">Steve Gunnell: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0048.html">Andreas Rick: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0052.html">Tom Martone: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<!-- reply="end" -->
</ul>
<!-- body="start" -->
Gus Baldauf wrote:<br>
<i>&gt; </i><br>
<i>&gt; Stephen Williams wrote:</i><br>
<i>&gt; </i><br>
<i>&gt; &gt; I have many scanners that produce (in firmware) JFIF images</i><br>
<i>&gt; </i><br>
<i>&gt; &gt; We</i><br>
<i>&gt; &gt; are talking about production scanning here, tens to hundreds of images</i><br>
<i>&gt; &gt; per minute.</i><br>
<i>&gt; </i><br>
<i>&gt; I think digital still cameras use a compressed file format as well.</i><br>
<i>&gt; </i><br>
<i>&gt; Gus</i><br>
<br>
The problem with defining all thinkable formats is that it<br>
adds a considerable amount of complexity to the frontend<br>
which is only used for one specific backend which is able<br>
to produce that one particular data-type.<br>
<p>
I think we should reduce the amount of distinction of the<br>
frame formats to the most limited number that is able<br>
to incorporate all the functionality.<br>
By this I mean there should be a different frame format<br>
only if the data-flow in the frontend is impacted.<br>
There typically is no different data-flow for a<br>
RGB-Infrared image or a RGB_Ultraviolet image so it<br>
is acceptable to have the same SANE_FRAME format.<br>
Don't forget that the design choices for SANE were made<br>
so that the frontend does not need to know exactly<br>
what the scanner is doing, only what data it will receive<br>
so that it can dispatch it (to an image processing software or to a file).<br>
The user selects the scanning options the way he wants<br>
and is thereby responsable of interpreting the results<br>
accordingly, he cannot rely on the frontend to do that for him.<br>
(An exception to this are the RGB values that the frontend<br>
wants to interpret to show the preview)<br>
When the user asks for scanning of infrared, he will get a 4th channel<br>
that is infrared, if he asks for a height field it will be<br>
a hight field. If he prefers to interpret the infrared<br>
channel as a height field - that's his choice.<br>
<p>
If we want to transfer the information of the INTERPRETATION<br>
of the frame content to the frontend we may want to create<br>
different fields that explain how the image was obtained.<br>
This may include a detailed description of the scanners<br>
capabilities (lamp spectum, CCD sensibility curves, pixel size,<br>
MTF, noise characteristics, positioning precision, user gamma-LUT used).<br>
Defining all this is a tough subject and will take a while.<br>
This should not prevent us from going ahead and implementing<br>
support for a 4-th channel or compressed data handling.<br>
<p>
A first step to incorporate the above into SANE in would be to<br>
add:<br>
SANE_FRAME_RGBA<br>
SANE_FRAME_COMPRESSED<br>
<p>
The frontends than can save the first format in to any alpha-channel<br>
aware format and write the second format blindly to disk<br>
in the hope that the user knows how to read them.<br>
If you prefer we can also add different names for different<br>
compression formats like:<br>
SANE_FRAME_JFIF<br>
and the frontend may dump any format it can't understand<br>
blindly into a file.<br>
In order to limit somewhat the number of SANE_FRAME formats I suggest<br>
that anyone who wants to add a format, has to deliver a<br>
precise specification of the format to the SANE project so<br>
that anyone can write a frontend for it.<br>
<p>
Andreas<br>
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0020.html">Allan Strand: "Sane + FreeBSD 3.2"</a>
<li> <b>Previous message:</b> <a href="0018.html">Gus Baldauf: "Re: xsane-0.31 available"</a>
<!-- nextthread="start" -->
<li> <b>Next in thread:</b> <a href="0026.html">Nick Lamb: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0026.html">Nick Lamb: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0028.html">Oliver Rauch: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0033.html">Stephen Williams: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0036.html">Oliver Rauch: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0040.html">Tom Martone: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0047.html">Steve Gunnell: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0048.html">Andreas Rick: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<li> <b>Reply:</b> <a href="0052.html">Tom Martone: "Re: SANE_FRAME Formats (was Re: xsane-0.31 available)"</a>
<!-- reply="end" -->
</ul>