Glymur 0.14.1.post1__tar.gz → 0.14.4__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.
- {glymur-0.14.1.post1 → glymur-0.14.4}/.circleci/config.yml +6 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/CHANGES.txt +15 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/PKG-INFO +2 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/SOURCES.txt +2 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/PKG-INFO +2 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/appveyor.yml +6 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/install.ps1 +2 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/travis-311-no-gdal.yaml +3 -3
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/travis-311-no-opj.yaml +3 -3
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/travis-311.yaml +3 -3
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/travis-313.yaml +3 -3
- glymur-0.14.4/ci/travis-314.yaml +13 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/conf.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/how_do_i.rst +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/introduction.rst +1 -1
- glymur-0.14.4/docs/source/whatsnew/0.14.rst +45 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/_core_converter.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/jp2box.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/jp2k.py +9 -9
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/jp2kr.py +18 -31
- glymur-0.14.4/glymur/lib/tiff.py +10 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/options.py +3 -4
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/tiff.py +2 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/version.py +2 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/pyproject.toml +2 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_callbacks.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_commandline_tiff2jp2.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2k.py +2 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2k_writes.py +4 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2kr.py +2 -2
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_libtiff.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_printing.py +31 -28
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_threading.py +13 -19
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_tiff2jp2.py +1 -1
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_warnings.py +0 -6
- glymur-0.14.1.post1/docs/source/whatsnew/0.14.rst +0 -26
- {glymur-0.14.1.post1 → glymur-0.14.4}/.gitignore +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/.readthedocs.yaml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/.travis.yml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/dependency_links.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/entry_points.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/requires.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/Glymur.egg-info/top_level.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/LICENSE.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/MANIFEST.in +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/README.md +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/azure-pipelines.yml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/doc.yml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/run_script.sh +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/run_with_env.cmd +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/setup_env.sh +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/ci/travis-312.yaml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/conftest.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/Makefile +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/make.bat +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/requirements.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/api.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/detailed_installation.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/goodstuff_alpha.png +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/index.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/roadmap.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.10.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.11.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.12.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.13.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.5.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.6.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.7.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.8.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/0.9.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/docs/source/whatsnew/index.rst +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/_iccprofile.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/codestream.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/command_line.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/config.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/core.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/data/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/data/goodstuff.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/data/heliov.jpx +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/data/nemo.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/jpeg.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/lib/__init__.py +0 -0
- /glymur-0.14.1.post1/glymur/lib/tiff.py → /glymur-0.14.4/glymur/lib/_tiff.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/glymur/lib/openjp2.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/setup.cfg +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/file1_xml.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/file1_xml_box.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p0_02.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p0_03.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p0_06.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p1_06.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p1_07.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/conformance/p1_07.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/edf_c2_1178956.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/issue142.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/issue392.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/issue396.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/issue438.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/issue626.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/jph_siz.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/oj-ht-byte.jph +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/text_GBR.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/from-openjpeg/text_GBR_rreq.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/geo/0220000800_uuid.dat +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/geo/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/geo/gml.xml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/appended_xml_box.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/countries.xml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/decompression_parameters_type.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/default_compression_parameters_type.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/default_progression_order_changes_type.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/encoding_declaration.xml +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/goodstuff_codestream_header.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/goodstuff_with_full_header.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue186_progression_order.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue398.dat +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue405.dat +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue549.dat +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue555.xmp +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/issue982.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/multiple_precinct_size.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_dump_no_codestream.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_dump_no_codestream_no_xml.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_dump_no_xml.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_dump_short.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_with_codestream_header.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/nemo_xmp_box.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/no_jp2c.jp2 +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/sgray.icc +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/simple_rdf.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/simple_rdf.uuid-box.txt +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/misc/uint16.j2k +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/astronaut8.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/astronaut8_stripped.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/astronaut_s_uint16.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/astronaut_uint16.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/astronaut_ycbcr_jpeg_tiled.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/goodstuff_32s.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon3_partial_last_strip.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon3_stripped.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon63.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon_2x2.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/moon_3x3.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/stripped.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/ycbcr_bg.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/skimage/ycbcr_stripped.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/__init__.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/albers27-8.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/albers27.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/basn6a08.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/cmyk.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/degenerate_geotiff.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/flower-separated-planar-08.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/ieeefp32.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/issue572.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/issue678.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/uint32.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/data/tiff/warning.tif +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/fixtures.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_cinema.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_codestream.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_colour_specification_box.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_commandline_jp2dump.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_commandline_jpeg2jp2.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_config.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_geo.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2box.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2box_jpx.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2box_uuid.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jp2box_xml.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_jpeg2jp2.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_openjp2.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_set_decoded_components.py +0 -0
- {glymur-0.14.1.post1 → glymur-0.14.4}/tests/test_slicing.py +0 -0
|
@@ -11,6 +11,7 @@ workflows:
|
|
|
11
11
|
- travis-311
|
|
12
12
|
- travis-312
|
|
13
13
|
- travis-313
|
|
14
|
+
- travis-314
|
|
14
15
|
|
|
15
16
|
test-template: &test-template
|
|
16
17
|
docker:
|
|
@@ -42,6 +43,8 @@ test-template: &test-template
|
|
|
42
43
|
export PATH=$HOME/miniconda/bin:$PATH
|
|
43
44
|
source activate glymur
|
|
44
45
|
pytest -n 4 -x
|
|
46
|
+
pytest --doctest-glob='*.rst' docs/source/how_do_i.rst
|
|
47
|
+
pytest --doctest-modules glymur
|
|
45
48
|
|
|
46
49
|
jobs:
|
|
47
50
|
travis-311-no-gdal:
|
|
@@ -58,3 +61,6 @@ jobs:
|
|
|
58
61
|
|
|
59
62
|
travis-313:
|
|
60
63
|
<<: *test-template
|
|
64
|
+
|
|
65
|
+
travis-314:
|
|
66
|
+
<<: *test-template
|
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
Oct 08, 2025 - v0.14.4
|
|
2
|
+
Qualify on python 3.14
|
|
3
|
+
Add User-Agent header to powershell script for Appveyor
|
|
4
|
+
Remove remaining openjpeg<2.4 artifacts
|
|
5
|
+
Remove explicit testing of numpy 1.26
|
|
6
|
+
|
|
7
|
+
Jun 12, 2025 - v0.14.3
|
|
8
|
+
Fix DeprecationWarning upon import
|
|
9
|
+
|
|
10
|
+
Jun 12, 2025 - v0.14.2
|
|
11
|
+
Fix test suite for python 3.14 regular expressions
|
|
12
|
+
Remove long-since-deprecated Jp2kr.read method
|
|
13
|
+
Make Jp2kr.parse method private
|
|
14
|
+
Make glymur.lib.tiff module private
|
|
15
|
+
Add doctests into circleci config
|
|
3
16
|
|
|
4
17
|
Apr 06, 2025 - v0.14.1
|
|
5
18
|
Fix doc builds for API
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Glymur
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.4
|
|
4
4
|
Summary: Read and write JPEG 2000 files
|
|
5
5
|
Author-email: John Evans <jevans667cc@proton.me>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
16
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
16
17
|
Classifier: Intended Audience :: Science/Research
|
|
17
18
|
Classifier: Operating System :: OS Independent
|
|
@@ -26,6 +26,7 @@ ci/travis-311-no-opj.yaml
|
|
|
26
26
|
ci/travis-311.yaml
|
|
27
27
|
ci/travis-312.yaml
|
|
28
28
|
ci/travis-313.yaml
|
|
29
|
+
ci/travis-314.yaml
|
|
29
30
|
docs/Makefile
|
|
30
31
|
docs/make.bat
|
|
31
32
|
docs/requirements.txt
|
|
@@ -67,6 +68,7 @@ glymur/data/goodstuff.j2k
|
|
|
67
68
|
glymur/data/heliov.jpx
|
|
68
69
|
glymur/data/nemo.jp2
|
|
69
70
|
glymur/lib/__init__.py
|
|
71
|
+
glymur/lib/_tiff.py
|
|
70
72
|
glymur/lib/openjp2.py
|
|
71
73
|
glymur/lib/tiff.py
|
|
72
74
|
tests/__init__.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Glymur
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.4
|
|
4
4
|
Summary: Read and write JPEG 2000 files
|
|
5
5
|
Author-email: John Evans <jevans667cc@proton.me>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
16
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
16
17
|
Classifier: Intended Audience :: Science/Research
|
|
17
18
|
Classifier: Operating System :: OS Independent
|
|
@@ -30,6 +30,12 @@ environment:
|
|
|
30
30
|
CONDA_PY: "313"
|
|
31
31
|
USE_PATH_FOR_GDAL_PYTHON: "YES"
|
|
32
32
|
|
|
33
|
+
- CONDA_ROOT: "C:\\Miniconda3_64"
|
|
34
|
+
PYTHON_VERSION: "3.14"
|
|
35
|
+
PYTHON_ARCH: "64"
|
|
36
|
+
CONDA_PY: "314"
|
|
37
|
+
USE_PATH_FOR_GDAL_PYTHON: "YES"
|
|
38
|
+
|
|
33
39
|
# We always use a 64-bit machine, but can build x86 distributions
|
|
34
40
|
# with the PYTHON_ARCH variable (which is used by CMD_IN_ENV).
|
|
35
41
|
platform:
|
|
@@ -7,6 +7,8 @@ $MINICONDA_URL = "http://repo.continuum.io/miniconda/"
|
|
|
7
7
|
|
|
8
8
|
function DownloadMiniconda ($python_version, $platform_suffix) {
|
|
9
9
|
$webclient = New-Object System.Net.WebClient
|
|
10
|
+
$webclient.Headers.Add("User-Agent", "Abraxis/1.0")
|
|
11
|
+
|
|
10
12
|
$filename = "Miniconda3-latest-Windows-" + $platform_suffix + ".exe"
|
|
11
13
|
$url = $MINICONDA_URL + $filename
|
|
12
14
|
|
|
@@ -3,11 +3,11 @@ channels:
|
|
|
3
3
|
- conda-forge
|
|
4
4
|
dependencies:
|
|
5
5
|
- python=3.11.*
|
|
6
|
-
- gdal>=3.
|
|
6
|
+
- gdal>=3.8.0,<3.9.0
|
|
7
7
|
- pillow
|
|
8
|
-
- libtiff>=4.
|
|
8
|
+
- libtiff>=4.6.0,<4.7.0
|
|
9
9
|
- lxml>=5.0
|
|
10
|
-
- numpy>=
|
|
10
|
+
- numpy>=2.0,<2.1
|
|
11
11
|
- openjpeg>=2.5
|
|
12
12
|
- pytest-xdist
|
|
13
13
|
- scikit-image
|
|
@@ -3,11 +3,11 @@ channels:
|
|
|
3
3
|
- conda-forge
|
|
4
4
|
dependencies:
|
|
5
5
|
- python=3.11.*
|
|
6
|
-
- gdal>=3.
|
|
6
|
+
- gdal>=3.8.0,<3.9.0
|
|
7
7
|
- pillow
|
|
8
|
-
- libtiff>=4.
|
|
8
|
+
- libtiff>=4.6.0,<4.7.0
|
|
9
9
|
- lxml>=5.0
|
|
10
|
-
- numpy>=
|
|
10
|
+
- numpy>=2.0,<2.1
|
|
11
11
|
- pip
|
|
12
12
|
- pytest-xdist
|
|
13
13
|
- scikit-image
|
|
@@ -3,11 +3,11 @@ channels:
|
|
|
3
3
|
- conda-forge
|
|
4
4
|
dependencies:
|
|
5
5
|
- python=3.11.*
|
|
6
|
-
- gdal>=3.
|
|
6
|
+
- gdal>=3.8.0,<3.9.0
|
|
7
7
|
- pillow
|
|
8
|
-
- libtiff>=4.
|
|
8
|
+
- libtiff>=4.6.0,<4.7.0
|
|
9
9
|
- lxml>=5.0
|
|
10
|
-
- numpy>=
|
|
10
|
+
- numpy>=2.0,<2.1
|
|
11
11
|
- openjpeg>=2.5
|
|
12
12
|
- pytest-xdist
|
|
13
13
|
- scikit-image
|
|
@@ -81,7 +81,7 @@ copyright = '2013-2025, John Evans'
|
|
|
81
81
|
# The short X.Y version.
|
|
82
82
|
version = '0.14'
|
|
83
83
|
# The full version, including alpha/beta/rc tags.
|
|
84
|
-
release = '0.14.
|
|
84
|
+
release = '0.14.4'
|
|
85
85
|
|
|
86
86
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
87
87
|
# for a list of supported languages.
|
|
@@ -771,7 +771,7 @@ are wrapped in a BytesIO object, which is fed to the most-excellent Pillow packa
|
|
|
771
771
|
>>> from PIL import ImageCms
|
|
772
772
|
>>> from io import BytesIO
|
|
773
773
|
>>> # this assumes you have access to the test suite
|
|
774
|
-
>>> p = pathlib.Path('tests/data/text_GBR.jp2')
|
|
774
|
+
>>> p = pathlib.Path('tests/data/from-openjpeg/text_GBR.jp2')
|
|
775
775
|
>>> # This next step may produce a harmless warning that has nothing to do with ICC profiles.
|
|
776
776
|
>>> j = Jp2k(p)
|
|
777
777
|
>>> # The 2nd sub box of the 4th box is a ColourSpecification box.
|
|
@@ -13,7 +13,7 @@ Certain optional JP2 boxes can also be written, including XML boxes and
|
|
|
13
13
|
XMP UUIDs. There is incomplete support for reading JPX metadata.
|
|
14
14
|
|
|
15
15
|
The current version of glymur is supported on Python versions 3.11,
|
|
16
|
-
3.12, and 3.
|
|
16
|
+
3.12, 3.13, and 3.14. You should have at least version 2.4.0 of OpenJPEG.
|
|
17
17
|
|
|
18
18
|
For more information about OpenJPEG, please consult http://www.openjpeg.org.
|
|
19
19
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
######################
|
|
2
|
+
Changes in glymur 0.14
|
|
3
|
+
######################
|
|
4
|
+
|
|
5
|
+
*****************
|
|
6
|
+
Changes in 0.14.4
|
|
7
|
+
*****************
|
|
8
|
+
|
|
9
|
+
* Qualify on python 3.14
|
|
10
|
+
* Add User-Agent header to powershell script for Appveyor
|
|
11
|
+
* Remove remaining openjpeg<2.4 artifacts
|
|
12
|
+
* Remove explicit testing of numpy 1.x
|
|
13
|
+
|
|
14
|
+
*****************
|
|
15
|
+
Changes in 0.14.3
|
|
16
|
+
*****************
|
|
17
|
+
|
|
18
|
+
* Fix import warning
|
|
19
|
+
|
|
20
|
+
*****************
|
|
21
|
+
Changes in 0.14.2
|
|
22
|
+
*****************
|
|
23
|
+
|
|
24
|
+
* Fix test suite for python 3.14 regular expressions
|
|
25
|
+
* Remove long-since-deprecated Jp2kr.read method
|
|
26
|
+
* Make Jp2kr.parse method private
|
|
27
|
+
* Make glymur.lib.tiff module private
|
|
28
|
+
* Add doctests into circleci config
|
|
29
|
+
|
|
30
|
+
*****************
|
|
31
|
+
Changes in 0.14.1
|
|
32
|
+
*****************
|
|
33
|
+
|
|
34
|
+
* Fix doc builds for API
|
|
35
|
+
* Add additional API examples for Jp2k, Jp2kr
|
|
36
|
+
* Fix tilesize reporting
|
|
37
|
+
* Refactor all of setup.cfg into pyproject.toml
|
|
38
|
+
|
|
39
|
+
*****************
|
|
40
|
+
Changes in 0.14.0
|
|
41
|
+
*****************
|
|
42
|
+
|
|
43
|
+
* Add description of raw IFD for geojp2 UUIDs
|
|
44
|
+
* Add feature to convert JPEGs to JP2
|
|
45
|
+
* Remove support for python 3.10
|
|
@@ -216,7 +216,7 @@ class Jp2k(Jp2kr):
|
|
|
216
216
|
force : bool
|
|
217
217
|
If true, then run finalize operations
|
|
218
218
|
"""
|
|
219
|
-
self.
|
|
219
|
+
self._parse(force=force_parse)
|
|
220
220
|
|
|
221
221
|
if (
|
|
222
222
|
self._capture_resolution is None
|
|
@@ -256,7 +256,7 @@ class Jp2k(Jp2kr):
|
|
|
256
256
|
temp_filename = self.filename + ".tmp"
|
|
257
257
|
self.wrap(temp_filename, boxes=self.box)
|
|
258
258
|
shutil.move(temp_filename, self.filename)
|
|
259
|
-
self.
|
|
259
|
+
self._parse(force=True)
|
|
260
260
|
|
|
261
261
|
def _validate_kwargs(self):
|
|
262
262
|
"""Validate keyword parameters passed to the constructor."""
|
|
@@ -526,10 +526,10 @@ class Jp2k(Jp2kr):
|
|
|
526
526
|
This method can only be used to create JPEG 2000 images that can fit
|
|
527
527
|
in memory.
|
|
528
528
|
"""
|
|
529
|
-
if version.openjpeg_version < "2.
|
|
529
|
+
if version.openjpeg_version < "2.4.0":
|
|
530
530
|
msg = (
|
|
531
|
-
"
|
|
532
|
-
"
|
|
531
|
+
"The minimum supported version of OpenJPEG is 2.4.0. "
|
|
532
|
+
f"Your version is {version.openjpeg_version}."
|
|
533
533
|
)
|
|
534
534
|
raise RuntimeError(msg)
|
|
535
535
|
|
|
@@ -817,7 +817,7 @@ class Jp2k(Jp2kr):
|
|
|
817
817
|
with self.path.open("ab") as ofile:
|
|
818
818
|
box.write(ofile)
|
|
819
819
|
|
|
820
|
-
self.
|
|
820
|
+
self._parse(force=True)
|
|
821
821
|
|
|
822
822
|
def wrap(self, filename, boxes=None):
|
|
823
823
|
"""
|
|
@@ -1463,10 +1463,10 @@ class _TileWriter(object):
|
|
|
1463
1463
|
"""Write image data to a JP2/JPX/J2k file. Intended usage of the
|
|
1464
1464
|
various parameters follows that of OpenJPEG's opj_compress utility.
|
|
1465
1465
|
"""
|
|
1466
|
-
if version.openjpeg_version < "2.
|
|
1466
|
+
if version.openjpeg_version < "2.4.0":
|
|
1467
1467
|
msg = (
|
|
1468
|
-
"
|
|
1469
|
-
"
|
|
1468
|
+
"The minimum supported version of OpenJPEG is 2.4.0. "
|
|
1469
|
+
f"Your version is {version.openjpeg_version}."
|
|
1470
1470
|
)
|
|
1471
1471
|
raise RuntimeError(msg)
|
|
1472
1472
|
|
|
@@ -12,7 +12,6 @@ from __future__ import annotations
|
|
|
12
12
|
from contextlib import ExitStack
|
|
13
13
|
import ctypes
|
|
14
14
|
import pathlib
|
|
15
|
-
import re
|
|
16
15
|
import struct
|
|
17
16
|
import sys
|
|
18
17
|
import warnings
|
|
@@ -107,7 +106,7 @@ class Jp2kr(Jp2kBox):
|
|
|
107
106
|
if not self.path.exists():
|
|
108
107
|
raise FileNotFoundError(f"{self.filename} does not exist.")
|
|
109
108
|
|
|
110
|
-
self.
|
|
109
|
+
self._parse()
|
|
111
110
|
self._initialize_shape()
|
|
112
111
|
|
|
113
112
|
def _initialize_shape(self):
|
|
@@ -393,6 +392,15 @@ class Jp2kr(Jp2kBox):
|
|
|
393
392
|
return "\n".join(metadata)
|
|
394
393
|
|
|
395
394
|
def parse(self, force=False):
|
|
395
|
+
"""
|
|
396
|
+
.. deprecated:: 0.15.0
|
|
397
|
+
"""
|
|
398
|
+
breakpoint()
|
|
399
|
+
msg = "Deprecated, do not use."
|
|
400
|
+
warnings.warn(msg, DeprecationWarning)
|
|
401
|
+
self._parse(force=force)
|
|
402
|
+
|
|
403
|
+
def _parse(self, force=False):
|
|
396
404
|
"""Parses the JPEG 2000 file.
|
|
397
405
|
|
|
398
406
|
Parameters
|
|
@@ -633,25 +641,6 @@ class Jp2kr(Jp2kBox):
|
|
|
633
641
|
# Ok, 3 arguments in pargs.
|
|
634
642
|
return data[:, :, bands]
|
|
635
643
|
|
|
636
|
-
def read(self, **kwargs):
|
|
637
|
-
"""Read a JPEG 2000 image.
|
|
638
|
-
|
|
639
|
-
.. deprecated:: 0.13.5
|
|
640
|
-
Use numpy-style slicing instead.
|
|
641
|
-
|
|
642
|
-
Returns
|
|
643
|
-
-------
|
|
644
|
-
img_array : ndarray
|
|
645
|
-
The image data.
|
|
646
|
-
"""
|
|
647
|
-
|
|
648
|
-
if "ignore_pclr_cmap_cdef" in kwargs:
|
|
649
|
-
self.ignore_pclr_cmap_cdef = kwargs["ignore_pclr_cmap_cdef"]
|
|
650
|
-
kwargs.pop("ignore_pclr_cmap_cdef")
|
|
651
|
-
warnings.warn("Use array-style slicing instead.", DeprecationWarning)
|
|
652
|
-
img = self._read(**kwargs)
|
|
653
|
-
return img
|
|
654
|
-
|
|
655
644
|
def _subsampling_sanity_check(self):
|
|
656
645
|
"""Check for differing subsample factors."""
|
|
657
646
|
if self._decoded_components is None:
|
|
@@ -704,11 +693,10 @@ class Jp2kr(Jp2kBox):
|
|
|
704
693
|
RuntimeError
|
|
705
694
|
If the image has differing subsample factors.
|
|
706
695
|
"""
|
|
707
|
-
if
|
|
696
|
+
if version.openjpeg_version < '2.4.0':
|
|
708
697
|
msg = (
|
|
709
|
-
|
|
710
|
-
f"
|
|
711
|
-
f"Your version is {version.openjpeg_version}"
|
|
698
|
+
"The minimum supported version of OpenJPEG is 2.4.0. "
|
|
699
|
+
f"Your version is {version.openjpeg_version}."
|
|
712
700
|
)
|
|
713
701
|
raise RuntimeError(msg)
|
|
714
702
|
|
|
@@ -854,7 +842,7 @@ class Jp2kr(Jp2kBox):
|
|
|
854
842
|
|
|
855
843
|
The only time you should ever use this method is when the image has
|
|
856
844
|
different subsampling factors across components. Otherwise you should
|
|
857
|
-
use
|
|
845
|
+
use numpy-style slicing.
|
|
858
846
|
|
|
859
847
|
Parameters
|
|
860
848
|
----------
|
|
@@ -888,11 +876,10 @@ class Jp2kr(Jp2kBox):
|
|
|
888
876
|
>>> jp = glymur.Jp2k(jfile)
|
|
889
877
|
>>> components_lst = jp.read_bands(rlevel=1)
|
|
890
878
|
"""
|
|
891
|
-
if version.openjpeg_version < "2.
|
|
879
|
+
if version.openjpeg_version < "2.4.0":
|
|
892
880
|
msg = (
|
|
893
|
-
|
|
894
|
-
f"
|
|
895
|
-
f"{version.openjpeg_version}."
|
|
881
|
+
"The minimum supported version of OpenJPEG is 2.4.0. "
|
|
882
|
+
f"Your version is {version.openjpeg_version}."
|
|
896
883
|
)
|
|
897
884
|
raise RuntimeError(msg)
|
|
898
885
|
|
|
@@ -966,7 +953,7 @@ class Jp2kr(Jp2kBox):
|
|
|
966
953
|
return image
|
|
967
954
|
|
|
968
955
|
def _component2dtype(self, component):
|
|
969
|
-
"""
|
|
956
|
+
"""Determine the appropriate numpy datatype for an OpenJPEG component.
|
|
970
957
|
|
|
971
958
|
Parameters
|
|
972
959
|
----------
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module is deprecated. No external use, please.
|
|
3
|
+
"""
|
|
4
|
+
# standard library imports
|
|
5
|
+
import warnings
|
|
6
|
+
|
|
7
|
+
from ._tiff import * # noqa : F401, F403
|
|
8
|
+
|
|
9
|
+
msg = "glymur.lib.tiff is for internal use only. Please do not use it."
|
|
10
|
+
warnings.warn(msg, DeprecationWarning)
|
|
@@ -71,11 +71,10 @@ def set_option(key, value):
|
|
|
71
71
|
raise KeyError(f"{key} not valid.")
|
|
72
72
|
|
|
73
73
|
if key == "lib.num_threads":
|
|
74
|
-
if version.openjpeg_version < "2.
|
|
74
|
+
if version.openjpeg_version < "2.4.0":
|
|
75
75
|
msg = (
|
|
76
|
-
|
|
77
|
-
f"
|
|
78
|
-
f"{version.openjpeg_version}."
|
|
76
|
+
"The minimum supported version of OpenJPEG is 2.4.0. "
|
|
77
|
+
f"Your version is {version.openjpeg_version}."
|
|
79
78
|
)
|
|
80
79
|
raise RuntimeError(msg)
|
|
81
80
|
if not opj2.has_thread_support():
|
|
@@ -14,7 +14,7 @@ import numpy as np
|
|
|
14
14
|
from glymur import Jp2k, set_option
|
|
15
15
|
from glymur.core import SRGB
|
|
16
16
|
from ._core_converter import _2JP2Converter
|
|
17
|
-
from .lib import
|
|
17
|
+
from .lib import _tiff as libtiff
|
|
18
18
|
from . import jp2box
|
|
19
19
|
|
|
20
20
|
# we need a lower case mapping from the tag name to the tag number
|
|
@@ -243,7 +243,7 @@ class Tiff2Jp2k(_2JP2Converter):
|
|
|
243
243
|
temp_filename = str(self.jp2_path) + ".tmp"
|
|
244
244
|
self.jp2.wrap(temp_filename, boxes=self.jp2.box)
|
|
245
245
|
shutil.move(temp_filename, self.jp2_path)
|
|
246
|
-
self.jp2.
|
|
246
|
+
self.jp2._parse()
|
|
247
247
|
|
|
248
248
|
def append_extra_jp2_boxes(self):
|
|
249
249
|
"""Copy over the TIFF IFD. Place it in a UUID box. Append to the JPEG
|
|
@@ -16,11 +16,11 @@ import numpy as np
|
|
|
16
16
|
|
|
17
17
|
# Local imports ...
|
|
18
18
|
from .lib import openjp2 as opj2
|
|
19
|
-
from .lib import tiff
|
|
19
|
+
from .lib import _tiff as tiff
|
|
20
20
|
|
|
21
21
|
# Do not change the format of this next line! Doing so risks breaking
|
|
22
22
|
# setup.py
|
|
23
|
-
version = "0.14.
|
|
23
|
+
version = "0.14.4"
|
|
24
24
|
|
|
25
25
|
version_tuple = parse(version).release
|
|
26
26
|
|
|
@@ -5,6 +5,7 @@ classifiers = [
|
|
|
5
5
|
'Programming Language :: Python :: 3.11',
|
|
6
6
|
'Programming Language :: Python :: 3.12',
|
|
7
7
|
'Programming Language :: Python :: 3.13',
|
|
8
|
+
'Programming Language :: Python :: 3.14',
|
|
8
9
|
'Programming Language :: Python :: Implementation :: CPython',
|
|
9
10
|
'Intended Audience :: Science/Research',
|
|
10
11
|
'Operating System :: OS Independent',
|
|
@@ -21,7 +22,7 @@ license = 'MIT'
|
|
|
21
22
|
name = 'Glymur'
|
|
22
23
|
readme = 'README.md'
|
|
23
24
|
requires-python = '>=3.11'
|
|
24
|
-
version = '0.14.
|
|
25
|
+
version = '0.14.4'
|
|
25
26
|
|
|
26
27
|
[project.scripts]
|
|
27
28
|
jp2dump = 'glymur.command_line:main'
|
|
@@ -33,7 +33,7 @@ class TestSuite(fixtures.TestCommon):
|
|
|
33
33
|
with warnings.catch_warnings():
|
|
34
34
|
# Ignore a library warning.
|
|
35
35
|
warnings.simplefilter("ignore")
|
|
36
|
-
tiledata = j.
|
|
36
|
+
tiledata = j._read(tile=0)
|
|
37
37
|
|
|
38
38
|
with patch("sys.stdout", new=StringIO()) as fake_out:
|
|
39
39
|
glymur.Jp2k(self.temp_j2k_filename, data=tiledata, verbose=True)
|
|
@@ -428,7 +428,7 @@ class TestSuite(fixtures.TestCommon):
|
|
|
428
428
|
"""
|
|
429
429
|
path = ir.files('tests.data.tiff').joinpath('basn6a08.tif')
|
|
430
430
|
buffer = path.read_bytes()
|
|
431
|
-
ifd = glymur.lib.
|
|
431
|
+
ifd = glymur.lib._tiff.tiff_header(buffer)
|
|
432
432
|
icc_profile = bytes(ifd['ICCProfile'])
|
|
433
433
|
|
|
434
434
|
sys.argv = [
|
|
@@ -368,7 +368,7 @@ class TestJp2k(fixtures.TestCommon):
|
|
|
368
368
|
with warnings.catch_warnings():
|
|
369
369
|
# Suppress the DeprecationWarning
|
|
370
370
|
warnings.simplefilter("ignore")
|
|
371
|
-
thumbnail1 = j.
|
|
371
|
+
thumbnail1 = j._read(rlevel=-1)
|
|
372
372
|
thumbnail2 = j[::32, ::32]
|
|
373
373
|
np.testing.assert_array_equal(thumbnail1, thumbnail2)
|
|
374
374
|
self.assertEqual(thumbnail1.shape, (25, 15, 3))
|
|
@@ -975,7 +975,7 @@ class TestVersion(fixtures.TestCommon):
|
|
|
975
975
|
with warnings.catch_warnings():
|
|
976
976
|
# Suppress a deprecation warning for raw read method.
|
|
977
977
|
warnings.simplefilter("ignore")
|
|
978
|
-
glymur.Jp2k(self.jp2file).
|
|
978
|
+
glymur.Jp2k(self.jp2file)._read()
|
|
979
979
|
with self.assertRaises(RuntimeError):
|
|
980
980
|
glymur.Jp2k(self.jp2file)[:]
|
|
981
981
|
|
|
@@ -1546,7 +1546,8 @@ class TestSuite(fixtures.TestCommon):
|
|
|
1546
1546
|
def test_ignore_pclr_cmap_cdef_on_old_read(self):
|
|
1547
1547
|
"""
|
|
1548
1548
|
The old "read" interface allowed for passing ignore_pclr_cmap_cdef
|
|
1549
|
-
to read a palette dataset "uninterpolated"
|
|
1549
|
+
to read a palette dataset "uninterpolated", but we have to
|
|
1550
|
+
use properties now.
|
|
1550
1551
|
"""
|
|
1551
1552
|
jpx = Jp2k(self.jpxfile)
|
|
1552
1553
|
jpx.ignore_pclr_cmap_cdef = True
|
|
@@ -1556,7 +1557,8 @@ class TestSuite(fixtures.TestCommon):
|
|
|
1556
1557
|
with warnings.catch_warnings():
|
|
1557
1558
|
# Ignore a deprecation warning.
|
|
1558
1559
|
warnings.simplefilter('ignore')
|
|
1559
|
-
|
|
1560
|
+
jpx2.ignore_pclr_cmap_cdef = True
|
|
1561
|
+
actual = jpx2._read()
|
|
1560
1562
|
|
|
1561
1563
|
np.testing.assert_array_equal(actual, expected)
|
|
1562
1564
|
|
|
@@ -276,7 +276,7 @@ class TestJp2kr(fixtures.TestCommon):
|
|
|
276
276
|
with warnings.catch_warnings():
|
|
277
277
|
# Suppress the DeprecationWarning
|
|
278
278
|
warnings.simplefilter("ignore")
|
|
279
|
-
thumbnail1 = j.
|
|
279
|
+
thumbnail1 = j._read(rlevel=-1)
|
|
280
280
|
thumbnail2 = j[::32, ::32]
|
|
281
281
|
np.testing.assert_array_equal(thumbnail1, thumbnail2)
|
|
282
282
|
self.assertEqual(thumbnail1.shape, (25, 15, 3))
|
|
@@ -894,7 +894,7 @@ class TestVersion(fixtures.TestCommon):
|
|
|
894
894
|
with warnings.catch_warnings():
|
|
895
895
|
# Suppress a deprecation warning for raw read method.
|
|
896
896
|
warnings.simplefilter("ignore")
|
|
897
|
-
glymur.Jp2kr(self.jp2file).
|
|
897
|
+
glymur.Jp2kr(self.jp2file)._read()
|
|
898
898
|
with self.assertRaises(RuntimeError):
|
|
899
899
|
glymur.Jp2kr(self.jp2file)[:]
|
|
900
900
|
|