dicom-dre 1.1.0.dev2__tar.gz → 1.1.1.dev1__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.
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/dependabot.yml +1 -1
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/workflows/ci.yml +3 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/workflows/deploy.yml +11 -2
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/workflows/docs.yml +3 -1
- dicom_dre-1.1.1.dev1/.github/workflows/fuzz.yml +84 -0
- dicom_dre-1.1.1.dev1/.github/workflows/scorecard-analysis.yml +56 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/workflows/tests.yml +12 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.gitignore +6 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/CHANGELOG.md +6 -1
- dicom_dre-1.1.1.dev1/PKG-INFO +214 -0
- dicom_dre-1.1.1.dev1/README.md +189 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/index.md +0 -7
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_catalog_match/seed_regex.txt +1 -0
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_jpeg_dct/baseline.jpg +0 -0
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_jpeg_dct/crash-ac-runsize-infloop-e827ebbe +0 -0
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_jpeg_dct/crash-huffman-table-oob-c1bb2643 +0 -0
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_text_redactor/output.csv +3 -0
- dicom_dre-1.1.1.dev1/fuzz/corpus/fuzz_text_redactor/seed_pii.txt +3 -0
- dicom_dre-1.1.1.dev1/fuzz/fuzz_catalog_match.py +42 -0
- dicom_dre-1.1.1.dev1/fuzz/fuzz_jpeg_dct.py +47 -0
- dicom_dre-1.1.1.dev1/fuzz/fuzz_text_redactor.py +53 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/justfile +10 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/pyproject.toml +6 -1
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/_jpeg_dct_accel_build.py +24 -3
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/_version.py +2 -2
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/jpeg_dct_scrubber.py +38 -6
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/uid_utils.py +1 -1
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_jpeg_dct_scrubber.py +166 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_scrub_region.py +28 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_text_redactor.py +38 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_uid_utils.py +46 -24
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/uv.lock +42 -0
- dicom_dre-1.1.0.dev2/PKG-INFO +0 -290
- dicom_dre-1.1.0.dev2/README.md +0 -265
- dicom_dre-1.1.0.dev2/docs/notes/iso-2022-specific-character-set.md +0 -173
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.devcontainer/devcontainer-lock.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.devcontainer/devcontainer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.devcontainer/post-create.sh +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.gitattributes +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/copilot-instructions.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/instructions/dicom-io.instructions.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/instructions/docs.instructions.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/instructions/tests.instructions.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.github/skills/pr-template/SKILL.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.pre-commit-config.yaml +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.vscode/extensions.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/.vscode/settings.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/LICENSE +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/NOTICE +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/SECURITY.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/Makefile +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/_static/.gitkeep +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/about/changelog.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/about/history.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/about/limitations.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/about/testing.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/architecture.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/device-catalog.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/jpeg-dct.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/profiles.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/reproducibility.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/concepts/text-redaction.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/conf.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/getting-started/installation.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/getting-started/quickstart.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/guides/cli.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/guides/extending-the-catalog.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/guides/local-validation.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/guides/redactor.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/make.bat +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/docs/reference/api.md +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/hatch_build.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/actions.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/attributes.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/batch.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/catalog.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/cli.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/default_catalog.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/parameters.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/pipeline.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/pixel_blanker.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profile.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/builder.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/config.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/default.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/lds.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/lds_no_dob.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/profiles/strict.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/py.typed +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/pydicom_config.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/resources/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/resources/allow_lists/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/resources/allow_lists/default.csv +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/result.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/salt.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/scrub_region.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/src/dicom_dre/text_redactor.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/conftest.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/cr/agfa/dxd40_1000c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/discovery_ls.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_ct/discovery_qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_mimvista/discovery_st.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/mimvista_corp/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/neurologica/ceretom.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/neusoft/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/philips/gemini.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ct/siemens_mimvista/emotion_duo.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/dx/agfa/dx_g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/ko/key_object_selection.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/carestream/classic_cr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/fischer_imaging_corporation/senoscan_trueview.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/clearview_csm.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_1000aws.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_2000aws.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_healthcare/senographe_pristina.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/ads_1_0.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senograph_2000d_ads_17_2_3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_56_21_3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_dbt_reconstruction_box_01_10_3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_dbt_reconstruction_box_01_10_4.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/lorad_selenia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/selenia_dimensions.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/ims_s_r_l/giotto_image_3dl.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/kodak/classic_cr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/kodak/elite_cr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/lorad/hologic_selenia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/lorad/lorad_selenia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/lorad_a_hologic_company/dsm.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/mptronic_software/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/philips_digital_mammography_sweden_ab/l30.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_inspiration.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_novation_dr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_revelation.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mg/tmsc_fujitsu_ltd/mgu_1000d.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/discovery_mr750.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_architect.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_premier.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/hitachi_medical_corporation/oasis.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/ingenia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/intera.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/siemens/avanto.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/toshiba/titan.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/nm/adac/atlantis.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/nm/segami/mirage.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pr/gsps_annotated.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems_pet/discovery_qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/gems/advance.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/gems/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/hmsa_mim_software/927.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/gemini_tf_base_c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems_mimvista/allegro_body_c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/pt/siemens/1094.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia_abus_2_0.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqbook.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqworkse9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/echopac_pc.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/philips_medical_systems/lumify.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/siemens/s2000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/allow/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2010c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2050c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/canon/dr_c125.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/eastman_kodak_company/ls_75.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/fujitsu/fi_6140z.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/g_e_medical_systems/prodigy.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/general_electric/centricity_ra_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n80111.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n_85108.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/infinitt/infinitt_pacs.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/lexmark/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/lumisys/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/medweb/none.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/meridian_technique_limited/orthoview_isd.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/nai_tech_products_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/north_american_imaging_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacs/dr_c125.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsgear/print2pacs.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsgear_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsgear_rii2/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacslogic/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/panasonic/kv_s2026c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/philips/easydiagnost_super80_cp.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/siemens_health_services/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/vidar/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/cr/viztek/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_s.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_610.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_710.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct590_rt.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct750_hd.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_iq.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_rx.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_xr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/hispeed_qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed16.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_plus.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_16.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_32.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt16.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_ultra.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_vct.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_xtra.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_560.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct520_series.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct540.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct580.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct660.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_ct.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_evo.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_gsi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_hd.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/medrad_inc/certegra.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/philips/brilliance_64.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/philips/gemini_tf_big_bore.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/philips/precedence_16p.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/siemens/sensation_64.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ct/toshiba/aquilion.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/bioptics_inc/pathvision.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_a_s_n87685.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n81330.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n84951.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_sl_s_n82250.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/hologic/horizon_w_s_n_200112.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/lexmark/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/pacsgear/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/pacslogic/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/dx/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ko/ge_healthcare_it_radiology/centricity_radiology_ra_1000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ko/key_object_selection.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/biovision.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/corevision.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/pixarray100.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/cadx/cad1.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/cadx/mmhwdcad.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/cadx/ohmac2cad.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/canon/2050c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/canon/dr_2010c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/confirma_inc/cadstream_4_1_3_985.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/connect_imaging/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/di/document_scanner.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/eastman_kodak_company/carestream_digitized_priors_input_station_1_1_5_38679_vidar.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/faxitron_bioptics_llc/biovision.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_corporation/dx_50.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_digital_hardcopy/centricity_digital_hardcopy.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/hologic/discovery_a_s_n83038.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/securview.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/trident.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/icad_inc/7_2_h.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/icad_inc/icad_powerlook_amp_8_0_1.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/icad_inc/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert_20.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/lexmark/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/volpara_server.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/primordial/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/cenova.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_enhanced.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_tm.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/ramsoft_inc/castle_powerreader.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/siemens_healthcare/syngo_via_va30a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/three_palm_software/workstationone.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/vidar/cad_pro_advantage.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/vidar/cadpro.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/senograph_ds_ads_43_10_1.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mg/volpara_limited/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/agfa/clinapps.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/aze/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/bammergroup_stanford/rapid_2_0.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/barco/voxar_3d.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/canon/2050c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/circlecvi/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/confirma_inc/cadstream_4_1_2_613.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/dcad/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/desacc_inc/health_data_explorer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/fujitsu/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/ge/signa_1_5t.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/icad/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/image_information_systems/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/imagenow/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/lexmark/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/lumisys/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/medweb/none.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_9_711.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare_inc/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsgear_riipscan/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsscan/dr_2080c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/pacsscan_4_0/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/panasonic/kv_s2028c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/philips/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/primordial/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/radiology_research/hfh.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_va20a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_vb10a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/statrad_llc/push2pacs.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/urlj/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/vassol/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/vidar/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/vital_images_inc/vitrea_2.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/mr/viztek/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/nm/adac/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/nm/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/nm/segami/mirage.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ot/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/ot/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pr/presentation_state.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/pt/philips_medical_systems/allegro_body_c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sc/sante_dicom/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/biograph128.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_16.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_64.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_as.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_edge.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_flash.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_force.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/sr/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/acuson/cypress.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/atl/hdi_5000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/venue_40.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/viewpoint.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_viewpoint/viewpoint.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiqworks.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/medison/accuvix.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_5g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens/s2000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/toshiba_mec/ssa_580a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/u_systems/somoviewer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/unknown/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/zonare/z_one.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/us/zonare/zs3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/xa/philips/allura_clarity.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/filter/xa/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/axiom_multix_m.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/cr/konica/0402.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/cr/medicatechusa/krystalrad_660vsi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/cr/shimadzu/cxdi_control_software_ne.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ct/siemens/s1000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/dx/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/dx/cuattro_llc/clouddr_medical.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/dx/medicatechusa/krystalrad_660_vxi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/dx/medlink_imaging/altodr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/nm/ge_medical_systems_nuclear/unknown.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/acuson/cypress.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha10.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/2202.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/bk_medical/2300.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/vivide.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_p.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_s.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/v830.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/voluson_e8.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems_kretztechnik_gmbh_co_ohg/v830.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_ultrasound/vivid_3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e95.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/logiq_400.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_q.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/noblus.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/prosound_f75.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v10.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v20.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/medison/sonoace_x8.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_70g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/clearvue_550.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx30.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx50.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_5w.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/sparq.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/h60.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_freestyle.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/s1000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/s2000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens/s3000.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/elegra.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g40.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g60_s.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/x150.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/sonosite/sonosite_titan.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/aplioxg.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/viamo.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/xarioxg.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/ssh_880cv.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a300.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a400.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_ai700.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_x200.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/zonare/z_one.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/catalog_fixtures/scrub/us/zonare/zs3.json +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/conftest.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/profiles/__init__.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/profiles/conftest.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/profiles/test_dates.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/profiles/test_invariants.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/profiles/test_specifics.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_actions.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_attributes.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_batch.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_catalog.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_catalog_regression_fixtures.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_cli.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_default_catalog.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_pipeline_attributes.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_pipeline_outcomes.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_pipeline_preservation.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_pipeline_redaction.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_pixel_blanker.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_profile.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_public_api.py +0 -0
- {dicom_dre-1.1.0.dev2 → dicom_dre-1.1.1.dev1}/tests/unit/test_salt.py +0 -0
|
@@ -24,6 +24,9 @@ on:
|
|
|
24
24
|
- main
|
|
25
25
|
- development
|
|
26
26
|
|
|
27
|
+
permissions:
|
|
28
|
+
contents: read
|
|
29
|
+
|
|
27
30
|
concurrency:
|
|
28
31
|
group: deploy-${{ github.ref_name }}
|
|
29
32
|
cancel-in-progress: false
|
|
@@ -161,7 +164,6 @@ jobs:
|
|
|
161
164
|
if: needs.version.outputs.released == 'true'
|
|
162
165
|
runs-on: ubuntu-latest
|
|
163
166
|
permissions:
|
|
164
|
-
contents: write # create tags, commits, and GitHub Releases
|
|
165
167
|
id-token: write # PyPI trusted publishing (OIDC)
|
|
166
168
|
steps:
|
|
167
169
|
- name: Checkout
|
|
@@ -190,6 +192,11 @@ jobs:
|
|
|
190
192
|
github_token: ${{ steps.get_workflow_token.outputs.token }}
|
|
191
193
|
git_committer_name: "github-actions"
|
|
192
194
|
git_committer_email: "actions@users.noreply.github.com"
|
|
195
|
+
# Prerelease builds on `development` must not write CHANGELOG.md;
|
|
196
|
+
# only stable releases on `main` update the changelog. Combined with
|
|
197
|
+
# squash-merging `development` into `main`, this keeps prerelease tags
|
|
198
|
+
# off `main`'s history so each stable release section is populated.
|
|
199
|
+
changelog: ${{ github.ref_name == 'development' && 'false' || 'true' }}
|
|
193
200
|
|
|
194
201
|
- name: Publish to PyPI
|
|
195
202
|
# Uses PyPI Trusted Publishing (OIDC); configure a trusted publisher for
|
|
@@ -213,7 +220,9 @@ jobs:
|
|
|
213
220
|
|
|
214
221
|
- name: Upload distributions to the GitHub Release
|
|
215
222
|
# Uploads the wheels, sdist, and the Sigstore .sigstore.json bundles.
|
|
223
|
+
# Uses the application token (contents: write via the GitHub App) so the
|
|
224
|
+
# job's GITHUB_TOKEN can remain read-only.
|
|
216
225
|
if: steps.release.outputs.released == 'true'
|
|
217
226
|
env:
|
|
218
|
-
GH_TOKEN: ${{
|
|
227
|
+
GH_TOKEN: ${{ steps.get_workflow_token.outputs.token }}
|
|
219
228
|
run: gh release upload "${{ steps.release.outputs.tag }}" dist/* --clobber
|
|
@@ -22,7 +22,7 @@ on:
|
|
|
22
22
|
workflow_dispatch:
|
|
23
23
|
|
|
24
24
|
permissions:
|
|
25
|
-
contents:
|
|
25
|
+
contents: read
|
|
26
26
|
|
|
27
27
|
# Serialize deployments so concurrent release tag pushes do not race when
|
|
28
28
|
# reconstructing and publishing the shared gh-pages tree.
|
|
@@ -33,6 +33,8 @@ concurrency:
|
|
|
33
33
|
jobs:
|
|
34
34
|
deploy:
|
|
35
35
|
runs-on: ubuntu-latest
|
|
36
|
+
permissions:
|
|
37
|
+
contents: write # push the assembled site to the gh-pages branch
|
|
36
38
|
steps:
|
|
37
39
|
- name: Checkout
|
|
38
40
|
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
name: Fuzz
|
|
2
|
+
|
|
3
|
+
# Using the Atheris fuzzing framework as oss-fuzz is Python 3.11 only.
|
|
4
|
+
# Pull requests run a short regression budget; the nightly schedule
|
|
5
|
+
# runs longer and persists the grown corpus via actions/cache.
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
paths:
|
|
10
|
+
- "src/**"
|
|
11
|
+
- "fuzz/**"
|
|
12
|
+
- ".github/workflows/fuzz.yml"
|
|
13
|
+
schedule:
|
|
14
|
+
- cron: "0 7 * * *"
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
fuzz:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
contents: read
|
|
29
|
+
env:
|
|
30
|
+
UV_NO_GROUP: docs
|
|
31
|
+
strategy:
|
|
32
|
+
fail-fast: false
|
|
33
|
+
matrix:
|
|
34
|
+
harness:
|
|
35
|
+
- fuzz_text_redactor
|
|
36
|
+
- fuzz_jpeg_dct
|
|
37
|
+
- fuzz_catalog_match
|
|
38
|
+
steps:
|
|
39
|
+
- name: Checkout
|
|
40
|
+
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
41
|
+
|
|
42
|
+
- name: Set up uv
|
|
43
|
+
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
|
|
44
|
+
with:
|
|
45
|
+
python-version: "3.12"
|
|
46
|
+
|
|
47
|
+
- name: Install dependencies
|
|
48
|
+
run: uv sync
|
|
49
|
+
|
|
50
|
+
- name: Install Atheris
|
|
51
|
+
run: uv pip install atheris
|
|
52
|
+
|
|
53
|
+
- name: Restore corpus
|
|
54
|
+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
55
|
+
with:
|
|
56
|
+
path: fuzz/corpus/${{ matrix.harness }}
|
|
57
|
+
key: fuzz-corpus-${{ matrix.harness }}-${{ github.run_id }}
|
|
58
|
+
restore-keys: |
|
|
59
|
+
fuzz-corpus-${{ matrix.harness }}-
|
|
60
|
+
|
|
61
|
+
- name: Fuzz ${{ matrix.harness }}
|
|
62
|
+
run: |
|
|
63
|
+
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
|
64
|
+
duration=120
|
|
65
|
+
else
|
|
66
|
+
duration=900
|
|
67
|
+
fi
|
|
68
|
+
mkdir -p "fuzz/corpus/${{ matrix.harness }}" crashes
|
|
69
|
+
# -timeout flags a single input exceeding 25s as a crash, catching
|
|
70
|
+
# catastrophic regex backtracking (ReDoS) in the redaction/catalog paths.
|
|
71
|
+
uv run python "fuzz/${{ matrix.harness }}.py" \
|
|
72
|
+
-max_total_time="$duration" \
|
|
73
|
+
-timeout=25 \
|
|
74
|
+
-rss_limit_mb=4096 \
|
|
75
|
+
-artifact_prefix=crashes/ \
|
|
76
|
+
"fuzz/corpus/${{ matrix.harness }}"
|
|
77
|
+
|
|
78
|
+
- name: Upload crashes
|
|
79
|
+
if: failure()
|
|
80
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
81
|
+
with:
|
|
82
|
+
name: fuzz-crashes-${{ matrix.harness }}
|
|
83
|
+
path: crashes/
|
|
84
|
+
if-no-files-found: ignore
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: Scorecard analysis workflow
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
# Only the default branch is supported.
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
schedule:
|
|
8
|
+
# Weekly on Saturdays.
|
|
9
|
+
- cron: '30 1 * * 6'
|
|
10
|
+
|
|
11
|
+
permissions: read-all
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
analysis:
|
|
15
|
+
name: Scorecard analysis
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
# Needed for Code scanning upload
|
|
19
|
+
security-events: write
|
|
20
|
+
# Needed for GitHub OIDC token if publish_results is true
|
|
21
|
+
id-token: write
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- name: "Checkout code"
|
|
25
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
26
|
+
with:
|
|
27
|
+
persist-credentials: false
|
|
28
|
+
|
|
29
|
+
- name: "Run analysis"
|
|
30
|
+
uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4
|
|
31
|
+
with:
|
|
32
|
+
results_file: results.sarif
|
|
33
|
+
results_format: sarif
|
|
34
|
+
# Scorecard team runs a weekly scan of public GitHub repos,
|
|
35
|
+
# see https://github.com/ossf/scorecard#public-data.
|
|
36
|
+
# Setting `publish_results: true` helps us scale by leveraging your workflow to
|
|
37
|
+
# extract the results instead of relying on our own infrastructure to run scans.
|
|
38
|
+
# And it's free for you!
|
|
39
|
+
publish_results: true
|
|
40
|
+
|
|
41
|
+
# Upload the results as artifacts (optional). Commenting out will disable
|
|
42
|
+
# uploads of run results in SARIF format to the repository Actions tab.
|
|
43
|
+
# https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
|
|
44
|
+
- name: "Upload artifact"
|
|
45
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
46
|
+
with:
|
|
47
|
+
name: SARIF file
|
|
48
|
+
path: results.sarif
|
|
49
|
+
retention-days: 5
|
|
50
|
+
|
|
51
|
+
# Upload the results to GitHub's code scanning dashboard (optional).
|
|
52
|
+
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
|
53
|
+
- name: "Upload to code-scanning"
|
|
54
|
+
uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
|
|
55
|
+
with:
|
|
56
|
+
sarif_file: results.sarif
|
|
@@ -6,6 +6,9 @@ name: Tests
|
|
|
6
6
|
on:
|
|
7
7
|
workflow_call:
|
|
8
8
|
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
9
12
|
jobs:
|
|
10
13
|
test:
|
|
11
14
|
runs-on: ubuntu-latest
|
|
@@ -28,3 +31,12 @@ jobs:
|
|
|
28
31
|
|
|
29
32
|
- name: Run tests
|
|
30
33
|
run: uv run pytest
|
|
34
|
+
|
|
35
|
+
- name: Upload coverage to Codecov
|
|
36
|
+
uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.3
|
|
37
|
+
with:
|
|
38
|
+
files: ./coverage.xml
|
|
39
|
+
fail_ci_if_error: true
|
|
40
|
+
use_pypi: true
|
|
41
|
+
env:
|
|
42
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
-
## v1.1.0
|
|
5
|
+
## v1.1.0 (2026-08-07)
|
|
6
6
|
|
|
7
7
|
### Features
|
|
8
8
|
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
Profile (STAR-12623) ([#1](https://github.com/susom/dicom-dre/pull/1),
|
|
11
11
|
[`257ac8d`](https://github.com/susom/dicom-dre/commit/257ac8db5a930b30e24e0030cb48ceba6ff48c31))
|
|
12
12
|
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- Upgrade gitpython to resolve known vulnerabilities
|
|
16
|
+
([`313ec2a`](https://github.com/susom/dicom-dre/commit/313ec2aeffbb10fc6a8900055c9e6c6df5bfbebc))
|
|
17
|
+
|
|
13
18
|
|
|
14
19
|
## v1.0.1 (2026-07-31)
|
|
15
20
|
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dicom-dre
|
|
3
|
+
Version: 1.1.1.dev1
|
|
4
|
+
Summary: DICOM De-identification & Redaction Engine
|
|
5
|
+
Project-URL: repository, https://github.com/susom/dicom-dre
|
|
6
|
+
Author-email: Joseph Mesterhazy <jmesterh@stanford.edu>
|
|
7
|
+
License-Expression: Apache-2.0
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
License-File: NOTICE
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Requires-Python: <3.13,>=3.12
|
|
13
|
+
Requires-Dist: cffi>=1.16
|
|
14
|
+
Requires-Dist: click
|
|
15
|
+
Requires-Dist: numpy>=2.4.1
|
|
16
|
+
Requires-Dist: pydicom>=3.0
|
|
17
|
+
Requires-Dist: pyjpegls>=1.5.1
|
|
18
|
+
Requires-Dist: pylibjpeg-libjpeg>=2.1.0
|
|
19
|
+
Requires-Dist: pylibjpeg-openjpeg>=2.5.0
|
|
20
|
+
Requires-Dist: pylibjpeg-rle>=2.2.0
|
|
21
|
+
Requires-Dist: pylibjpeg>=2.1.0
|
|
22
|
+
Requires-Dist: python-gdcm==3.2.6
|
|
23
|
+
Requires-Dist: readchar
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
[](https://pypi.org/project/dicom-dre/)
|
|
27
|
+
[](LICENSE)
|
|
28
|
+
[](https://pypi.org/project/dicom-dre/)
|
|
29
|
+
[](https://github.com/susom/dicom-dre/actions/workflows/ci.yml)
|
|
30
|
+
[](https://susom.github.io/dicom-dre/)
|
|
31
|
+
[](https://scorecard.dev/viewer/?uri=github.com/susom/dicom-dre)
|
|
32
|
+
[](https://codecov.io/gh/susom/dicom-dre)
|
|
33
|
+
|
|
34
|
+
# dicom-dre
|
|
35
|
+
|
|
36
|
+
DICOM de-identification for both metadata and burned-in pixel text.
|
|
37
|
+
|
|
38
|
+
Burned-in text is the more difficult case. The engine blanks it from rules you
|
|
39
|
+
define rather than from OCR or heuristic text detection: you specify which
|
|
40
|
+
scanner models burn text into which regions of the frame, and the engine blanks
|
|
41
|
+
those regions. That rule set is the device catalog.
|
|
42
|
+
|
|
43
|
+
- **Rule-based pixel blanking.** The device catalog identifies an instance by
|
|
44
|
+
its scanner and acquisition settings and blanks the fixed regions recorded for
|
|
45
|
+
it. Coverage is exactly what you put in the catalog: it only blanks devices
|
|
46
|
+
and regions you have mapped and validated, and unmatched devices pass through
|
|
47
|
+
untouched.
|
|
48
|
+
|
|
49
|
+
- **Lossless redaction.** Editing a JPEG normally means decompressing it and
|
|
50
|
+
recompressing it, which slightly degrades the whole image. For JPEG Baseline
|
|
51
|
+
images the engine instead edits the compressed data directly and blanks only
|
|
52
|
+
the masked blocks, so every pixel outside those blocks stays bit-for-bit
|
|
53
|
+
identical.
|
|
54
|
+
|
|
55
|
+
- **Deterministic and offline.** No lookups and no network calls. UIDs and
|
|
56
|
+
replacement identifiers are re-derived by hashing, so the same input plus the
|
|
57
|
+
same parameters always produces the same output.
|
|
58
|
+
|
|
59
|
+
- **Simple, embeddable API.** Call it from your own DICOM pipeline in a few
|
|
60
|
+
lines, and supply your own identifiers (PatientID, AccessionNumber, date
|
|
61
|
+
jitter) or let it derive them for you.
|
|
62
|
+
|
|
63
|
+
Metadata is handled alongside the pixels: description fields such as
|
|
64
|
+
`SeriesDescription` and `StudyDescription` are redacted to remove likely PHI
|
|
65
|
+
while preserving clinical meaning, and every attribute is scrubbed against a
|
|
66
|
+
configurable de-identification profile.
|
|
67
|
+
|
|
68
|
+
Tailoring the device catalog and allowlist to the scanners in your PACS and the
|
|
69
|
+
vocabulary your site uses is the substantive work of adopting `dicom-dre`. Once
|
|
70
|
+
that investment is made, the result is a repeatable, auditable pipeline you can
|
|
71
|
+
trust to process DICOM at your site.
|
|
72
|
+
|
|
73
|
+
> **Note:** Output is **not** de-identified under HIPAA Safe Harbor or Expert
|
|
74
|
+
> Determination and must be validated by a qualified person before sharing. The
|
|
75
|
+
> bundled catalog and allowlist were derived from a single PACS at one site and
|
|
76
|
+
> are unlikely to be complete elsewhere. It also does not address
|
|
77
|
+
> re-identification vectors in the image content itself, such as facial
|
|
78
|
+
> reconstruction from volumetric imaging. Always treat output as retaining
|
|
79
|
+
> residual PHI risk. See
|
|
80
|
+
> [Limitations and portability](https://susom.github.io/dicom-dre/stable/about/limitations.html).
|
|
81
|
+
|
|
82
|
+
## Install
|
|
83
|
+
|
|
84
|
+
Requires Python 3.12.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
uv pip install dicom-dre # or: pip install dicom-dre
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Quick start
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# De-identify a file or a directory tree into out/
|
|
94
|
+
dicom-dre deidentify scan.dcm -o out/
|
|
95
|
+
dicom-dre deidentify studies/ -o out/ -r
|
|
96
|
+
|
|
97
|
+
# Choose a profile, set parameters, run in parallel (-j sets worker count)
|
|
98
|
+
dicom-dre deidentify studies/ -o out/ \
|
|
99
|
+
--profile default -p PATIENT_ID=TEST -p ACCESSION_NUMBER=TESTING -j 8
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Sources are read but never modified. The command exits non-zero if any instance
|
|
103
|
+
is quarantined.
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
from dicom_dre import DeidParameters, ProfileSpec, deidentify_paths
|
|
107
|
+
|
|
108
|
+
for item in deidentify_paths(
|
|
109
|
+
sources=["studies/"],
|
|
110
|
+
output_dir="out/",
|
|
111
|
+
recursive=True,
|
|
112
|
+
profile_spec=ProfileSpec(name="default"),
|
|
113
|
+
parameters=DeidParameters(patient_id="TEST"),
|
|
114
|
+
):
|
|
115
|
+
print(item.input_file, item.result.outcome)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Outcomes
|
|
119
|
+
|
|
120
|
+
Each instance resolves to exactly one outcome:
|
|
121
|
+
|
|
122
|
+
| Outcome | Meaning |
|
|
123
|
+
| --- | --- |
|
|
124
|
+
| `DEIDENTIFIED` | Metadata scrubbed, pixels blanked as required, written to output. |
|
|
125
|
+
| `FILTERED` | Matched a deny rule (e.g. unsupported modality/device); not emitted. |
|
|
126
|
+
| `QUARANTINED` | Processing failed; not emitted. |
|
|
127
|
+
|
|
128
|
+
## Profiles
|
|
129
|
+
|
|
130
|
+
Each profile applies the DICOM PS3.15 Basic Application Confidentiality Profile
|
|
131
|
+
(strict is allow-list based) plus a set of PS3.15 options, recorded in
|
|
132
|
+
DeidentificationMethodCodeSequence `(0012,0064)`.
|
|
133
|
+
|
|
134
|
+
| Profile | PS3.15 method | Options applied | Dates |
|
|
135
|
+
| --- | --- | --- | --- |
|
|
136
|
+
| `default` | `DICOM-PS3.15E-Basic` | Clean Structured Content (113104), Clean Descriptors (113105), Retain Patient Characteristics (113108) | Shifted per study by a derived jitter |
|
|
137
|
+
| `lds` | `DICOM-PS3.15E-Basic-LDS` | Clean Descriptors (113105), Retain Patient Characteristics (113108) | Retained unchanged (limited data set) |
|
|
138
|
+
| `lds-no-dob` | `DICOM-PS3.15E-Basic-LDS-No-DOB` | Clean Descriptors (113105), Retain Patient Characteristics (113108) | Retained unchanged except PatientBirthDate/Time, which are removed |
|
|
139
|
+
| `strict` | Allow-list (Basic Profile not emitted) | Clean Graphics (113103), Clean Structured Content (113104) | Removed; a minimal set of technical time elements is retained |
|
|
140
|
+
|
|
141
|
+
`default`, `lds`, and `lds-no-dob` re-derive UIDs by hashing; `strict` retains a
|
|
142
|
+
fixed allow-list of elements and discards the rest.
|
|
143
|
+
|
|
144
|
+
See [De-identification Profiles](https://susom.github.io/dicom-dre/stable/concepts/profiles.html).
|
|
145
|
+
|
|
146
|
+
## Free-text redaction tools
|
|
147
|
+
|
|
148
|
+
Description attributes such as `SeriesDescription` and `StudyDescription` are
|
|
149
|
+
among the most useful fields for understanding what a study contains, yet
|
|
150
|
+
because a technologist can type into them freely at the imaging device, they
|
|
151
|
+
frequently pick up PHI. Redaction keeps the useful vocabulary while masking the
|
|
152
|
+
rest, and it is driven by an allowlist you tailor to your site.
|
|
153
|
+
|
|
154
|
+
Redaction works token by token. A token is a run of text between delimiters:
|
|
155
|
+
each value is split at whitespace, punctuation, and letter/digit boundaries (so
|
|
156
|
+
`MR512` becomes `MR` and `512`). Every token is compared case-insensitively
|
|
157
|
+
against the allowlist; tokens on the list pass through, and the rest are masked
|
|
158
|
+
character-for-character with `X`. Before tokenizing, a set of regular
|
|
159
|
+
expressions masks structured identifiers regardless of the allowlist, including
|
|
160
|
+
dates, times, phone numbers, SSNs, ZIP+4 codes, email addresses, URLs, and long
|
|
161
|
+
hexadecimal strings, while bare 1 to 5 digit numbers are allowed through.
|
|
162
|
+
|
|
163
|
+
Because the allowlist must match your site's vocabulary, the `redactor`
|
|
164
|
+
subcommands exist to build and maintain it. Export every `SeriesDescription`,
|
|
165
|
+
`StudyDescription`, and `ProtocolName` value from your PACS database to a CSV,
|
|
166
|
+
then run these commands over that export to review the distinct tokens and
|
|
167
|
+
decide which belong on the allowlist:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Preview redactions and review flagged tokens, adding good ones to the allowlist
|
|
171
|
+
dicom-dre redactor quality-check input.csv --interactive
|
|
172
|
+
# List the distinct tokens in the export to curate the allowlist
|
|
173
|
+
dicom-dre redactor show-tokens --input input.csv
|
|
174
|
+
# Add one or more tokens to the allowlist directly
|
|
175
|
+
dicom-dre redactor allow-token TERM1 TERM2
|
|
176
|
+
# Redact every cell of a CSV against the current allowlist
|
|
177
|
+
dicom-dre redactor redact --input input.csv --output output.csv
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
See the [redactor guide](https://susom.github.io/dicom-dre/stable/guides/redactor.html).
|
|
181
|
+
|
|
182
|
+
## Documentation
|
|
183
|
+
|
|
184
|
+
Full documentation: **https://susom.github.io/dicom-dre/**
|
|
185
|
+
|
|
186
|
+
- [Installation](https://susom.github.io/dicom-dre/stable/getting-started/installation.html) and [Quickstart](https://susom.github.io/dicom-dre/stable/getting-started/quickstart.html)
|
|
187
|
+
- [Architecture](https://susom.github.io/dicom-dre/stable/concepts/architecture.html), [Device Catalog](https://susom.github.io/dicom-dre/stable/concepts/device-catalog.html), [JPEG DCT scrubbing](https://susom.github.io/dicom-dre/stable/concepts/jpeg-dct.html)
|
|
188
|
+
- [Profiles](https://susom.github.io/dicom-dre/stable/concepts/profiles.html), [Text redaction](https://susom.github.io/dicom-dre/stable/concepts/text-redaction.html), [Reproducibility](https://susom.github.io/dicom-dre/stable/concepts/reproducibility.html)
|
|
189
|
+
- [CLI reference](https://susom.github.io/dicom-dre/stable/guides/cli.html), [Extending the catalog](https://susom.github.io/dicom-dre/stable/guides/extending-the-catalog.html), [Local validation](https://susom.github.io/dicom-dre/stable/guides/local-validation.html)
|
|
190
|
+
- [API reference](https://susom.github.io/dicom-dre/stable/reference/api.html)
|
|
191
|
+
|
|
192
|
+
## Development
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
uv run pytest
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The JPEG DCT accelerator is an optional compiled C extension roughly 300x faster
|
|
199
|
+
than the pure-Python fallback. Check its status with:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
dicom-dre accelerator-status
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Contributions are welcome via pull request. Changes to de-identification policy
|
|
206
|
+
(catalog, scrub regions, profiles, or allowlist) require local evidence and
|
|
207
|
+
regression fixtures.
|
|
208
|
+
|
|
209
|
+
## License
|
|
210
|
+
|
|
211
|
+
Apache-2.0; provided "AS IS" without warranty (see [LICENSE](LICENSE)). The JPEG
|
|
212
|
+
DCT-domain scrubber is a port of the PixelMed JPEG Selective Block Redaction
|
|
213
|
+
Codec, distributed under that codec's BSD license; see the source header in
|
|
214
|
+
`src/dicom_dre/jpeg_dct_scrubber.py` and the [NOTICE](NOTICE) file.
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
[](https://pypi.org/project/dicom-dre/)
|
|
2
|
+
[](LICENSE)
|
|
3
|
+
[](https://pypi.org/project/dicom-dre/)
|
|
4
|
+
[](https://github.com/susom/dicom-dre/actions/workflows/ci.yml)
|
|
5
|
+
[](https://susom.github.io/dicom-dre/)
|
|
6
|
+
[](https://scorecard.dev/viewer/?uri=github.com/susom/dicom-dre)
|
|
7
|
+
[](https://codecov.io/gh/susom/dicom-dre)
|
|
8
|
+
|
|
9
|
+
# dicom-dre
|
|
10
|
+
|
|
11
|
+
DICOM de-identification for both metadata and burned-in pixel text.
|
|
12
|
+
|
|
13
|
+
Burned-in text is the more difficult case. The engine blanks it from rules you
|
|
14
|
+
define rather than from OCR or heuristic text detection: you specify which
|
|
15
|
+
scanner models burn text into which regions of the frame, and the engine blanks
|
|
16
|
+
those regions. That rule set is the device catalog.
|
|
17
|
+
|
|
18
|
+
- **Rule-based pixel blanking.** The device catalog identifies an instance by
|
|
19
|
+
its scanner and acquisition settings and blanks the fixed regions recorded for
|
|
20
|
+
it. Coverage is exactly what you put in the catalog: it only blanks devices
|
|
21
|
+
and regions you have mapped and validated, and unmatched devices pass through
|
|
22
|
+
untouched.
|
|
23
|
+
|
|
24
|
+
- **Lossless redaction.** Editing a JPEG normally means decompressing it and
|
|
25
|
+
recompressing it, which slightly degrades the whole image. For JPEG Baseline
|
|
26
|
+
images the engine instead edits the compressed data directly and blanks only
|
|
27
|
+
the masked blocks, so every pixel outside those blocks stays bit-for-bit
|
|
28
|
+
identical.
|
|
29
|
+
|
|
30
|
+
- **Deterministic and offline.** No lookups and no network calls. UIDs and
|
|
31
|
+
replacement identifiers are re-derived by hashing, so the same input plus the
|
|
32
|
+
same parameters always produces the same output.
|
|
33
|
+
|
|
34
|
+
- **Simple, embeddable API.** Call it from your own DICOM pipeline in a few
|
|
35
|
+
lines, and supply your own identifiers (PatientID, AccessionNumber, date
|
|
36
|
+
jitter) or let it derive them for you.
|
|
37
|
+
|
|
38
|
+
Metadata is handled alongside the pixels: description fields such as
|
|
39
|
+
`SeriesDescription` and `StudyDescription` are redacted to remove likely PHI
|
|
40
|
+
while preserving clinical meaning, and every attribute is scrubbed against a
|
|
41
|
+
configurable de-identification profile.
|
|
42
|
+
|
|
43
|
+
Tailoring the device catalog and allowlist to the scanners in your PACS and the
|
|
44
|
+
vocabulary your site uses is the substantive work of adopting `dicom-dre`. Once
|
|
45
|
+
that investment is made, the result is a repeatable, auditable pipeline you can
|
|
46
|
+
trust to process DICOM at your site.
|
|
47
|
+
|
|
48
|
+
> **Note:** Output is **not** de-identified under HIPAA Safe Harbor or Expert
|
|
49
|
+
> Determination and must be validated by a qualified person before sharing. The
|
|
50
|
+
> bundled catalog and allowlist were derived from a single PACS at one site and
|
|
51
|
+
> are unlikely to be complete elsewhere. It also does not address
|
|
52
|
+
> re-identification vectors in the image content itself, such as facial
|
|
53
|
+
> reconstruction from volumetric imaging. Always treat output as retaining
|
|
54
|
+
> residual PHI risk. See
|
|
55
|
+
> [Limitations and portability](https://susom.github.io/dicom-dre/stable/about/limitations.html).
|
|
56
|
+
|
|
57
|
+
## Install
|
|
58
|
+
|
|
59
|
+
Requires Python 3.12.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
uv pip install dicom-dre # or: pip install dicom-dre
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Quick start
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# De-identify a file or a directory tree into out/
|
|
69
|
+
dicom-dre deidentify scan.dcm -o out/
|
|
70
|
+
dicom-dre deidentify studies/ -o out/ -r
|
|
71
|
+
|
|
72
|
+
# Choose a profile, set parameters, run in parallel (-j sets worker count)
|
|
73
|
+
dicom-dre deidentify studies/ -o out/ \
|
|
74
|
+
--profile default -p PATIENT_ID=TEST -p ACCESSION_NUMBER=TESTING -j 8
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Sources are read but never modified. The command exits non-zero if any instance
|
|
78
|
+
is quarantined.
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
from dicom_dre import DeidParameters, ProfileSpec, deidentify_paths
|
|
82
|
+
|
|
83
|
+
for item in deidentify_paths(
|
|
84
|
+
sources=["studies/"],
|
|
85
|
+
output_dir="out/",
|
|
86
|
+
recursive=True,
|
|
87
|
+
profile_spec=ProfileSpec(name="default"),
|
|
88
|
+
parameters=DeidParameters(patient_id="TEST"),
|
|
89
|
+
):
|
|
90
|
+
print(item.input_file, item.result.outcome)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Outcomes
|
|
94
|
+
|
|
95
|
+
Each instance resolves to exactly one outcome:
|
|
96
|
+
|
|
97
|
+
| Outcome | Meaning |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| `DEIDENTIFIED` | Metadata scrubbed, pixels blanked as required, written to output. |
|
|
100
|
+
| `FILTERED` | Matched a deny rule (e.g. unsupported modality/device); not emitted. |
|
|
101
|
+
| `QUARANTINED` | Processing failed; not emitted. |
|
|
102
|
+
|
|
103
|
+
## Profiles
|
|
104
|
+
|
|
105
|
+
Each profile applies the DICOM PS3.15 Basic Application Confidentiality Profile
|
|
106
|
+
(strict is allow-list based) plus a set of PS3.15 options, recorded in
|
|
107
|
+
DeidentificationMethodCodeSequence `(0012,0064)`.
|
|
108
|
+
|
|
109
|
+
| Profile | PS3.15 method | Options applied | Dates |
|
|
110
|
+
| --- | --- | --- | --- |
|
|
111
|
+
| `default` | `DICOM-PS3.15E-Basic` | Clean Structured Content (113104), Clean Descriptors (113105), Retain Patient Characteristics (113108) | Shifted per study by a derived jitter |
|
|
112
|
+
| `lds` | `DICOM-PS3.15E-Basic-LDS` | Clean Descriptors (113105), Retain Patient Characteristics (113108) | Retained unchanged (limited data set) |
|
|
113
|
+
| `lds-no-dob` | `DICOM-PS3.15E-Basic-LDS-No-DOB` | Clean Descriptors (113105), Retain Patient Characteristics (113108) | Retained unchanged except PatientBirthDate/Time, which are removed |
|
|
114
|
+
| `strict` | Allow-list (Basic Profile not emitted) | Clean Graphics (113103), Clean Structured Content (113104) | Removed; a minimal set of technical time elements is retained |
|
|
115
|
+
|
|
116
|
+
`default`, `lds`, and `lds-no-dob` re-derive UIDs by hashing; `strict` retains a
|
|
117
|
+
fixed allow-list of elements and discards the rest.
|
|
118
|
+
|
|
119
|
+
See [De-identification Profiles](https://susom.github.io/dicom-dre/stable/concepts/profiles.html).
|
|
120
|
+
|
|
121
|
+
## Free-text redaction tools
|
|
122
|
+
|
|
123
|
+
Description attributes such as `SeriesDescription` and `StudyDescription` are
|
|
124
|
+
among the most useful fields for understanding what a study contains, yet
|
|
125
|
+
because a technologist can type into them freely at the imaging device, they
|
|
126
|
+
frequently pick up PHI. Redaction keeps the useful vocabulary while masking the
|
|
127
|
+
rest, and it is driven by an allowlist you tailor to your site.
|
|
128
|
+
|
|
129
|
+
Redaction works token by token. A token is a run of text between delimiters:
|
|
130
|
+
each value is split at whitespace, punctuation, and letter/digit boundaries (so
|
|
131
|
+
`MR512` becomes `MR` and `512`). Every token is compared case-insensitively
|
|
132
|
+
against the allowlist; tokens on the list pass through, and the rest are masked
|
|
133
|
+
character-for-character with `X`. Before tokenizing, a set of regular
|
|
134
|
+
expressions masks structured identifiers regardless of the allowlist, including
|
|
135
|
+
dates, times, phone numbers, SSNs, ZIP+4 codes, email addresses, URLs, and long
|
|
136
|
+
hexadecimal strings, while bare 1 to 5 digit numbers are allowed through.
|
|
137
|
+
|
|
138
|
+
Because the allowlist must match your site's vocabulary, the `redactor`
|
|
139
|
+
subcommands exist to build and maintain it. Export every `SeriesDescription`,
|
|
140
|
+
`StudyDescription`, and `ProtocolName` value from your PACS database to a CSV,
|
|
141
|
+
then run these commands over that export to review the distinct tokens and
|
|
142
|
+
decide which belong on the allowlist:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Preview redactions and review flagged tokens, adding good ones to the allowlist
|
|
146
|
+
dicom-dre redactor quality-check input.csv --interactive
|
|
147
|
+
# List the distinct tokens in the export to curate the allowlist
|
|
148
|
+
dicom-dre redactor show-tokens --input input.csv
|
|
149
|
+
# Add one or more tokens to the allowlist directly
|
|
150
|
+
dicom-dre redactor allow-token TERM1 TERM2
|
|
151
|
+
# Redact every cell of a CSV against the current allowlist
|
|
152
|
+
dicom-dre redactor redact --input input.csv --output output.csv
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
See the [redactor guide](https://susom.github.io/dicom-dre/stable/guides/redactor.html).
|
|
156
|
+
|
|
157
|
+
## Documentation
|
|
158
|
+
|
|
159
|
+
Full documentation: **https://susom.github.io/dicom-dre/**
|
|
160
|
+
|
|
161
|
+
- [Installation](https://susom.github.io/dicom-dre/stable/getting-started/installation.html) and [Quickstart](https://susom.github.io/dicom-dre/stable/getting-started/quickstart.html)
|
|
162
|
+
- [Architecture](https://susom.github.io/dicom-dre/stable/concepts/architecture.html), [Device Catalog](https://susom.github.io/dicom-dre/stable/concepts/device-catalog.html), [JPEG DCT scrubbing](https://susom.github.io/dicom-dre/stable/concepts/jpeg-dct.html)
|
|
163
|
+
- [Profiles](https://susom.github.io/dicom-dre/stable/concepts/profiles.html), [Text redaction](https://susom.github.io/dicom-dre/stable/concepts/text-redaction.html), [Reproducibility](https://susom.github.io/dicom-dre/stable/concepts/reproducibility.html)
|
|
164
|
+
- [CLI reference](https://susom.github.io/dicom-dre/stable/guides/cli.html), [Extending the catalog](https://susom.github.io/dicom-dre/stable/guides/extending-the-catalog.html), [Local validation](https://susom.github.io/dicom-dre/stable/guides/local-validation.html)
|
|
165
|
+
- [API reference](https://susom.github.io/dicom-dre/stable/reference/api.html)
|
|
166
|
+
|
|
167
|
+
## Development
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
uv run pytest
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The JPEG DCT accelerator is an optional compiled C extension roughly 300x faster
|
|
174
|
+
than the pure-Python fallback. Check its status with:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
dicom-dre accelerator-status
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Contributions are welcome via pull request. Changes to de-identification policy
|
|
181
|
+
(catalog, scrub regions, profiles, or allowlist) require local evidence and
|
|
182
|
+
regression fixtures.
|
|
183
|
+
|
|
184
|
+
## License
|
|
185
|
+
|
|
186
|
+
Apache-2.0; provided "AS IS" without warranty (see [LICENSE](LICENSE)). The JPEG
|
|
187
|
+
DCT-domain scrubber is a port of the PixelMed JPEG Selective Block Redaction
|
|
188
|
+
Codec, distributed under that codec's BSD license; see the source header in
|
|
189
|
+
`src/dicom_dre/jpeg_dct_scrubber.py` and the [NOTICE](NOTICE) file.
|