dicube 0.2.0__tar.gz → 0.2.2__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.
- {dicube-0.2.0 → dicube-0.2.2}/.github/workflows/build-wheels.yml +10 -3
- {dicube-0.2.0 → dicube-0.2.2}/PKG-INFO +2 -1
- {dicube-0.2.0 → dicube-0.2.2}/dicube/core/io.py +8 -2
- {dicube-0.2.0 → dicube-0.2.2}/pyproject.toml +1 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_integration_exceptions.py +12 -0
- {dicube-0.2.0 → dicube-0.2.2}/.cursor/rules/error-handling.mdc +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.cursor/rules/file-formats.mdc +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.cursor/rules/key-classes.mdc +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.cursor/rules/project-structure.mdc +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.cursor/rules/python-style.mdc +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.github/actions/setup-python-env/action.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.github/workflows/release.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.github/workflows/test.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/.gitmodules +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/README.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/codecs/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/codecs/jph/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/codecs/jph/codec.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/codecs/jph/decode_complete.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/codecs/jph/encode_complete.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/core/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/core/image.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/core/pixel_header.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/dcb_streaming.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/dicom_io.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/dicom_meta.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/dicom_status.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/dicom_tags.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/merge_utils.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/dicom/space_from_meta.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/exceptions.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/storage/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/storage/dcb_file.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/storage/pixel_utils.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/utils/__init__.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/dicube/validation.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/example/example.ipynb +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.devcontainer/Dockerfile +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.devcontainer/devcontainer.json +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.github/FUNDING.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.github/workflows/ccp-workflow.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.github/workflows/codeql.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.github/workflows/emcc.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/Dockerfile +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/LICENSE +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/README.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/_config.yml +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/Doxyfile +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/OpenJPH_docs.css +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/compiling.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/docker.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/doxygen_style.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/status.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/usage_examples.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/docs/web_demos.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/ojph_version.cmake +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/common/ojph_img_io.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/common/ojph_sockets.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/common/ojph_threads.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_compress/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_compress/ojph_compress.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_expand/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_expand/ojph_expand.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/ojph_stream_expand.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/stream_expand_support.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/stream_expand_support.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/threaded_frame_processors.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/threaded_frame_processors.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/others/ojph_img_io.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/others/ojph_img_io_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/others/ojph_img_io_sse41.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/others/ojph_sockets.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/others/ojph_threads.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_bitbuffer_read.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_bitbuffer_write.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codeblock.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codeblock.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codeblock_fun.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codeblock_fun.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_avx.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_gen.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_local.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_local.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_sse.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_sse2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_codestream_wasm.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_params.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_params_local.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_precinct.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_precinct.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_resolution.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_resolution.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_subband.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_subband.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_tile.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_tile.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_tile_comp.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/codestream/ojph_tile_comp.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_common.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_common.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder32.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder64.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder_ssse3.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_decoder_wasm.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_encoder.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_encoder.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_encoder_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/ojph_block_encoder_avx512.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/table0.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/coding/table1.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_arch.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_arg.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_base.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_codestream.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_defs.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_file.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_mem.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_message.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_params.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/common/ojph_version.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/others/ojph_arch.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/others/ojph_file.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/others/ojph_mem.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/others/ojph_message.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_avx.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_local.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_sse.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_sse2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_colour_wasm.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_avx.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_avx2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_avx512.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_local.h +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_sse.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_sse2.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/core/transform/ojph_transform_wasm.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/openjph-config.cmake.in +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/openjph.pc.in +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/emscripten-docker.sh +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/.gitignore +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/index.html +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/libopenjph.js +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/libopenjph.wasm +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/libopenjph_simd.js +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/libopenjph_simd.wasm +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/html/test.j2c +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/src/ojph_wrapper.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/standalone/README.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/standalone/com_decom.sh +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/subprojects/js/standalone/com_decom_yuv.sh +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/target_arch.cmake +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/CMakeLists.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/compare_files.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/mse_pae.cmake +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/mse_pae.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/test_executables.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/test_helpers/Readme.md +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/test_helpers/convert_mse_pae_to_tests.cpp +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/test_helpers/ht_cmdlines.txt +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/conftest.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_codec_integration.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_codec_system.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_dcb_streaming.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_dicom_meta.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_dicom_status.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_dicom_tags.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_exceptions.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_image.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_image_exceptions.py +0 -0
- {dicube-0.2.0 → dicube-0.2.2}/tests/test_validation.py +0 -0
@@ -25,6 +25,13 @@ jobs:
|
|
25
25
|
# Ensure full history to prevent setuptools_scm issues
|
26
26
|
fetch-depth: 0
|
27
27
|
|
28
|
+
# Set up QEMU for cross-platform builds (Linux only)
|
29
|
+
- name: Set up QEMU
|
30
|
+
if: runner.os == 'Linux'
|
31
|
+
uses: docker/setup-qemu-action@v3
|
32
|
+
with:
|
33
|
+
platforms: arm64
|
34
|
+
|
28
35
|
# For Windows, we need to manually install pip
|
29
36
|
- name: Set up Windows environment
|
30
37
|
if: runner.os == 'Windows'
|
@@ -38,10 +45,10 @@ jobs:
|
|
38
45
|
python -m cibuildwheel
|
39
46
|
env:
|
40
47
|
CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* cp312-*
|
41
|
-
CIBW_SKIP: pp* *-musllinux*
|
42
|
-
CIBW_ARCHS_LINUX:
|
48
|
+
CIBW_SKIP: pp* *-musllinux* *-win32 *-i686
|
49
|
+
CIBW_ARCHS_LINUX: x86_64 aarch64
|
43
50
|
CIBW_ARCHS_MACOS: x86_64 arm64
|
44
|
-
CIBW_ARCHS_WINDOWS:
|
51
|
+
CIBW_ARCHS_WINDOWS: AMD64
|
45
52
|
|
46
53
|
# 更健壮的依赖安装方式
|
47
54
|
CIBW_BEFORE_ALL_LINUX: |
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: dicube
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.2
|
4
4
|
Summary: Medical Image Storage Library with DICOM compatibility
|
5
5
|
Author: Fangzhou Liao
|
6
6
|
License: MIT
|
@@ -38,6 +38,7 @@ Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
38
38
|
Requires-Dist: build>=0.8.0; extra == "dev"
|
39
39
|
Requires-Dist: pylibjpeg>=2.0; extra == "dev"
|
40
40
|
Requires-Dist: pylibjpeg-openjpeg>=2.0; extra == "dev"
|
41
|
+
Requires-Dist: nibabel>=3.2.0; extra == "dev"
|
41
42
|
Provides-Extra: all
|
42
43
|
Requires-Dist: pybind11>=2.10.0; extra == "all"
|
43
44
|
Requires-Dist: nibabel>=3.2.0; extra == "all"
|
@@ -239,6 +239,12 @@ class DicomCubeImageIO:
|
|
239
239
|
intercept = meta.get_shared_value(CommonTags.RescaleIntercept)
|
240
240
|
wind_center = meta.get_shared_value(CommonTags.WindowCenter)
|
241
241
|
wind_width = meta.get_shared_value(CommonTags.WindowWidth)
|
242
|
+
try:
|
243
|
+
wind_center = float(wind_center)
|
244
|
+
wind_width = float(wind_width)
|
245
|
+
except:
|
246
|
+
wind_center = None
|
247
|
+
wind_width = None
|
242
248
|
|
243
249
|
# Create pixel_header
|
244
250
|
pixel_header = PixelDataHeader(
|
@@ -246,8 +252,8 @@ class DicomCubeImageIO:
|
|
246
252
|
RescaleIntercept=float(intercept) if intercept is not None else 0.0,
|
247
253
|
OriginalPixelDtype=str(images[0].dtype),
|
248
254
|
PixelDtype=str(images[0].dtype),
|
249
|
-
WindowCenter=
|
250
|
-
WindowWidth=
|
255
|
+
WindowCenter=wind_center,
|
256
|
+
WindowWidth=wind_width,
|
251
257
|
)
|
252
258
|
|
253
259
|
# Validate PixelDataHeader initialization success
|
@@ -87,6 +87,12 @@ class TestFileIOIntegration:
|
|
87
87
|
|
88
88
|
def test_load_from_nifti_nonexistent_file(self):
|
89
89
|
"""Test loading from non-existent NIfTI file."""
|
90
|
+
# Skip test if nibabel is not available
|
91
|
+
try:
|
92
|
+
import nibabel
|
93
|
+
except ImportError:
|
94
|
+
pytest.skip("nibabel not available, skipping NIfTI test")
|
95
|
+
|
90
96
|
with pytest.raises(InvalidCubeFileError) as error:
|
91
97
|
DicomCubeImageIO.load_from_nifti("/nonexistent/file.nii")
|
92
98
|
|
@@ -95,6 +101,12 @@ class TestFileIOIntegration:
|
|
95
101
|
|
96
102
|
def test_save_to_nifti_without_space(self):
|
97
103
|
"""Test saving to NIfTI without space information."""
|
104
|
+
# Skip test if nibabel is not available
|
105
|
+
try:
|
106
|
+
import nibabel
|
107
|
+
except ImportError:
|
108
|
+
pytest.skip("nibabel not available, skipping NIfTI test")
|
109
|
+
|
98
110
|
# Create a simple image without space information
|
99
111
|
raw_data = np.random.randint(0, 1000, size=(5, 10, 15), dtype=np.uint16)
|
100
112
|
pixel_header = PixelDataHeader(
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/ojph_stream_expand.cpp
RENAMED
File without changes
|
{dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/stream_expand_support.cpp
RENAMED
File without changes
|
{dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/stream_expand_support.h
RENAMED
File without changes
|
File without changes
|
{dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/src/apps/ojph_stream_expand/threaded_frame_processors.h
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dicube-0.2.0 → dicube-0.2.2}/source/OpenJPH/tests/test_helpers/convert_mse_pae_to_tests.cpp
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|