You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h2id="outline"><spanclass="header-section-number">1.3</span> Outline of this User Manual</h2>
500
500
<p><ahref="#installation">Chapter 2</a> describes the installation process of <em>jpylyzer</em> for Windows and Unix-based systems. <ahref="#using-jpylyzer">Chapter 3</a> explains the usage of <em>jpylyzer</em> as a command-line tool, or as an importable Python module. <ahref="#structure-jp2">Chapter 4</a> gives a brief overview of the structure of JP2 and its ‘box’ structure. <em>Jpylyzer</em>’s output format is explained in <ahref="#output-format">chapter 5</a>. The final chapters give a detailed description of the tests that <em>jpylyzer</em> performs for validation, and its reported properties. <ahref="#jp2-box-by-box">Chapter 6</a> does this for all ‘boxes’, except for the ‘Contiguous Codestream’ box, which is given a <ahref="#contiguous-codestream-box-chapter">Chapter (7)</a> of its own.</p>
<p>The development of <em>jpylyzer</em> was funded by the EU FP 7 project SCAPE (SCAlabable Preservation Environments). More information about this project can be found here:</p>
502
+
<p>The development of <em>jpylyzer</em> was funded by the EU FP 7 project SCAPE (SCAlable Preservation Environments). More information about this project can be found here:</p>
<p><em>Jpylyzer</em> is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see:</p>
<p>Currently not all of these optional marker segments are fully supported. Those that are marked with an asterisk above are only minimally supported at this stage: if <em>jpylyzer</em> encounters them, it will include the corresponding element in the <em>properties</em> element of the output. However, <em>jpylyzer</em> does not analyse the contents of these marker segments, which means that the respective elements in the output will be empty.</p>
2313
+
<p>The optional markers that are marked with an asterisk above are only minimally supported at this stage: if <em>jpylyzer</em> encounters them, it will include the corresponding element in the <em>properties</em> element of the output. However, <em>jpylyzer</em> does not analyse the contents of these marker segments, which means that the respective elements in the output will be empty.</p>
<p>The tile part validation has similar limitations. The standard lists 11 marker segments that can occur in the tile part header. Currently, <em>jpylyzer</em> only fully supports the following ones:</p>
2316
2316
<ul>
2317
2317
<li><p>Start of tile part (SOT) marker segment (required)</p></li>
<p>These marker segments that are marked with an asterisk above are only minimally supported at this stage: if <em>jpylyzer</em> encounters any of them, it will include the corresponding element in the <em>properties</em> element of the output. However, <em>jpylyzer</em>currently does not analyse their contents, and the respective elements in the output will be empty.</p>
2332
+
<p>The optional markers that are marked with an asterisk above are only minimally supported at this stage: if <em>jpylyzer</em> encounters them, it will include the corresponding element in the <em>properties</em> element of the output. However, <em>jpylyzer</em> does not analyse the contents of these marker segments, which means that the respective elements in the output will be empty.</p>
2333
2333
<h3id="bit-streams"><spanclass="header-section-number">7.2.3</span> Bit streams</h3>
2334
2334
<p>In addition to the above limitations, <em>jpylyzer</em> can <em>not</em> be used to establish whether the data in the bitstream are correct (this would require decoding the compressed image data, which is completely out of <em>jpylyzer</em>’s scope)<ahref="#fn15" class="footnote-ref" id="fnref15"><sup>15</sup></a>. As a result, if <em>jpylyzer</em> is used as part of a quality assurance workflow, it is recommended to also include an additional check on the image contents<ahref="#fn16" class="footnote-ref" id="fnref16"><sup>16</sup></a>. Also, <em>jpylyzer</em> does not perform any checks on marker segments within the bit-stream: start-of packet (SOP) and end-of-packet (EPH) markers.</p>
2335
2335
<h3id="detection-of-incomplete-or-truncated-codestreams"><spanclass="header-section-number">7.2.4</span> Detection of incomplete or truncated codestreams</h3>
<tdstyle="text-align: left;">Precinct width (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2678
+
<tdstyle="text-align: left;">Precinct width (repeated for all resolution levels; order: low to high). Equals 32768 if <em>precincts</em> is “default”</td>
<tdstyle="text-align: left;">Precinct heigth (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2682
+
<tdstyle="text-align: left;">Precinct height (repeated for all resolution levels; order: low to high). Equals 32768 if <em>precincts</em> is “default”</td>
<tdstyle="text-align: left;"><em>precinctSizeX</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2733
+
<tdstyle="text-align: left;"><em>precinctSizeX</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “user defined”)</td>
<tdstyle="text-align: left;"><em>precinctSizeY</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2737
+
<tdstyle="text-align: left;"><em>precinctSizeY</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “user defined”)</td>
<tdstyle="text-align: left;">Precinct width (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2807
+
<tdstyle="text-align: left;">Precinct width (repeated for all resolution levels; order: low to high). Equals 32768 if <em>precincts</em> is “default”</td>
<tdstyle="text-align: left;">Precinct heigth (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2811
+
<tdstyle="text-align: left;">Precinct heigth (repeated for all resolution levels; order: low to high). Equals 32768 if <em>precincts</em> is “default”</td>
<tdstyle="text-align: left;"><em>precinctSizeX</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2854
+
<tdstyle="text-align: left;"><em>precinctSizeX</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “user defined”)</td>
<tdstyle="text-align: left;"><em>precinctSizeY</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “yes”)</td>
2858
+
<tdstyle="text-align: left;"><em>precinctSizeY</em> ≥ 2 (except lowest resolution level) (repeated for all resolution levels; order: low to high) (only if <em>precincts</em> is “user defined”)</td>
0 commit comments