jpylyzer 2.2.1__tar.gz → 2.3.0b2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/PKG-INFO +51 -8
- jpylyzer-2.2.1/jpylyzer.egg-info/PKG-INFO → jpylyzer-2.3.0b2/README.md +32 -24
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/doc/jpylyzerUserManual.html +699 -221
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/doc/userManual.html +325 -232
- jpylyzer-2.3.0b2/jpylyzer/boxes.py +1021 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/byteconv.py +33 -19
- jpylyzer-2.3.0b2/jpylyzer/codestream.py +531 -0
- jpylyzer-2.3.0b2/jpylyzer/config.py +18 -0
- jpylyzer-2.3.0b2/jpylyzer/csmarkers.py +1366 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/etpatch.py +4 -19
- jpylyzer-2.3.0b2/jpylyzer/icc.py +306 -0
- jpylyzer-2.3.0b2/jpylyzer/jp2.py +278 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/jpylyzer.py +23 -17
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/mix.py +8 -19
- jpylyzer-2.3.0b2/jpylyzer/shared.py +19 -0
- jpylyzer-2.3.0b2/jpylyzer/tilepart.py +304 -0
- jpylyzer-2.3.0b2/jpylyzer/validator.py +267 -0
- jpylyzer-2.2.1/README.md → jpylyzer-2.3.0b2/jpylyzer.egg-info/PKG-INFO +68 -3
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/SOURCES.txt +8 -7
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/entry_points.txt +0 -1
- jpylyzer-2.3.0b2/jpylyzer.egg-info/requires.txt +1 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/setup.py +1 -15
- jpylyzer-2.2.1/jpylyzer/boxvalidator.py +0 -3705
- jpylyzer-2.2.1/jpylyzer/config.py +0 -28
- jpylyzer-2.2.1/jpylyzer/shared.py +0 -46
- jpylyzer-2.2.1/jpylyzer.egg-info/requires.txt +0 -8
- jpylyzer-2.2.1/tests/__init__.py +0 -0
- jpylyzer-2.2.1/tests/unit/__init__.py +0 -0
- jpylyzer-2.2.1/tests/unit/notest_openjpeg.py +0 -102
- jpylyzer-2.2.1/tests/unit/test_jpylyzer.py +0 -58
- jpylyzer-2.2.1/tests/unit/test_testfiles.py +0 -375
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/LICENSE +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/MANIFEST.in +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon.jp2 +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc1.jp2 +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc2.jp2 +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/balloon_trunc3.jp2 +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/example_files/readme.txt +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/__init__.py +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer/__main__.py +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/dependency_links.txt +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/jpylyzer.egg-info/top_level.txt +0 -0
- {jpylyzer-2.2.1 → jpylyzer-2.3.0b2}/setup.cfg +0 -0
|
@@ -1,22 +1,37 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: jpylyzer
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0b2
|
|
4
4
|
Summary: JP2 (JPEG 2000 Part 1) image validator and properties extractor
|
|
5
5
|
Home-page: http://jpylyzer.openpreservation.org/
|
|
6
|
+
Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.3.0b2.tar.gz
|
|
6
7
|
Author: Johan van der Knijff
|
|
7
8
|
Author-email: johan.vanderknijff@kb.nl
|
|
8
9
|
Maintainer: Johan van der Knijff
|
|
9
10
|
Maintainer-email: johan.vanderknijff@kb.nl
|
|
10
11
|
License: LGPL
|
|
11
|
-
Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.2.1.tar.gz
|
|
12
12
|
Platform: POSIX
|
|
13
13
|
Platform: Windows
|
|
14
14
|
Classifier: Environment :: Console
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Requires-Python: >=3.2, <4
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
|
-
Provides-Extra: testing
|
|
19
18
|
License-File: LICENSE
|
|
19
|
+
Requires-Dist: setuptools
|
|
20
|
+
Dynamic: author
|
|
21
|
+
Dynamic: author-email
|
|
22
|
+
Dynamic: classifier
|
|
23
|
+
Dynamic: description
|
|
24
|
+
Dynamic: description-content-type
|
|
25
|
+
Dynamic: download-url
|
|
26
|
+
Dynamic: home-page
|
|
27
|
+
Dynamic: license
|
|
28
|
+
Dynamic: license-file
|
|
29
|
+
Dynamic: maintainer
|
|
30
|
+
Dynamic: maintainer-email
|
|
31
|
+
Dynamic: platform
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
20
35
|
|
|
21
36
|
# jpylyzer
|
|
22
37
|
|
|
@@ -35,8 +50,8 @@ Please visit the jpylyzer homepage for links to the most recent package download
|
|
|
35
50
|
- [](https://app.travis-ci.com/github/openpreserve/jpylyzer "Jpylyzer Travis-CI integration build") Travis-CI
|
|
36
51
|
|
|
37
52
|
- [](https://jenkins.openpreservation.org/job/jpylyzer/job/jpylyzer/) OPF Jenkins
|
|
38
|
-
<!-- Start of text to be copied to usage.md of jpylyzer website -->
|
|
39
53
|
|
|
54
|
+
<!-- Start of text to be copied to usage.md of jpylyzer website -->
|
|
40
55
|
## Using jpylyzer from the command line
|
|
41
56
|
|
|
42
57
|
Calling *jpylyzer* in a command window without any arguments results in the following helper message:
|
|
@@ -130,11 +145,18 @@ validation process (organised by box)
|
|
|
130
145
|
|
|
131
146
|
Instead of using *jpylyzer* from the command-line, you can also import
|
|
132
147
|
it as a module in your own Python programs. To do so, install jpylyzer
|
|
133
|
-
with *pip
|
|
148
|
+
with *pip* in a virtual environment:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
pip install jpylyzer
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Then import *jpylyzer* into your code by adding:
|
|
134
155
|
|
|
135
156
|
```python
|
|
136
157
|
from jpylyzer import jpylyzer
|
|
137
158
|
```
|
|
159
|
+
|
|
138
160
|
Subsequently you can call any function that is defined in *jpylyzer.py*.
|
|
139
161
|
In practice you will most likely only need the *checkOneFile* function.
|
|
140
162
|
The following minimal script shows how this works:
|
|
@@ -171,8 +193,29 @@ myResult = jpylyzer.checkOneFile(myFile, 'j2c')
|
|
|
171
193
|
|
|
172
194
|
<!-- End of text to be copied to usage.md of jpylyzer website -->
|
|
173
195
|
|
|
174
|
-
##
|
|
196
|
+
## Validator modules and classes
|
|
197
|
+
|
|
198
|
+
As of Jpylyzer 2.3, the validator functions are spread across 6 modules, each of which contains a validator class.
|
|
199
|
+
These validator classes are all child classes of the "Validator" base class that is defined in [validator.py](./jpylyzer/validator.py):
|
|
200
|
+
|
|
201
|
+
- [jp2.py](./jpylyzer/jp2.py) - Top-level JP2 / JPH validation (class *JP2Validator*)
|
|
202
|
+
- [boxes.py](./jpylyzer/boxes.py) - Validation of all defined boxes for JP2 and JPH (class *BoxValidator*)
|
|
203
|
+
- [codestream.py](./jpylyzer/codestream.py) - JPEG 2000 codestream validation (class *CSValidator*)
|
|
204
|
+
- [tilepart.py](./jpylyzer/tilepart.py) - Validation of one tile part of a JPEG 2000 codestream (class *TilePartValidator*)
|
|
205
|
+
- [csmarkers.py](./jpylyzer/csmarkers.py) - Validation of JPEG 2000 codestream marker segments (class *CSMarkerValidator*)
|
|
206
|
+
- [icc.py](./jpylyzer/icc.py) - Feature extraction from an ICC profile (class *IccValidator*)
|
|
175
207
|
|
|
176
|
-
|
|
208
|
+
The table below shows how each higher-level classe imports all classes that are needed for validation at the underlying level:
|
|
177
209
|
|
|
210
|
+
|Validator class|Imported validator classes|
|
|
211
|
+
|:--|:--|
|
|
212
|
+
|JP2Validator|BoxValidator|
|
|
213
|
+
|BoxValidator|CSValidator, IccValidator|
|
|
214
|
+
|CSValidator|TilePartValidator, CSMarkerValidator|
|
|
215
|
+
|TilePartValidator|CSMarkerValidator|
|
|
216
|
+
|CSMarkerValidator|-|
|
|
217
|
+
|IccValidator|-|
|
|
218
|
+
|
|
219
|
+
## Steps in preparing a jpylyzer release
|
|
178
220
|
|
|
221
|
+
[See instructions here](./readme-how-prepare-release.md)
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: jpylyzer
|
|
3
|
-
Version: 2.2.1
|
|
4
|
-
Summary: JP2 (JPEG 2000 Part 1) image validator and properties extractor
|
|
5
|
-
Home-page: http://jpylyzer.openpreservation.org/
|
|
6
|
-
Author: Johan van der Knijff
|
|
7
|
-
Author-email: johan.vanderknijff@kb.nl
|
|
8
|
-
Maintainer: Johan van der Knijff
|
|
9
|
-
Maintainer-email: johan.vanderknijff@kb.nl
|
|
10
|
-
License: LGPL
|
|
11
|
-
Download-URL: https://github.com/openpreserve/jpylyzer/archive/2.2.1.tar.gz
|
|
12
|
-
Platform: POSIX
|
|
13
|
-
Platform: Windows
|
|
14
|
-
Classifier: Environment :: Console
|
|
15
|
-
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Requires-Python: >=3.2, <4
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
Provides-Extra: testing
|
|
19
|
-
License-File: LICENSE
|
|
20
|
-
|
|
21
1
|
# jpylyzer
|
|
22
2
|
|
|
23
3
|
## About
|
|
@@ -35,8 +15,8 @@ Please visit the jpylyzer homepage for links to the most recent package download
|
|
|
35
15
|
- [](https://app.travis-ci.com/github/openpreserve/jpylyzer "Jpylyzer Travis-CI integration build") Travis-CI
|
|
36
16
|
|
|
37
17
|
- [](https://jenkins.openpreservation.org/job/jpylyzer/job/jpylyzer/) OPF Jenkins
|
|
38
|
-
<!-- Start of text to be copied to usage.md of jpylyzer website -->
|
|
39
18
|
|
|
19
|
+
<!-- Start of text to be copied to usage.md of jpylyzer website -->
|
|
40
20
|
## Using jpylyzer from the command line
|
|
41
21
|
|
|
42
22
|
Calling *jpylyzer* in a command window without any arguments results in the following helper message:
|
|
@@ -130,11 +110,18 @@ validation process (organised by box)
|
|
|
130
110
|
|
|
131
111
|
Instead of using *jpylyzer* from the command-line, you can also import
|
|
132
112
|
it as a module in your own Python programs. To do so, install jpylyzer
|
|
133
|
-
with *pip
|
|
113
|
+
with *pip* in a virtual environment:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
pip install jpylyzer
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Then import *jpylyzer* into your code by adding:
|
|
134
120
|
|
|
135
121
|
```python
|
|
136
122
|
from jpylyzer import jpylyzer
|
|
137
123
|
```
|
|
124
|
+
|
|
138
125
|
Subsequently you can call any function that is defined in *jpylyzer.py*.
|
|
139
126
|
In practice you will most likely only need the *checkOneFile* function.
|
|
140
127
|
The following minimal script shows how this works:
|
|
@@ -171,8 +158,29 @@ myResult = jpylyzer.checkOneFile(myFile, 'j2c')
|
|
|
171
158
|
|
|
172
159
|
<!-- End of text to be copied to usage.md of jpylyzer website -->
|
|
173
160
|
|
|
174
|
-
##
|
|
161
|
+
## Validator modules and classes
|
|
162
|
+
|
|
163
|
+
As of Jpylyzer 2.3, the validator functions are spread across 6 modules, each of which contains a validator class.
|
|
164
|
+
These validator classes are all child classes of the "Validator" base class that is defined in [validator.py](./jpylyzer/validator.py):
|
|
165
|
+
|
|
166
|
+
- [jp2.py](./jpylyzer/jp2.py) - Top-level JP2 / JPH validation (class *JP2Validator*)
|
|
167
|
+
- [boxes.py](./jpylyzer/boxes.py) - Validation of all defined boxes for JP2 and JPH (class *BoxValidator*)
|
|
168
|
+
- [codestream.py](./jpylyzer/codestream.py) - JPEG 2000 codestream validation (class *CSValidator*)
|
|
169
|
+
- [tilepart.py](./jpylyzer/tilepart.py) - Validation of one tile part of a JPEG 2000 codestream (class *TilePartValidator*)
|
|
170
|
+
- [csmarkers.py](./jpylyzer/csmarkers.py) - Validation of JPEG 2000 codestream marker segments (class *CSMarkerValidator*)
|
|
171
|
+
- [icc.py](./jpylyzer/icc.py) - Feature extraction from an ICC profile (class *IccValidator*)
|
|
175
172
|
|
|
176
|
-
|
|
173
|
+
The table below shows how each higher-level classe imports all classes that are needed for validation at the underlying level:
|
|
177
174
|
|
|
175
|
+
|Validator class|Imported validator classes|
|
|
176
|
+
|:--|:--|
|
|
177
|
+
|JP2Validator|BoxValidator|
|
|
178
|
+
|BoxValidator|CSValidator, IccValidator|
|
|
179
|
+
|CSValidator|TilePartValidator, CSMarkerValidator|
|
|
180
|
+
|TilePartValidator|CSMarkerValidator|
|
|
181
|
+
|CSMarkerValidator|-|
|
|
182
|
+
|IccValidator|-|
|
|
183
|
+
|
|
184
|
+
## Steps in preparing a jpylyzer release
|
|
178
185
|
|
|
186
|
+
[See instructions here](./readme-how-prepare-release.md)
|