dicom-dre 1.0.0.dev1__tar.gz → 1.0.0.dev2__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.
Potentially problematic release.
This version of dicom-dre might be problematic. Click here for more details.
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.devcontainer/devcontainer.json +6 -1
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.github/workflows/deploy.yml +23 -6
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.gitignore +1 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/CHANGELOG.md +0 -4
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/PKG-INFO +1 -1
- dicom_dre-1.0.0.dev2/docs/about/changelog.md +8 -0
- dicom_dre-1.0.0.dev2/docs/about/history.md +46 -0
- dicom_dre-1.0.0.dev2/docs/about/provenance.md +50 -0
- dicom_dre-1.0.0.dev2/docs/about/testing.md +62 -0
- dicom_dre-1.0.0.dev2/docs/concepts/architecture.md +149 -0
- dicom_dre-1.0.0.dev2/docs/concepts/determinism.md +33 -0
- dicom_dre-1.0.0.dev2/docs/concepts/device-catalog.md +337 -0
- dicom_dre-1.0.0.dev2/docs/concepts/jpeg-dct.md +108 -0
- dicom_dre-1.0.0.dev2/docs/concepts/profiles.md +165 -0
- dicom_dre-1.0.0.dev2/docs/concepts/text-redaction.md +73 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/docs/conf.py +3 -0
- dicom_dre-1.0.0.dev2/docs/getting-started/installation.md +63 -0
- dicom_dre-1.0.0.dev2/docs/getting-started/quickstart.md +58 -0
- dicom_dre-1.0.0.dev2/docs/guides/cli.md +93 -0
- dicom_dre-1.0.0.dev2/docs/guides/extending-the-catalog.md +209 -0
- dicom_dre-1.0.0.dev2/docs/guides/local-validation.md +99 -0
- dicom_dre-1.0.0.dev2/docs/guides/redactor.md +184 -0
- dicom_dre-1.0.0.dev2/docs/index.md +83 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/pyproject.toml +8 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/_version.py +2 -2
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/default.py +38 -36
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/text_redactor.py +37 -11
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_pixel_blanker.py +13 -15
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_text_redactor.py +47 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/uv.lock +16 -0
- dicom_dre-1.0.0.dev1/docs/index.md +0 -19
- dicom_dre-1.0.0.dev1/src/dicom_dre/_jpeg_dct_accel.c +0 -1573
- dicom_dre-1.0.0.dev1/staged.diff +0 -203
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.devcontainer/devcontainer-lock.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.devcontainer/post-create.sh +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.github/copilot-instructions.md +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.github/instructions/dicom-io.instructions.md +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.github/instructions/tests.instructions.md +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.vscode/extensions.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/.vscode/settings.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/LICENSE +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/NOTICE +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/README.md +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/TODO +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/docs/Makefile +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/docs/_static/.gitkeep +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/docs/make.bat +0 -0
- {dicom_dre-1.0.0.dev1/docs → dicom_dre-1.0.0.dev2/docs/reference}/api.md +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/hatch_build.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/justfile +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/__init__.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/_jpeg_dct_accel_build.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/actions.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/batch.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/catalog.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/cli.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/default_catalog.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/jpeg_dct_scrubber.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/pipeline.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/pixel_blanker.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profile.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/__init__.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/builder.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/lds.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/lds_no_dob.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/profiles/pixels_only.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/py.typed +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/pydicom_config.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/resources/__init__.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/resources/allow_lists/__init__.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/resources/allow_lists/default.csv +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/result.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/scrub_region.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/src/dicom_dre/uid_utils.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/conftest.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/__init__.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/cr/agfa/dxd40_1000c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/discovery_ls.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_ct/discovery_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_mimvista/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/mimvista_corp/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/neurologica/ceretom.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/neusoft/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/philips/gemini.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/ct/siemens_mimvista/emotion_duo.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/dx/agfa/dx_g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/carestream/classic_cr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/fischer_imaging_corporation/senoscan_trueview.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/clearview_csm.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_1000aws.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_2000aws.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_healthcare/senographe_pristina.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/ads_1_0.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senograph_2000d_ads_17_2_3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_56_21_3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_dbt_reconstruction_box_01_10_3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_dbt_reconstruction_box_01_10_4.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/lorad_selenia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/selenia_dimensions.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/ims_s_r_l/giotto_image_3dl.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/kodak/classic_cr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/kodak/elite_cr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/lorad/hologic_selenia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/lorad/lorad_selenia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/lorad_a_hologic_company/dsm.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/mptronic_software/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/philips_digital_mammography_sweden_ab/l30.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_inspiration.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_novation_dr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_revelation.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mg/tmsc_fujitsu_ltd/mgu_1000d.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/discovery_mr750.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_architect.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_premier.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/hitachi_medical_corporation/oasis.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/ingenia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/intera.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/siemens/avanto.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/toshiba/titan.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/nm/adac/atlantis.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/nm/segami/mirage.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems_pet/discovery_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/gems/advance.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/gems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/hmsa_mim_software/927.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/gemini_tf_base_c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems_mimvista/allegro_body_c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/pt/siemens/1094.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia_abus_2_0.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqbook.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqworkse9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/echopac_pc.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/philips_medical_systems/lumify.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/allow/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2010c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/canon/dr_c125.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/eastman_kodak_company/ls_75.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/fujitsu/fi_6140z.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/g_e_medical_systems/prodigy.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/general_electric/centricity_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n80111.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n_85108.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/infinitt/infinitt_pacs.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/lumisys/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/medweb/none.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/meridian_technique_limited/orthoview_isd.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/nai_tech_products_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/north_american_imaging_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacs/dr_c125.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsgear/print2pacs.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsgear_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsgear_rii2/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacslogic/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/panasonic/kv_s2026c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/philips/easydiagnost_super80_cp.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/siemens_health_services/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/vidar/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/cr/viztek/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_s.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_610.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_710.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct590_rt.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct750_hd.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_iq.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_rx.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_xr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/hispeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed16.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_plus.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_16.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_32.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt16.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_ultra.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_vct.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_xtra.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_560.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct520_series.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct540.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct580.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct660.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_ct.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_evo.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_gsi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_hd.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/medrad_inc/certegra.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/philips/brilliance_64.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/philips/gemini_tf_big_bore.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/philips/precedence_16p.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/siemens/sensation_64.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ct/toshiba/aquilion.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/bioptics_inc/pathvision.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_a_s_n87685.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n81330.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n84951.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_sl_s_n82250.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/hologic/horizon_w_s_n_200112.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/pacslogic/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/dx/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ko/ge_healthcare_it_radiology/centricity_radiology_ra_1000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/biovision.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/corevision.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/pixarray100.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/cadx/cad1.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/cadx/mmhwdcad.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/cadx/ohmac2cad.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/canon/2050c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/canon/dr_2010c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/confirma_inc/cadstream_4_1_3_985.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/connect_imaging/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/di/document_scanner.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/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.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/faxitron_bioptics_llc/biovision.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_corporation/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_digital_hardcopy/centricity_digital_hardcopy.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/hologic/discovery_a_s_n83038.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/securview.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/trident.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/icad_inc/7_2_h.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/icad_inc/icad_powerlook_amp_8_0_1.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/icad_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert_20.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/volpara_server.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/primordial/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/cenova.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_enhanced.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_tm.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/ramsoft_inc/castle_powerreader.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/siemens_healthcare/syngo_via_va30a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/three_palm_software/workstationone.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/vidar/cad_pro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/vidar/cadpro.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/senograph_ds_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mg/volpara_limited/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/agfa/clinapps.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/aze/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/bammergroup_stanford/rapid_2_0.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/barco/voxar_3d.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/canon/2050c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/circlecvi/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/confirma_inc/cadstream_4_1_2_613.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/dcad/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/desacc_inc/health_data_explorer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/fujitsu/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/ge/signa_1_5t.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/icad/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/image_information_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/imagenow/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/lumisys/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/medweb/none.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_9_711.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsgear_riipscan/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsscan/dr_2080c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/pacsscan_4_0/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/panasonic/kv_s2028c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/philips/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/primordial/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/radiology_research/hfh.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_va20a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_vb10a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/statrad_llc/push2pacs.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/urlj/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/vassol/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/vidar/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/vital_images_inc/vitrea_2.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/mr/viztek/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/nm/adac/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/nm/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/nm/segami/mirage.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ot/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/ot/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/pt/philips_medical_systems/allegro_body_c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sc/sante_dicom/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/biograph128.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_16.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_64.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_as.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_edge.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_flash.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_force.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/sr/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/acuson/cypress.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/atl/hdi_5000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/venue_40.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/viewpoint.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_viewpoint/viewpoint.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiqworks.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/medison/accuvix.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_5g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/toshiba_mec/ssa_580a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/u_systems/somoviewer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/unknown/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/zonare/z_one.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/us/zonare/zs3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/xa/philips/allura_clarity.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/filter/xa/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/axiom_multix_m.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/cr/konica/0402.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/cr/medicatechusa/krystalrad_660vsi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/cr/shimadzu/cxdi_control_software_ne.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ct/siemens/s1000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/dx/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/dx/cuattro_llc/clouddr_medical.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/dx/medicatechusa/krystalrad_660_vxi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/dx/medlink_imaging/altodr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/nm/ge_medical_systems_nuclear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/acuson/cypress.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha10.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/2202.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/bk_medical/2300.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/vivide.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_p.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_s.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/v830.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/voluson_e8.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems_kretztechnik_gmbh_co_ohg/v830.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_ultrasound/vivid_3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e95.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/logiq_400.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_q.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/noblus.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/prosound_f75.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v10.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v20.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/medison/sonoace_x8.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_70g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/clearvue_550.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx30.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx50.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_5w.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/sparq.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/h60.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_freestyle.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/s1000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens/s3000.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/elegra.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g40.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g60_s.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/x150.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/sonosite/sonosite_titan.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/aplioxg.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/viamo.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/xarioxg.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/ssh_880cv.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a300.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a400.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_ai700.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_x200.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/zonare/z_one.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/catalog_fixtures/scrub/us/zonare/zs3.json +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/conftest.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_batch.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_catalog.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_catalog_regression_fixtures.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_cli.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_default_catalog.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_jpeg_dct_scrubber.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_pipeline_preservation.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_pipeline_redaction.py +0 -0
- {dicom_dre-1.0.0.dev1 → dicom_dre-1.0.0.dev2}/tests/unit/test_profile.py +0 -0
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
|
|
17
17
|
"extensions.verifySignature": false, // https://github.com/microsoft/vscode-remote-release/issues/9628
|
|
18
18
|
"remote.autoForwardPorts": false,
|
|
19
|
-
"extensions.ignoreRecommendations": true
|
|
19
|
+
"extensions.ignoreRecommendations": true,
|
|
20
|
+
"git.autofetch": true,
|
|
21
|
+
"git.autofetchPeriod": 180
|
|
20
22
|
},
|
|
21
23
|
"extensions": [
|
|
22
24
|
"bierner.markdown-mermaid",
|
|
@@ -43,6 +45,9 @@
|
|
|
43
45
|
"ghcr.io/jsburckhardt/devcontainer-features/uv:1": {},
|
|
44
46
|
"ghcr.io/devcontainers/features/github-cli:1": {}
|
|
45
47
|
},
|
|
48
|
+
"mounts": [
|
|
49
|
+
"source=dicom-dre-home,target=/home/${localEnv:USER}${localEnv:USERNAME},type=volume"
|
|
50
|
+
],
|
|
46
51
|
"postCreateCommand": "bash ./.devcontainer/post-create.sh",
|
|
47
52
|
"waitFor": "postCreateCommand"
|
|
48
53
|
}
|
|
@@ -23,15 +23,35 @@ on:
|
|
|
23
23
|
- main
|
|
24
24
|
- development
|
|
25
25
|
|
|
26
|
-
# Prevent overlapping deploys on the same branch.
|
|
27
26
|
concurrency:
|
|
28
27
|
group: deploy-${{ github.ref_name }}
|
|
29
28
|
cancel-in-progress: false
|
|
30
29
|
|
|
31
30
|
jobs:
|
|
31
|
+
test:
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
permissions:
|
|
34
|
+
contents: read
|
|
35
|
+
env:
|
|
36
|
+
# Exclude the docs group (a default group locally) from CI installs.
|
|
37
|
+
UV_NO_GROUP: docs
|
|
38
|
+
steps:
|
|
39
|
+
- name: Checkout
|
|
40
|
+
uses: actions/checkout@v4
|
|
41
|
+
|
|
42
|
+
- name: Set up uv
|
|
43
|
+
uses: astral-sh/setup-uv@v5
|
|
44
|
+
with:
|
|
45
|
+
python-version: "3.12"
|
|
46
|
+
|
|
47
|
+
- name: Install dependencies
|
|
48
|
+
run: uv sync
|
|
49
|
+
|
|
50
|
+
- name: Run tests
|
|
51
|
+
run: uv run pytest
|
|
52
|
+
|
|
32
53
|
version:
|
|
33
|
-
|
|
34
|
-
# whether a release is warranted and the version/tag that would result.
|
|
54
|
+
needs: test
|
|
35
55
|
runs-on: ubuntu-latest
|
|
36
56
|
permissions:
|
|
37
57
|
contents: read
|
|
@@ -138,9 +158,6 @@ jobs:
|
|
|
138
158
|
path: ./dist/*.tar.gz
|
|
139
159
|
|
|
140
160
|
release:
|
|
141
|
-
# First job that mutates the repository. Runs only after every distribution
|
|
142
|
-
# has built. Tags, commits the changelog, pushes, creates the GitHub
|
|
143
|
-
# Release, and uploads the built artifacts.
|
|
144
161
|
needs: [version, build_wheels, build_sdist]
|
|
145
162
|
if: needs.version.outputs.released == 'true'
|
|
146
163
|
runs-on: ubuntu-latest
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# History
|
|
2
|
+
|
|
3
|
+
`dicom-dre` grew out of a de-identification workflow built on the MIRC CTP
|
|
4
|
+
(Clinical Trial Processor) engine. This page records that background. It is not
|
|
5
|
+
a reference for configuring the engine; the behavior described here has been
|
|
6
|
+
replaced by the device catalog and profiles documented elsewhere in these docs.
|
|
7
|
+
|
|
8
|
+
## From CTP scripts to a device catalog
|
|
9
|
+
|
|
10
|
+
The original workflow controlled DICOM image handling with two CTP script files
|
|
11
|
+
and an XML metadata template:
|
|
12
|
+
|
|
13
|
+
- **filter.script** decided which images were accepted for processing. Images
|
|
14
|
+
matching a filter rule passed through; images matching no rule were
|
|
15
|
+
quarantined.
|
|
16
|
+
- **pixel.script** defined rectangular regions to blank for images with
|
|
17
|
+
burned-in PHI annotations.
|
|
18
|
+
|
|
19
|
+
Both scripts used a Java boolean expression syntax over DICOM attributes, with
|
|
20
|
+
filter rules keyed on manufacturer, model, modality, software version, and image
|
|
21
|
+
dimensions, and pixel rules pairing a matching signature with one or more
|
|
22
|
+
`(x, y, width, height)` scrub regions.
|
|
23
|
+
|
|
24
|
+
Two problems motivated the rewrite:
|
|
25
|
+
|
|
26
|
+
- The filter and pixel scripts encoded the same device signatures twice, once to
|
|
27
|
+
decide acceptance and again to place scrub regions, so the two files drifted
|
|
28
|
+
apart as devices were added.
|
|
29
|
+
- The expression syntax was code rather than data, which made the rule set hard
|
|
30
|
+
to inspect, test, and validate.
|
|
31
|
+
|
|
32
|
+
`dicom-dre` replaces both script files with a single Python device catalog. Each
|
|
33
|
+
catalog entry describes one device and binds its acquisition variants directly
|
|
34
|
+
to the pixel regions that must be blanked, so a device's filter decision and its
|
|
35
|
+
scrub regions are defined together. See [Device catalog](../concepts/device-catalog.md).
|
|
36
|
+
|
|
37
|
+
## From an XML template to profiles
|
|
38
|
+
|
|
39
|
+
Metadata handling that was previously expressed in a CTP anonymizer template is
|
|
40
|
+
now expressed as de-identification profiles. See [Profiles](../concepts/profiles.md)
|
|
41
|
+
for the profiles shipped in this repository.
|
|
42
|
+
|
|
43
|
+
## Acknowledgement
|
|
44
|
+
|
|
45
|
+
This project would not have been possible without years of working with and
|
|
46
|
+
learning from the MIRC CTP engine.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Provenance and Portability
|
|
2
|
+
|
|
3
|
+
The bundled device catalog and free-text allowlist were derived from studies on
|
|
4
|
+
a single PACS at one medical research center. The catalog's device rules, pixel
|
|
5
|
+
scrub regions, and allowlisted vocabulary reflect the scanner fleet and
|
|
6
|
+
reporting conventions observed there. They are unlikely to be complete or
|
|
7
|
+
correct for a different site.
|
|
8
|
+
|
|
9
|
+
## What is site-specific
|
|
10
|
+
|
|
11
|
+
The following ship with `dicom-dre` but encode assumptions about one site:
|
|
12
|
+
|
|
13
|
+
- **Device rules.** Each catalog entry matches a specific device by
|
|
14
|
+
manufacturer, model, modality, software version, and image dimensions. Devices
|
|
15
|
+
absent from the observed fleet have no entry and will not be recognized.
|
|
16
|
+
- **Pixel scrub regions.** Blanking coordinates are fixed per device and
|
|
17
|
+
acquisition variant. A device that burns in text at a different location, or a
|
|
18
|
+
firmware revision that moves the overlay, will not be scrubbed correctly.
|
|
19
|
+
- **Free-text allowlist.** The allowlisted vocabulary reflects the reporting
|
|
20
|
+
conventions and clinical terms seen in one site's description fields. Local
|
|
21
|
+
vocabulary that is absent from the allowlist is masked; local PHI patterns not
|
|
22
|
+
anticipated by the allowlist may pass through.
|
|
23
|
+
|
|
24
|
+
## Consequences of an unvalidated deployment
|
|
25
|
+
|
|
26
|
+
- **Unmatched or mismatched devices** do not have their burned-in text blanked.
|
|
27
|
+
An instance from an unknown device is filtered rather than emitted with
|
|
28
|
+
unscrubbed PHI, but a partially matching rule with wrong coordinates can emit
|
|
29
|
+
an instance whose overlay is not fully covered.
|
|
30
|
+
- **Over-redaction** masks legitimate terms when the allowlist omits vocabulary
|
|
31
|
+
used at your site, degrading the usefulness of description fields.
|
|
32
|
+
- **Under-redaction** leaks PHI when tokens that should be masked resemble
|
|
33
|
+
allowlisted terms.
|
|
34
|
+
|
|
35
|
+
## Before relying on `dicom-dre` elsewhere
|
|
36
|
+
|
|
37
|
+
- Validate pixel scrubbing against your own devices. Confirm that each device
|
|
38
|
+
you process either matches a catalog entry with correct scrub regions or is
|
|
39
|
+
intentionally filtered.
|
|
40
|
+
- Review and extend the allowlist for your local vocabulary to reduce
|
|
41
|
+
over-redaction and under-redaction.
|
|
42
|
+
- Run the regression suite after any catalog or allowlist change to confirm that
|
|
43
|
+
existing decisions are preserved.
|
|
44
|
+
|
|
45
|
+
The [Local validation](../guides/local-validation.md) guide describes these
|
|
46
|
+
steps in detail. The [Extending the catalog](../guides/extending-the-catalog.md)
|
|
47
|
+
guide covers adding new device entries.
|
|
48
|
+
|
|
49
|
+
Treat the shipped catalog and allowlist as a starting point that requires local
|
|
50
|
+
validation, not as a turnkey configuration.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Testing
|
|
2
|
+
|
|
3
|
+
The project uses pytest. Tests live in `tests/unit/` and mirror the structure of
|
|
4
|
+
`src/dicom_dre/`.
|
|
5
|
+
|
|
6
|
+
## Running the test suite
|
|
7
|
+
|
|
8
|
+
Run all tests:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
uv run pytest
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Or use the justfile target:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
just test
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Run a single test file or pattern:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
just test-one tests/unit/test_pipeline_preservation.py
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Coverage
|
|
27
|
+
|
|
28
|
+
Generate a coverage report with per-line detail for uncovered lines:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
just cov
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This runs `uv run pytest --cov=src/dicom_dre --cov-report=term-missing`.
|
|
35
|
+
|
|
36
|
+
## Pure-Python fallback
|
|
37
|
+
|
|
38
|
+
The JPEG DCT-domain scrubber has an optional compiled C accelerator. To confirm
|
|
39
|
+
that the pure-Python fallback works when the extension is absent, run:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
just test-fallback
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The target temporarily moves any compiled `_jpeg_dct_accel*.so` out of the
|
|
46
|
+
package, runs the suite, and restores the extension afterward.
|
|
47
|
+
|
|
48
|
+
## Regression fixtures
|
|
49
|
+
|
|
50
|
+
`tests/unit/test_catalog_regression_fixtures.py` asserts that the catalog still
|
|
51
|
+
reaches the recorded filtering and pixel-scrub decision for each sampled case.
|
|
52
|
+
The fixtures record only the technical matching tags and the expected decision,
|
|
53
|
+
with no PHI or pixel data. Run this suite after any catalog or profile change so
|
|
54
|
+
that alterations to existing outcomes are caught.
|
|
55
|
+
|
|
56
|
+
## Writing tests
|
|
57
|
+
|
|
58
|
+
- Place tests in `tests/unit/`, mirroring the source structure.
|
|
59
|
+
- Use descriptive test names that state what is being verified.
|
|
60
|
+
- Mock external services in unit tests, especially any that would make network
|
|
61
|
+
calls.
|
|
62
|
+
- Use fixtures for common setup.
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
`dicom-dre` is a pure-Python DICOM de-identification engine. It filters images,
|
|
4
|
+
blanks burned-in pixel regions, and rewrites metadata tags. For each input file
|
|
5
|
+
it produces one of three outcomes by running three stages in sequence.
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
For each input DICOM file the engine runs three stages:
|
|
10
|
+
|
|
11
|
+
1. **Filter** — a device catalog decides whether the image is kept or rejected.
|
|
12
|
+
2. **Pixel scrub** — burned-in text regions identified by the catalog are
|
|
13
|
+
blanked.
|
|
14
|
+
3. **Metadata** — DICOM tags are rewritten (PHI removed, UIDs re-derived, dates
|
|
15
|
+
shifted or kept).
|
|
16
|
+
|
|
17
|
+
Each run returns a {py:class}`~dicom_dre.result.DeidentifyResult` whose `outcome`
|
|
18
|
+
is one of three {py:class}`~dicom_dre.result.Outcome` values:
|
|
19
|
+
|
|
20
|
+
| Outcome | Cause |
|
|
21
|
+
|---------|-------|
|
|
22
|
+
| `DEIDENTIFIED` | The file passed the filter and was written out. |
|
|
23
|
+
| `FILTERED` | A device or exclusion rule rejected the file; the result carries the matched reason. |
|
|
24
|
+
| `QUARANTINED` | Processing raised an exception; the result carries the error text. |
|
|
25
|
+
|
|
26
|
+
## Pipeline
|
|
27
|
+
|
|
28
|
+
Every de-identification call enters through
|
|
29
|
+
{py:func}`dicom_dre.pipeline.deidentify_file`, which composes the three stages and
|
|
30
|
+
returns a `DeidentifyResult`.
|
|
31
|
+
|
|
32
|
+
```{mermaid}
|
|
33
|
+
flowchart LR
|
|
34
|
+
A["PHI DICOM"] --> F{"Filter<br>catalog.evaluate()"}
|
|
35
|
+
F -->|deny| X["FILTERED<br>(+ reason)"]
|
|
36
|
+
F -->|allow / scrub| S["Pixel scrub<br>blank_regions()"]
|
|
37
|
+
S --> M["Metadata<br>profile.apply()"]
|
|
38
|
+
M --> O["DEIDENTIFIED"]
|
|
39
|
+
F -.->|exception| Q["QUARANTINED"]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
An exception raised in any stage is caught by `deidentify_file` and returned as
|
|
43
|
+
a `QUARANTINED` result rather than propagating to the caller.
|
|
44
|
+
|
|
45
|
+
## Stages
|
|
46
|
+
|
|
47
|
+
### Filter
|
|
48
|
+
|
|
49
|
+
`catalog.evaluate(DicomTags.from_file(path))` returns a
|
|
50
|
+
{py:class}`~dicom_dre.catalog.CatalogDecision` with an action (`allow`, `deny`, or
|
|
51
|
+
`scrub`), a human-readable reason, and a list of scrub regions. A `deny` action
|
|
52
|
+
stops the pipeline and produces a `FILTERED` result whose `filter_reason` is the
|
|
53
|
+
matched rule. Catalog evaluation reads tags directly with pydicom.
|
|
54
|
+
|
|
55
|
+
See [Device Catalog](device-catalog.md).
|
|
56
|
+
|
|
57
|
+
### Pixel scrub
|
|
58
|
+
|
|
59
|
+
When the decision carries scrub regions,
|
|
60
|
+
{py:func}`dicom_dre.pixel_blanker.blank_regions` blanks them. JPEG Baseline images
|
|
61
|
+
are edited directly in the compressed bitstream with no re-encoding; all other
|
|
62
|
+
transfer syntaxes are decoded with pydicom and numpy, blanked, and written as
|
|
63
|
+
uncompressed Explicit VR Little Endian.
|
|
64
|
+
|
|
65
|
+
See [JPEG DCT Scrubbing](jpeg-dct.md).
|
|
66
|
+
|
|
67
|
+
### Metadata
|
|
68
|
+
|
|
69
|
+
The bound {py:class}`~dicom_dre.profile.DeidProfile` runs its tag rules on the
|
|
70
|
+
dataset with `DeidProfile.apply(ds)`. Rules are small closures defined in
|
|
71
|
+
{py:mod}`dicom_dre.actions` (for example `remove`, `empty`, `hash_uid`,
|
|
72
|
+
`jitter_date`, `keep`); the tag sets each profile applies them to are composed
|
|
73
|
+
by the profile factories in {py:mod}`dicom_dre.profiles`.
|
|
74
|
+
|
|
75
|
+
Each factory in `actions.py` closes over its arguments at profile-construction
|
|
76
|
+
time and returns a `(Dataset, BaseTag) -> None` callable. The available actions:
|
|
77
|
+
|
|
78
|
+
| Action | Effect |
|
|
79
|
+
|--------|--------|
|
|
80
|
+
| `keep()` | Leave the element unchanged. |
|
|
81
|
+
| `remove()` | Delete the element from the dataset. |
|
|
82
|
+
| `empty()` | Replace the value with a zero-length value (empty list for `SQ`). |
|
|
83
|
+
| `set_value(value, create_if_missing=False)` | Replace the value with a literal string, optionally creating the element when absent. |
|
|
84
|
+
| `redact_text(redactor)` | Redact a free-text element token-by-token against an allowlist. |
|
|
85
|
+
| `hash_uid(root, salt="")` | Re-derive a UID as an MD5 hash under `root`, optionally salted. |
|
|
86
|
+
| `jitter_date(days)` | Shift the `DA`/`DT` date component forward by `days`, preserving any time/timezone remainder. |
|
|
87
|
+
| `append_value(text, create_if_missing=False)` | Append `text` to a multi-valued element using `\` as separator. |
|
|
88
|
+
| `cap_age(threshold, replacement)` | Replace an `AS` age when its numeric part exceeds `threshold`. |
|
|
89
|
+
| `if_exists(inner)` | Apply `inner` only when the element is present. |
|
|
90
|
+
| `process()` | Mark an `SQ` element for recursive rule application by `DeidProfile`. |
|
|
91
|
+
|
|
92
|
+
Profiles compose these actions rather than parsing a script.
|
|
93
|
+
|
|
94
|
+
### Device-scoped private-tag preservation
|
|
95
|
+
|
|
96
|
+
By default the engine removes every private data element that has no explicit
|
|
97
|
+
tag rule. A device rule may name a small, reviewer-approved set of private
|
|
98
|
+
elements to retain verbatim through its `preserved_private_tags` field (a tuple
|
|
99
|
+
of `PrivateTagSpec`). When the catalog decision carries specs, the pipeline
|
|
100
|
+
attaches them to the `DeidProfile`, and `DeidProfile.apply(ds)` resolves each
|
|
101
|
+
spec's private-creator block at apply time (the block is runtime-assigned, not
|
|
102
|
+
fixed) and keeps both the resolved data elements and their creator element. All
|
|
103
|
+
other private elements are removed as usual. When preservation is active the
|
|
104
|
+
engine also stamps the De-identification Method Code Sequence `(0012,0064)` with
|
|
105
|
+
the Retain Safe Private Option; the sequence is emitted only for files that
|
|
106
|
+
actually preserve private tags.
|
|
107
|
+
|
|
108
|
+
See [Device Catalog](device-catalog.md#preserved-private-tags) and
|
|
109
|
+
[Profiles](profiles.md).
|
|
110
|
+
|
|
111
|
+
## Profiles
|
|
112
|
+
|
|
113
|
+
The `default`, `lds`, `lds-no-dob`, and `pixels-only` profiles each map to a
|
|
114
|
+
factory function in {py:mod}`dicom_dre.profiles`. A profile name selects which tags
|
|
115
|
+
are kept, removed, or shifted. The behavior of each profile is described in
|
|
116
|
+
[Profiles](profiles.md).
|
|
117
|
+
|
|
118
|
+
## Regression validation
|
|
119
|
+
|
|
120
|
+
A regression fixture suite guards catalog and metadata behavior against known
|
|
121
|
+
inputs. Each fixture pins the expected filter decision, scrub decision, scrub
|
|
122
|
+
regions, and de-identified metadata for a representative instance, so a change
|
|
123
|
+
that alters any of them is caught in the test run. The fixtures live in
|
|
124
|
+
`tests/unit/test_catalog_regression_fixtures.py`.
|
|
125
|
+
|
|
126
|
+
See [Testing](../about/testing.md).
|
|
127
|
+
|
|
128
|
+
## Extending
|
|
129
|
+
|
|
130
|
+
- To allow or deny a new device, or to blank a new pixel region, add a `device()`
|
|
131
|
+
entry to {py:mod}`dicom_dre.default_catalog`. See
|
|
132
|
+
[Extending the catalog](../guides/extending-the-catalog.md).
|
|
133
|
+
- To change a tag rule or add a profile, compose actions in
|
|
134
|
+
{py:mod}`dicom_dre.profiles`, deriving from an existing profile with
|
|
135
|
+
`dataclasses.replace`.
|
|
136
|
+
|
|
137
|
+
## Module reference
|
|
138
|
+
|
|
139
|
+
| Module | Responsibility |
|
|
140
|
+
|--------|----------------|
|
|
141
|
+
| {py:mod}`dicom_dre.pipeline` | Orchestrator: composes the three stages into a `DeidentifyResult` |
|
|
142
|
+
| {py:mod}`dicom_dre.result` | `DeidentifyResult` and `Outcome` result types |
|
|
143
|
+
| {py:mod}`dicom_dre.profile` | `DeidProfile.apply()` metadata rewrite |
|
|
144
|
+
| {py:mod}`dicom_dre.actions` | Tag-action factories (`remove`, `hash_uid`, `jitter_date`, ...) |
|
|
145
|
+
| {py:mod}`dicom_dre.profiles` | `default`, `lds`, `lds-no-dob`, `pixels-only` factories and the profile builder |
|
|
146
|
+
| {py:mod}`dicom_dre.catalog` | Catalog engine: `DeviceCatalog`, `CatalogDecision`, `DicomTags` |
|
|
147
|
+
| {py:mod}`dicom_dre.default_catalog` | Device and exclusion rule data |
|
|
148
|
+
| {py:mod}`dicom_dre.pixel_blanker` | `blank_regions()` pixel scrub dispatch |
|
|
149
|
+
| {py:mod}`dicom_dre.jpeg_dct_scrubber` | DCT-domain JPEG blanking and C accelerator |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Determinism
|
|
2
|
+
|
|
3
|
+
`dicom-dre` is deterministic by design. The engine performs no hashing lookups,
|
|
4
|
+
no network calls, and no randomization of its own. De-identification parameters
|
|
5
|
+
(patient ID, accession number, UID root, salt, jitter, and so on) are consumed
|
|
6
|
+
exactly as supplied. Given identical inputs and parameters, the output is
|
|
7
|
+
byte-reproducible.
|
|
8
|
+
|
|
9
|
+
## What the caller supplies
|
|
10
|
+
|
|
11
|
+
Because the engine does no lookups, the caller is responsible for supplying
|
|
12
|
+
already-mapped identifier values:
|
|
13
|
+
|
|
14
|
+
- Replacement identifiers (patient ID, accession number) are written verbatim.
|
|
15
|
+
- UID re-derivation is a pure function of the UID root and salt passed in; the
|
|
16
|
+
same source UID plus the same root and salt always yields the same output UID.
|
|
17
|
+
- Date shifting uses the caller-supplied jitter value, not a random draw.
|
|
18
|
+
- Free-text description values, when provided, are written verbatim; when
|
|
19
|
+
omitted, redaction is a pure function of the field content and the allowlist.
|
|
20
|
+
|
|
21
|
+
This keeps identifier mapping, salt management, and any cross-study consistency
|
|
22
|
+
under the caller's control rather than hidden inside the engine. See
|
|
23
|
+
[De-identification Profiles](profiles.md) and [Text redaction](text-redaction.md).
|
|
24
|
+
|
|
25
|
+
## Regression guard
|
|
26
|
+
|
|
27
|
+
Determinism is guarded by a regression test suite built from sampled DICOM
|
|
28
|
+
studies. Each fixture records the technical matching tags and the expected
|
|
29
|
+
catalog filtering and pixel-scrub decisions, with no PHI or pixel data, and the
|
|
30
|
+
tests assert that the engine still reaches the recorded decision for every case.
|
|
31
|
+
Catalog or profile changes that alter existing outcomes are caught by this
|
|
32
|
+
suite. See [Testing](../about/testing.md) and
|
|
33
|
+
[Local validation](../guides/local-validation.md).
|