dicom-dre 1.0.0.dev6__tar.gz → 1.0.0.dev8__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.dev6 → dicom_dre-1.0.0.dev8}/.devcontainer/post-create.sh +4 -0
- dicom_dre-1.0.0.dev8/.gitattributes +1 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.github/copilot-instructions.md +21 -0
- dicom_dre-1.0.0.dev8/.github/instructions/docs.instructions.md +84 -0
- dicom_dre-1.0.0.dev8/.github/skills/pr-template/SKILL.md +345 -0
- dicom_dre-1.0.0.dev8/.github/workflows/docs.yml +124 -0
- dicom_dre-1.0.0.dev8/.gitignore +70 -0
- dicom_dre-1.0.0.dev8/.pre-commit-config.yaml +73 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/CHANGELOG.md +16 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/PKG-INFO +17 -11
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/README.md +16 -10
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/about/history.md +4 -4
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/about/provenance.md +4 -4
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/about/testing.md +1 -1
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/concepts/architecture.md +11 -10
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/concepts/device-catalog.md +22 -22
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/concepts/jpeg-dct.md +5 -5
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/concepts/profiles.md +32 -21
- dicom_dre-1.0.0.dev8/docs/concepts/reproducibility.md +44 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/concepts/text-redaction.md +3 -3
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/conf.py +2 -2
- dicom_dre-1.0.0.dev8/docs/getting-started/installation.md +84 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/getting-started/quickstart.md +11 -4
- dicom_dre-1.0.0.dev8/docs/guides/cli.md +154 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/guides/extending-the-catalog.md +14 -14
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/guides/local-validation.md +3 -3
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/guides/redactor.md +20 -20
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/index.md +11 -4
- dicom_dre-1.0.0.dev8/docs/notes/iso-2022-specific-character-set.md +173 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/justfile +8 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/pyproject.toml +1 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/__init__.py +2 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/_version.py +2 -2
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/actions.py +79 -29
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/attributes.py +1 -1
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/batch.py +8 -6
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/cli.py +154 -7
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/jpeg_dct_scrubber.py +1 -1
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/parameters.py +36 -11
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/pipeline.py +3 -1
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profile.py +30 -4
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/builder.py +10 -24
- dicom_dre-1.0.0.dev8/src/dicom_dre/profiles/config.py +35 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/default.py +24 -16
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/lds.py +3 -5
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/lds_no_dob.py +3 -8
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/pixels_only.py +29 -25
- dicom_dre-1.0.0.dev8/src/dicom_dre/salt.py +245 -0
- dicom_dre-1.0.0.dev8/src/dicom_dre/uid_utils.py +102 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/conftest.py +13 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_batch.py +14 -12
- dicom_dre-1.0.0.dev8/tests/unit/test_cli.py +620 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_pipeline_attributes.py +6 -4
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_pipeline_preservation.py +4 -5
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_pipeline_redaction.py +2 -4
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_profile.py +69 -3
- dicom_dre-1.0.0.dev8/tests/unit/test_salt.py +188 -0
- dicom_dre-1.0.0.dev8/tests/unit/test_uid_utils.py +87 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/uv.lock +100 -0
- dicom_dre-1.0.0.dev6/.gitignore +0 -45
- dicom_dre-1.0.0.dev6/docs/concepts/reproducibility.md +0 -34
- dicom_dre-1.0.0.dev6/docs/getting-started/installation.md +0 -63
- dicom_dre-1.0.0.dev6/docs/guides/cli.md +0 -121
- dicom_dre-1.0.0.dev6/src/dicom_dre/uid_utils.py +0 -35
- dicom_dre-1.0.0.dev6/tests/unit/test_cli.py +0 -336
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.devcontainer/devcontainer-lock.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.devcontainer/devcontainer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.github/instructions/dicom-io.instructions.md +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.github/instructions/tests.instructions.md +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.github/workflows/deploy.yml +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.vscode/extensions.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/.vscode/settings.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/LICENSE +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/NOTICE +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/TODO +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/Makefile +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/_static/.gitkeep +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/about/changelog.md +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/make.bat +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/docs/reference/api.md +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/hatch_build.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/_jpeg_dct_accel_build.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/catalog.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/default_catalog.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/pixel_blanker.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/profiles/__init__.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/py.typed +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/pydicom_config.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/resources/__init__.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/resources/allow_lists/__init__.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/resources/allow_lists/default.csv +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/result.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/scrub_region.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/src/dicom_dre/text_redactor.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/conftest.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/__init__.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/cr/agfa/dxd40_1000c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/discovery_ls.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_ct/discovery_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/ge_medical_systems_mimvista/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/mimvista_corp/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/neurologica/ceretom.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/neusoft/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/philips/gemini.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/ct/siemens_mimvista/emotion_duo.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/dx/agfa/dx_g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/carestream/classic_cr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/fischer_imaging_corporation/senoscan_trueview.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/clearview_csm.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_1000aws.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/fujifilm_corporation/fdr_2000aws.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ge_healthcare/senographe_pristina.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/ads_1_0.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senograph_2000d_ads_17_2_3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ge_medical_systems/senographe_essential_ads_56_21_3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/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.dev6 → dicom_dre-1.0.0.dev8}/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.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/lorad_selenia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/hologic_inc/selenia_dimensions.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/ims_s_r_l/giotto_image_3dl.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/kodak/classic_cr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/kodak/elite_cr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/lorad/hologic_selenia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/lorad/lorad_selenia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/lorad_a_hologic_company/dsm.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/mptronic_software/senographe_essential_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/philips_digital_mammography_sweden_ab/l30.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_inspiration.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_novation_dr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/siemens/mammomat_revelation.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mg/tmsc_fujitsu_ltd/mgu_1000d.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/discovery_mr750.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_architect.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/ge_medical_systems/signa_premier.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/hitachi_medical_corporation/oasis.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/ingenia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/philips_medical_systems/intera.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/siemens/avanto.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/toshiba/titan.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/nm/adac/atlantis.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/nm/segami/mirage.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/ge_medical_systems_pet/discovery_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/gems/advance.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/gems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/hmsa_mim_software/927.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/gemini_tf_base_c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/philips_medical_systems_mimvista/allegro_body_c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/pt/siemens/1094.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/invenia_abus_2_0.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqbook.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_healthcare/logiqworkse9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/echopac_pc.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/philips_medical_systems/lumify.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/allow/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2010c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/canon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/canon/dr_c125.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/eastman_kodak_company/ls_75.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/fujitsu/fi_6140z.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/g_e_medical_systems/prodigy.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/general_electric/centricity_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n80111.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/hologic/discovery_a_s_n_85108.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/infinitt/infinitt_pacs.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/lumisys/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/medweb/none.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/meridian_technique_limited/orthoview_isd.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/nai_tech_products_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/north_american_imaging_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacs/dr_c125.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsgear/print2pacs.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsgear_inc/the_dicom_box.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsgear_rii2/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacslogic/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/panasonic/kv_s2026c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/philips/easydiagnost_super80_cp.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/siemens_health_services/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/vidar/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/cr/viztek/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/brightspeed_s.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_610.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_710.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct590_rt.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ct750_hd.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_iq.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_rx.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/discovery_xr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/hispeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed16.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_plus.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_16.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_pro_32.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_rt16.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_ultra.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_vct.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/lightspeed_xtra.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_560.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct520_series.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct540.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct580.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/optima_ct660.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_ct.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_evo.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_gsi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/ge_medical_systems/revolution_hd.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/medrad_inc/certegra.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/philips/brilliance_64.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/philips/gemini_tf_big_bore.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/philips/precedence_16p.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/siemens/sensation_64.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ct/toshiba/aquilion.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/bioptics_inc/pathvision.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/efilm_medical/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_a_s_n87685.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n81330.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_c_s_n84951.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/hologic/discovery_sl_s_n82250.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/hologic/horizon_w_s_n_200112.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/pacslogic/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/dx/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ko/ge_healthcare_it_radiology/centricity_radiology_ra_1000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/biovision.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/corevision.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/bioptics_inc/pixarray100.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/cadx/cad1.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/cadx/mmhwdcad.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/cadx/ohmac2cad.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/canon/2050c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/canon/dr_2010c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/confirma_inc/cadstream_4_1_3_985.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/connect_imaging/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/di/document_scanner.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/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.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/faxitron_bioptics_llc/biovision.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_corporation/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/faxitron_x_ray_llc/dx_50.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare/lunar_prodigy_advance.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_digital_hardcopy/centricity_digital_hardcopy.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/hologic/discovery_a_s_n83038.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/securview.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/hologic_inc/trident.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/icad_inc/7_2_h.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/icad_inc/icad_powerlook_amp_8_0_1.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/icad_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/kubtec/xpert_20.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/matakina_technology/volpara_server.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/primordial/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/cenova.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_enhanced.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/r2_technology_inc/digitalnow_tm.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/ramsoft_inc/castle_powerreader.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/siemens_healthcare/syngo_via_va30a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/three_palm_software/workstationone.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/vidar/cad_pro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/vidar/cadpro.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/vidar/diagnosticpro_advantage.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/vidar/vidar_digitizer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/senograph_ds_ads_43_10_1.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/visage_imaging/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mg/volpara_limited/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/agfa/clinapps.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/aze/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/bammergroup_stanford/rapid_2_0.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/barco/voxar_3d.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/cannon/dr_2050c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/canon/2050c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/circlecvi/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/confirma_inc/cadstream_4_1_2_613.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/dcad/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/desacc_inc/health_data_explorer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/fujitsu/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/ge/signa_1_5t.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/ge_medical_systems/signa_hdxt.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/icad/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/image_information_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/imagenow/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/lexmark/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/lifeimagenomination/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/lifeimagenotify/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/lifeimagereport/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/lumisys/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/medweb/none.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_7_563.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare/cadstream_5_2_9_711.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/merge_healthcare_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/neurostar_solutions_inc/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsgear/pacsscan.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsgear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsgear_riipscan/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsmatt/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsscan/dr_2080c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/pacsscan_4_0/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/panasonic/kv_s2028c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/philips/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/philips_medical_systems/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/primordial/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/radiology_research/hfh.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_va20a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/siemens_healthcare/syngo_via_vb10a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/sorna_corporation/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/statrad_llc/push2pacs.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/mrt200pp3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/toshiba_mec/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/urlj/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/vassol/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/vidar/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/vital_images_inc/vitrea_2.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/mr/viztek/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/nm/adac/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/nm/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/nm/segami/mirage.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ot/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/ot/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pct/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pt/ge_medical_systems/qx_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/pt/philips_medical_systems/allegro_body_c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sc/sante_dicom/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/biograph128.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_16.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/sensation_64.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_as.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_edge.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_definition_flash.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/siemens/somatom_force.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/sr/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/acuson/cypress.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/atl/hdi_5000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/venue_40.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare/viewpoint.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_it_radiology/centricity_radiology_ra_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_healthcare_viewpoint/viewpoint.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_medical_systems/logiqworks.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/medison/accuvix.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_5g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/toshiba_mec/ssa_580a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/u_systems/somoviewer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/unknown/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/zonare/z_one.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/us/zonare/zs3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/xa/philips/allura_clarity.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/filter/xa/philips_medical_systems/alluraxper.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/axiom_multix_m.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/cr/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/cr/konica/0402.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/cr/medicatechusa/krystalrad_660vsi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/cr/shimadzu/cxdi_control_software_ne.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ct/siemens/s1000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/dx/canon_inc/cxdi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/dx/cuattro_llc/clouddr_medical.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/dx/medicatechusa/krystalrad_660_vxi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/dx/medlink_imaging/altodr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/nm/ge_medical_systems_nuclear/unknown.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_690.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_st.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/discovery_ste.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/ot/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_600.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/discovery_mi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/pt/ge_medical_systems/signa_pet_mr.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/pt/philips_medical_systems/guardian_body_c.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/acuson/cypress.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/acuson/sequoia.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_5500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha10.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/aloka_co_ltd/ssd_alpha7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/1202.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/b_k_medical/2202.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/bk_medical/2300.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/g_e_medical_systems/logiq_700.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiq_s6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqe9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqi.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqp9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/logiqs8.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/vivide.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_p.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare/voluson_s.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/v830.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_healthcare_austria_gmbh_co_og/voluson_e8.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems/logiq9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_medical_systems_kretztechnik_gmbh_co_ohg/v830.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_ultrasound/vivid_3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e9.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/ge_vingmed_ultrasound/vivid_e95.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/logiq_400.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_i.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_q.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s5.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/gems_ultrasound/vivid_s6.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/noblus.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/hitachi_aloka_medical_ltd/prosound_f75.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v10.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_v20.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/medison/accuvix_xg.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/medison/sonoace_x8.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_50g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/affiniti_70g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/clearvue_550.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx30.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/cx50.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_5w.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/epiq_7g.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/hd15.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/ie33.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/iu22.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/philips_medical_systems/sparq.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/h60.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/rs80a.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/samsung_medison_co_ltd/sonoace_r7.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_freestyle.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_p500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_sc2000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x300.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/acuson_x700.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/s1000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/s2000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens/s3000.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_medical_systems_ultrasound_division/antares.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/elegra.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g40.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g50_s.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/g60_s.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/siemens_ultrasound/x150.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/sonosite/sonosite_titan.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/micromaxx.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/nano.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/turbo.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/sonosite_inc/x_porte.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/supersonic_imagine_sa/aixplorer.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/aplioxg.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/viamo.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec/xarioxg.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/ssh_880cv.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a300.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a400.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_a500.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_ai700.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/toshiba_mec_us/tus_x200.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/zonare/z_one.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/catalog_fixtures/scrub/us/zonare/zs3.json +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_attributes.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_catalog.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_catalog_regression_fixtures.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_default_catalog.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_jpeg_dct_scrubber.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_pixel_blanker.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_public_api.py +0 -0
- {dicom_dre-1.0.0.dev6 → dicom_dre-1.0.0.dev8}/tests/unit/test_text_redactor.py +0 -0
|
@@ -32,3 +32,7 @@ uv sync
|
|
|
32
32
|
echo -e "${BLUE}Compiling JPEG-DCT acceleration extension...${NC}"
|
|
33
33
|
(cd src && uv run python -m dicom_dre._jpeg_dct_accel_build)
|
|
34
34
|
rm -f src/dicom_dre/_jpeg_dct_accel.c src/dicom_dre/_jpeg_dct_accel.o
|
|
35
|
+
|
|
36
|
+
# Install git hooks so PHI-protection checks run on commit, push, and commit-msg.
|
|
37
|
+
echo -e "${BLUE}Installing git hooks...${NC}"
|
|
38
|
+
uv run pre-commit install --hook-type pre-commit --hook-type pre-push --hook-type commit-msg
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* text=auto eol=lf
|
|
@@ -26,6 +26,7 @@ INTERACTION & REASONING GUIDELINES
|
|
|
26
26
|
Never use marketing terms (efficient, compelling, comprehensively, effectively, successfully).
|
|
27
27
|
Never use promotional adjectives (comprehensive, robust, powerful, optimized, seamless, flexible, scalable, intuitive, advanced, cutting-edge).
|
|
28
28
|
Never use enthusiastic phrases (Perfect! Excellent! Great! Awesome! I have successfully...).
|
|
29
|
+
Avoid the informal term "knobs" for configurable values; use "settings", "options", or "parameters".
|
|
29
30
|
Avoid evaluative or subjective judgments.
|
|
30
31
|
Prefer verbs and concrete nouns over adjectives.
|
|
31
32
|
Omit unverifiable or unquantifiable claims.
|
|
@@ -105,6 +106,26 @@ DOCSTRINGS & COMMENTS
|
|
|
105
106
|
- First line: short summary sentence
|
|
106
107
|
- Document all public classes, methods, and functions
|
|
107
108
|
- Never write obvious comments that simply restate what the code does
|
|
109
|
+
- Omit self-evident or trivially true statements. Do not document facts the
|
|
110
|
+
reader can infer from the signature, types, or an obvious guarantee (for
|
|
111
|
+
example "this module has no dependencies so it avoids an import cycle",
|
|
112
|
+
"returns a value", "this is a helper"). Record a fact only when it is
|
|
113
|
+
non-obvious and affects correctness, safety, performance, or correct use.
|
|
114
|
+
- State what the code does, not what it does not do. Avoid negative-space
|
|
115
|
+
statements that contrast with an alternative or a prior design (for example
|
|
116
|
+
"not passed to X", "rather than closing over Y"); these are usually
|
|
117
|
+
refactoring artifacts. Keep a negative statement only when it conveys
|
|
118
|
+
critical information the reader cannot infer, such as a safety constraint.
|
|
119
|
+
- Write dry, precise prose using established computer science and engineering
|
|
120
|
+
terms. Name the actual mechanism, not an analogy for it.
|
|
121
|
+
- Do not use metaphor or anthropomorphism. Data does not "travel", "live",
|
|
122
|
+
"ship", "flow", or get "baked in"; objects do not "carry", "own", or "want".
|
|
123
|
+
Use precise verbs instead: "is stored in", "resides in", "is fixed at
|
|
124
|
+
construction", "is serialized to", "is passed to", "occurs", "is scoped to".
|
|
125
|
+
- Prohibited terms and replacements: "baked" -> "fixed"/"set at construction";
|
|
126
|
+
"knobs" -> "settings"/"options"/"parameters"; "lives" -> "is stored"/
|
|
127
|
+
"resides"/"occurs"; "travel"/"ship" -> "is serialized"/"is sent"/"is passed";
|
|
128
|
+
"carries" -> "holds"/"contains".
|
|
108
129
|
|
|
109
130
|
Example:
|
|
110
131
|
def add(x: int, y: int) -> int:
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Writing documentation in docs/
|
|
3
|
+
applyTo: "docs/**/*.md, README.md"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Documentation in dicom-dre
|
|
7
|
+
|
|
8
|
+
Rules for writing and editing Markdown documentation under `docs/`. Favor the
|
|
9
|
+
reader: a clear page is more likely to be correct, cheaper to change, and safe
|
|
10
|
+
to reuse. Clarity is the primary goal; the rules below serve it.
|
|
11
|
+
|
|
12
|
+
## Voice and Style
|
|
13
|
+
|
|
14
|
+
- Write as dry as an IEEE or NIST specification: factual, declarative, and
|
|
15
|
+
impersonal. State facts and requirements; omit motivation, praise, and asides.
|
|
16
|
+
- Use present tense and the active voice ("The engine hashes the value", not
|
|
17
|
+
"The value is hashed by the engine").
|
|
18
|
+
- Prefer verbs and concrete nouns over adjectives.
|
|
19
|
+
- Omit marketing and promotional words (for example efficient, powerful, robust,
|
|
20
|
+
seamless, comprehensive, advanced).
|
|
21
|
+
- Omit claims you cannot verify from the code or tests.
|
|
22
|
+
|
|
23
|
+
## What to Include
|
|
24
|
+
|
|
25
|
+
- State what a component does, not what it does not do. Avoid negative-space
|
|
26
|
+
descriptions that contrast with an alternative or a prior design (for example
|
|
27
|
+
"handled here rather than in the parent", "not passed to X"); these are
|
|
28
|
+
usually refactoring artifacts. Keep a negative statement only when it conveys
|
|
29
|
+
critical information the reader cannot infer, such as a safety constraint.
|
|
30
|
+
- Omit self-evident or trivially true statements. Do not state facts the reader
|
|
31
|
+
can infer or that hold by construction (for example "this module has no
|
|
32
|
+
dependencies so it avoids an import cycle"). Write only what is non-obvious
|
|
33
|
+
and consequential.
|
|
34
|
+
|
|
35
|
+
## Terminology and Verbs
|
|
36
|
+
|
|
37
|
+
- Name the actual mechanism, not an analogy. Do not use metaphor or
|
|
38
|
+
anthropomorphism: data does not "travel", "live", "ship", "flow", or get
|
|
39
|
+
"baked in"; objects do not "carry", "own", "want", or "know" anything.
|
|
40
|
+
- Use precise verbs for the operation:
|
|
41
|
+
- storage or location: "is stored in", "is held in", "resides in".
|
|
42
|
+
- fixed at construction: "is fixed at construction", "is set once at
|
|
43
|
+
construction time".
|
|
44
|
+
- cross-process transfer: "is serialized to", "is pickled and sent to", "is
|
|
45
|
+
passed to". State that it crosses the process boundary when relevant.
|
|
46
|
+
- occurrence or scope: "occurs", "is performed", "is scoped to".
|
|
47
|
+
- Prefer terms of art already used in the codebase: serialization,
|
|
48
|
+
immutability, process boundary, construction time, apply time, deterministic
|
|
49
|
+
derivation, closure.
|
|
50
|
+
- Prohibited terms and replacements: "baked" -> "fixed"/"set at construction";
|
|
51
|
+
"knobs" -> "settings"/"options"/"parameters"; "lives" -> "is stored"/
|
|
52
|
+
"resides"/"occurs"; "travel"/"ship" -> "is serialized"/"is sent"/"is passed";
|
|
53
|
+
"carries" -> "holds"/"contains".
|
|
54
|
+
|
|
55
|
+
## Punctuation
|
|
56
|
+
|
|
57
|
+
- Do not use em-dashes (`--` or the Unicode em-dash). Rephrase into separate
|
|
58
|
+
sentences, or use a colon, comma, or parentheses.
|
|
59
|
+
- Do not use en-dashes for ranges in prose. Write "10 to 30", not "10-30".
|
|
60
|
+
|
|
61
|
+
## Conciseness
|
|
62
|
+
|
|
63
|
+
- Keep sentences short. Prefer several plain sentences over one long clause.
|
|
64
|
+
- Cut filler and hedging (for example "in order to", "it is important to note
|
|
65
|
+
that", "basically", "simply").
|
|
66
|
+
- Make each point once. One idea per sentence; one topic per paragraph.
|
|
67
|
+
|
|
68
|
+
## Formatting
|
|
69
|
+
|
|
70
|
+
- Wrap prose at roughly 88 columns to match the source line length.
|
|
71
|
+
- Wrap element names, keywords, parameters, and file paths in backticks
|
|
72
|
+
(`PatientID`, `HASH_SALT`, `~/.config/dicom-dre/salt`).
|
|
73
|
+
- Use fenced code blocks with a language hint for commands and code.
|
|
74
|
+
- Use relative Markdown links between docs pages
|
|
75
|
+
(`[Reproducibility](reproducibility.md)`).
|
|
76
|
+
- Do not use emoji.
|
|
77
|
+
|
|
78
|
+
## Accuracy
|
|
79
|
+
|
|
80
|
+
- Keep documentation synchronized with the code. When behavior changes, update
|
|
81
|
+
the affected pages in the same change.
|
|
82
|
+
- Verify CLI flags, parameter names, and defaults against the actual source and
|
|
83
|
+
`--help` output before documenting them.
|
|
84
|
+
- When adding a new page, add it to the `nav`/`toctree` so it is reachable.
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr-template
|
|
3
|
+
description: 'Generate GitHub-flavored markdown for a pull request against the development branch, formatted as conventional-commit release notes for reuse as a squash/merge commit body. Use when writing a PR description, drafting release notes, or preparing a commit message body.'
|
|
4
|
+
argument-hint: 'against development; optional JIRA ticket'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill Instructions
|
|
8
|
+
|
|
9
|
+
This skill generates a pull request description in GitHub-flavored markdown format
|
|
10
|
+
for the current branch against the development branch. The description is written as
|
|
11
|
+
conventional-commit release notes so it can be reused directly as the body of a
|
|
12
|
+
squash/merge commit that feeds python-semantic-release.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Writing a pull request description for a branch targeting `development`
|
|
17
|
+
- Drafting release notes for a set of branch commits
|
|
18
|
+
- Preparing a squash/merge commit message body in conventional-commit format
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
|
|
22
|
+
The skill produces a markdown template containing:
|
|
23
|
+
- A conventional commit header line (`<type>[scope]: <description> (STAR-12345)`)
|
|
24
|
+
- A short summary paragraph
|
|
25
|
+
- Change groups organized by conventional commit type (Features, Bug Fixes,
|
|
26
|
+
Performance, Refactoring, Documentation, Tests), each as a bullet list
|
|
27
|
+
- An `### Interface and behavior changes` section when the branch changes existing
|
|
28
|
+
behavior or removes a public interface
|
|
29
|
+
|
|
30
|
+
The output is formatted in a code block for easy copy/paste into GitHub and into a
|
|
31
|
+
commit message.
|
|
32
|
+
|
|
33
|
+
## Execution Steps
|
|
34
|
+
|
|
35
|
+
Large branches produce diff output that exceeds the terminal capture limit and gets
|
|
36
|
+
truncated. Gather change data with compact, aggregated commands first, then read
|
|
37
|
+
individual files or scoped diffs only when needed. Do not pipe these commands through
|
|
38
|
+
`head`/`tail`; that hides data rather than fixing truncation. Run each command
|
|
39
|
+
separately so one large result does not push another out of view.
|
|
40
|
+
|
|
41
|
+
### Step 1: Gather Branch Information
|
|
42
|
+
|
|
43
|
+
Get the current branch name:
|
|
44
|
+
```bash
|
|
45
|
+
git branch --show-current
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Get commits not in development (short and complete; count first if it may be long):
|
|
49
|
+
```bash
|
|
50
|
+
git rev-list --count development..HEAD
|
|
51
|
+
git log --oneline development..HEAD
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Get a per-directory change summary that stays small on large branches:
|
|
55
|
+
```bash
|
|
56
|
+
git diff development...HEAD --name-status | awk '{n=$1; $1=""; path=$0; sub(/^ /,"",path); d=path; sub(/\/[^\/]*$/,"",d); print n, d}' | sort | uniq -c | sort -rn
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Get file-level status without the size graph (avoids per-line path truncation):
|
|
60
|
+
```bash
|
|
61
|
+
git diff development...HEAD --name-status
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Use `--stat=200,200` only when line counts are needed; the wide format prevents path
|
|
65
|
+
and bar truncation:
|
|
66
|
+
```bash
|
|
67
|
+
git diff development...HEAD --stat=200,200
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Step 2: Analyze Changes
|
|
71
|
+
|
|
72
|
+
Work from the aggregated summaries in Step 1 to identify the change groups on the
|
|
73
|
+
branch. When a specific area needs detail, read the file directly or take a diff scoped
|
|
74
|
+
to one path rather than dumping the whole diff:
|
|
75
|
+
```bash
|
|
76
|
+
git diff development...HEAD -- <path>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Map each change to a conventional commit type:
|
|
80
|
+
- `feat` -> Features
|
|
81
|
+
- `fix` -> Bug Fixes
|
|
82
|
+
- `perf` -> Performance
|
|
83
|
+
- `refactor` -> Refactoring
|
|
84
|
+
- `docs` -> Documentation
|
|
85
|
+
- `test` -> Tests
|
|
86
|
+
- `chore` / `build` / `ci` -> Maintenance (only when relevant)
|
|
87
|
+
|
|
88
|
+
Summarize the branch by its net effect relative to `development`, not by its individual
|
|
89
|
+
commits. A `fix` commit only belongs under Bug Fixes when it corrects behavior that
|
|
90
|
+
already exists on `development` (a prior release). A commit that fixes code introduced
|
|
91
|
+
earlier in this same branch is part of building that feature, not a bug fix against a
|
|
92
|
+
release: fold it into the relevant Features bullet or omit it. To decide, check whether
|
|
93
|
+
the fixed code path exists on `development`:
|
|
94
|
+
```bash
|
|
95
|
+
git log --oneline development..HEAD -- <path>
|
|
96
|
+
```
|
|
97
|
+
If every commit touching that path is on this branch (nothing on `development`), treat
|
|
98
|
+
the change as feature development, not a Bug Fix.
|
|
99
|
+
|
|
100
|
+
Identify any change that alters existing behavior, removes a public interface, or
|
|
101
|
+
changes default output. List these under the interface and behavior changes section.
|
|
102
|
+
A change is only an interface or behavior change when it affects code that exists on
|
|
103
|
+
`development`; interfaces added and then adjusted within this branch are new, not changed.
|
|
104
|
+
|
|
105
|
+
### Step 3: Identify JIRA Ticket
|
|
106
|
+
|
|
107
|
+
Extract the JIRA ticket number from the branch name or commits (e.g., STAR-12345).
|
|
108
|
+
|
|
109
|
+
### Step 4: Generate Release Notes
|
|
110
|
+
|
|
111
|
+
Write the description as conventional-commit release notes.
|
|
112
|
+
|
|
113
|
+
#### Header
|
|
114
|
+
Single conventional commit header line:
|
|
115
|
+
- `feat: add capability (STAR-12345)`
|
|
116
|
+
- `fix: resolve issue (STAR-12345)`
|
|
117
|
+
- `feat: replace ctp CLI with anonymize CLI (STAR-12345)`
|
|
118
|
+
- `refactor: move result models (STAR-12345)`
|
|
119
|
+
|
|
120
|
+
Use the type of the dominant change on the branch. If several types are present,
|
|
121
|
+
choose the highest-impact type (`feat` > `fix` > others).
|
|
122
|
+
|
|
123
|
+
#### Summary
|
|
124
|
+
One short paragraph (two to four sentences) describing what the branch does and why.
|
|
125
|
+
Keep it in present tense.
|
|
126
|
+
|
|
127
|
+
#### Change Groups
|
|
128
|
+
Add one `###` section per conventional commit type that applies, in this order:
|
|
129
|
+
Features, Bug Fixes, Performance, Refactoring, Documentation, Tests. Under each,
|
|
130
|
+
list changes as bullet points. Use a bold `**scope**:` lead-in where a scope
|
|
131
|
+
clarifies the entry. Omit any section that has no entries.
|
|
132
|
+
|
|
133
|
+
Before writing the Bug Fixes section, apply this gate to every candidate fix:
|
|
134
|
+
1. Identify the files the fix touches.
|
|
135
|
+
2. Run `git log --oneline development..HEAD -- <path>` and check whether the code being
|
|
136
|
+
fixed already existed on `development`.
|
|
137
|
+
3. If the code path is net-new on this branch (all of its history is on the branch),
|
|
138
|
+
the fix is part of building the feature. Do NOT list it under Bug Fixes; fold its
|
|
139
|
+
substance into the matching Features bullet or drop it.
|
|
140
|
+
4. Only keep a bullet under Bug Fixes when it corrects behavior that shipped on
|
|
141
|
+
`development` in a prior release.
|
|
142
|
+
|
|
143
|
+
On a feature branch this usually leaves Bug Fixes empty. That is expected; omit the
|
|
144
|
+
section entirely rather than repurposing it for intra-branch corrections.
|
|
145
|
+
|
|
146
|
+
#### Interface and behavior changes
|
|
147
|
+
When the branch changes existing behavior or removes a public interface, add a
|
|
148
|
+
`### Interface and behavior changes` section with one bullet per change. Do not add a
|
|
149
|
+
footer token.
|
|
150
|
+
|
|
151
|
+
#### CTP script and native anonymizer changes
|
|
152
|
+
Do not compress CTP script or native anonymizer edits into a single dense bullet. Give
|
|
153
|
+
each its own section and show the actual code so the reader can see exactly what changed.
|
|
154
|
+
|
|
155
|
+
- Changes to CTP scripts (`resources/dicom/scripts/**/*.xml`) go under a
|
|
156
|
+
`### CTP script changes` section. Show the affected rule text in an `xml` fenced code
|
|
157
|
+
block, then describe each element's old -> new effect as bullets keyed by tag.
|
|
158
|
+
- Changes to the native (dicom-dre) engine adapter or profile policy
|
|
159
|
+
(`core/dre_engine.py`, `core/deid_profile.py`) go under a `### Native anonymizer changes`
|
|
160
|
+
section. Show the relevant Python in a `python` fenced code block, then describe what
|
|
161
|
+
each entry changes. (Catalog, tag, and action changes now live in the external
|
|
162
|
+
`dicom-dre` package, not this repository.)
|
|
163
|
+
|
|
164
|
+
Gather the exact lines with scoped diffs, and render the resulting rule/catalog text in
|
|
165
|
+
the code block rather than the raw `+/-` diff:
|
|
166
|
+
```bash
|
|
167
|
+
git diff development...HEAD -- src/starr_imaging/resources/dicom/scripts
|
|
168
|
+
git diff development...HEAD -- src/starr_imaging/core/dre_engine.py src/starr_imaging/core/deid_profile.py
|
|
169
|
+
```
|
|
170
|
+
Show only the elements that changed, one code block per script family or catalog area,
|
|
171
|
+
with the prose description immediately beneath the block.
|
|
172
|
+
|
|
173
|
+
In each of these sections, also list the tests and regression-flow changes introduced
|
|
174
|
+
for the rule change, so the validation lives next to the rule it covers. Find them with
|
|
175
|
+
scoped diffs and name the specific test or flow behavior:
|
|
176
|
+
```bash
|
|
177
|
+
git diff development...HEAD --name-status -- tests
|
|
178
|
+
git diff development...HEAD -- src/starr_imaging/flows/regression
|
|
179
|
+
```
|
|
180
|
+
For example, note a new cross-reference test asserting a tag's action, a regression
|
|
181
|
+
comparison that now checks the tag, or a regression-flow change that exercises the rule.
|
|
182
|
+
When the same tests are already summarized under the Tests section, reference them here
|
|
183
|
+
rather than duplicating the full list.
|
|
184
|
+
|
|
185
|
+
### Step 5: Format Output
|
|
186
|
+
|
|
187
|
+
Wrap the entire template in a markdown code block so it copies cleanly into both the
|
|
188
|
+
GitHub PR field and a commit message:
|
|
189
|
+
|
|
190
|
+
````markdown
|
|
191
|
+
```markdown
|
|
192
|
+
feat: <short description> (STAR-12345)
|
|
193
|
+
|
|
194
|
+
<one short summary paragraph>
|
|
195
|
+
|
|
196
|
+
### Features
|
|
197
|
+
- **scope**: change description
|
|
198
|
+
- change description
|
|
199
|
+
|
|
200
|
+
### Bug Fixes
|
|
201
|
+
- change description
|
|
202
|
+
|
|
203
|
+
### Documentation
|
|
204
|
+
- change description
|
|
205
|
+
|
|
206
|
+
### Tests
|
|
207
|
+
- change description
|
|
208
|
+
|
|
209
|
+
### Interface and behavior changes
|
|
210
|
+
- change description
|
|
211
|
+
|
|
212
|
+
### CTP script changes
|
|
213
|
+
```xml
|
|
214
|
+
<rule text that changed>
|
|
215
|
+
```
|
|
216
|
+
- (gggg,eeee) TagName: old -> new, and the effect on output
|
|
217
|
+
- Coverage: test or regression-flow change that validates this rule
|
|
218
|
+
|
|
219
|
+
### Native anonymizer changes
|
|
220
|
+
```python
|
|
221
|
+
# catalog / profile / action code that changed
|
|
222
|
+
```
|
|
223
|
+
- description of what this entry changes
|
|
224
|
+
- Coverage: test or regression-flow change that validates this rule
|
|
225
|
+
```
|
|
226
|
+
````
|
|
227
|
+
|
|
228
|
+
## Example Output
|
|
229
|
+
|
|
230
|
+
For a branch that adds a native de-identification engine and replaces a CLI:
|
|
231
|
+
|
|
232
|
+
````markdown
|
|
233
|
+
```markdown
|
|
234
|
+
feat: add native Python de-identification engine and no-deid profile (STAR-11973)
|
|
235
|
+
|
|
236
|
+
Adds a native Python DICOM de-identification engine that runs alongside the existing
|
|
237
|
+
CTP engine, selected per run via a new `deid_engine` setting that defaults to `ctp`.
|
|
238
|
+
A native engine removes the runtime dependency on the CTP Java process, gives direct
|
|
239
|
+
control over the anonymization pipeline, and enables device-specific private-tag
|
|
240
|
+
handling. Regression runs both engines end-to-end and compares native output against
|
|
241
|
+
CTP tag-by-tag.
|
|
242
|
+
|
|
243
|
+
### Features
|
|
244
|
+
- **anonymizer**: add native engine with rule catalog, tag definitions, profiles
|
|
245
|
+
(default, lds, lds-no-dob, pre-scrub), pixel blanker, and JPEG DCT annotation removal
|
|
246
|
+
- **settings**: add `deid_engine` setting (`STARR_IMAGING__DEID_ENGINE`), defaulting to `ctp`
|
|
247
|
+
- **processor/flows**: add per-run engine-selection parameter to the DICOM processor
|
|
248
|
+
and Stetson flows
|
|
249
|
+
- **profiles**: add `no-deid` pass-through profile that emits source DICOM unchanged;
|
|
250
|
+
engine-independent and byte-identical across `ctp` and `native`
|
|
251
|
+
- **robustness**: enable `convert_wrong_length_to_UN` and tolerate `BytesLengthException`
|
|
252
|
+
so malformed vendor private elements are preserved as `UN`
|
|
253
|
+
|
|
254
|
+
### Documentation
|
|
255
|
+
- add native anonymizer, de-identification, device catalog, and JPEG DCT anonymizer docs
|
|
256
|
+
|
|
257
|
+
### Tests
|
|
258
|
+
- add unit tests for catalog, profiles, pixel blanker, JPEG DCT anonymizer, per-engine
|
|
259
|
+
worker selection, and no-deid pass-through
|
|
260
|
+
- add integration test asserting `no-deid` output is byte-identical to source on both engines
|
|
261
|
+
|
|
262
|
+
### Interface and behavior changes
|
|
263
|
+
- **CLI**: remove the `ctp` CLI in favor of the new `anonymize` CLI
|
|
264
|
+
- **models**: move `AnonymizerResult` and outcome models to `core/models/anonymizer_models.py`;
|
|
265
|
+
replace `AnonymizedOutcome.was_scrubbed: bool` with `scrub_regions: frozenset[ScrubRegion]`
|
|
266
|
+
|
|
267
|
+
### CTP script changes
|
|
268
|
+
The metadata scripts (`resources/dicom/scripts/metadata.xml` and the `lds/` and
|
|
269
|
+
`lds-no-dob/` variants) change to reach parity with the native engine:
|
|
270
|
+
|
|
271
|
+
```xml
|
|
272
|
+
<e t="00120063" n="DeIdentificationMethod">@always()</e>
|
|
273
|
+
<e t="00180015" n="BodyPartExamined">@keep()</e>
|
|
274
|
+
<e t="00540016" n="RadiopharmaceuticalInformationSequence">@process()</e>
|
|
275
|
+
<e t="30060008" n="StructureSetDate">@incrementdate(this,@JITTER)</e>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
- (0012,0063) DeIdentificationMethod: add `@always()` so the tag is written even when
|
|
279
|
+
the source omits it.
|
|
280
|
+
- (0018,0015) BodyPartExamined: `@require()` -> `@keep()`, retaining the original value.
|
|
281
|
+
- (0054,0016) RadiopharmaceuticalInformationSequence: drop `@always()`; the sequence is
|
|
282
|
+
processed in place.
|
|
283
|
+
- (3006,0008) StructureSetDate: `@incrementdate(this,@DATEINC)` ->
|
|
284
|
+
`@incrementdate(this,@JITTER)`, fixing an undefined parameter so RTSTRUCT dates jitter
|
|
285
|
+
consistently.
|
|
286
|
+
- Coverage: the CTP cross-reference test asserts these four tag actions, and the
|
|
287
|
+
regression engine comparison now includes (3006,0008) so CTP and native output match.
|
|
288
|
+
|
|
289
|
+
### Native anonymizer changes
|
|
290
|
+
The native catalog encodes the same rules as the CTP scripts so both engines agree:
|
|
291
|
+
|
|
292
|
+
```python
|
|
293
|
+
TagRule(Tag(0x0012, 0x0063), Action.ALWAYS), # DeIdentificationMethod
|
|
294
|
+
TagRule(Tag(0x0018, 0x0015), Action.KEEP), # BodyPartExamined
|
|
295
|
+
TagRule(Tag(0x0054, 0x0016), Action.PROCESS), # RadiopharmaceuticalInformationSequence
|
|
296
|
+
TagRule(Tag(0x3006, 0x0008), Action.JITTER_DATE), # StructureSetDate
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
- Each rule mirrors the CTP element above; regression compares the resulting output
|
|
300
|
+
tag-by-tag to confirm the two engines match.
|
|
301
|
+
- Coverage: the catalog unit test asserts each `TagRule` action, and the regression
|
|
302
|
+
flow runs both engines end-to-end and diffs these tags.
|
|
303
|
+
```
|
|
304
|
+
````
|
|
305
|
+
|
|
306
|
+
This branch is a pure feature addition, so there is no Bug Fixes section. Intra-branch
|
|
307
|
+
corrections to the new native engine (for example, fixing the pixel blanker no-op path,
|
|
308
|
+
making `=` matching case-insensitive, or regenerating `file_meta` to avoid PHI leakage)
|
|
309
|
+
are part of building the native engine and are represented by the native-engine Features
|
|
310
|
+
bullet, not listed as Bug Fixes. The CLI and model changes touch code that exists on
|
|
311
|
+
`development`, so they appear under Interface and behavior changes. The CTP script and
|
|
312
|
+
native catalog edits get their own sections with the actual rule text shown as code
|
|
313
|
+
blocks, rather than a single dense bullet.
|
|
314
|
+
|
|
315
|
+
## Tips
|
|
316
|
+
|
|
317
|
+
- Keep the summary paragraph short; put detail in the grouped bullet lists
|
|
318
|
+
- Use present tense ("adds feature" not "added feature")
|
|
319
|
+
- Group every change under the matching conventional commit type; omit empty groups
|
|
320
|
+
- Give CTP script changes and native anonymizer profile/catalog changes their own
|
|
321
|
+
sections with the actual rule or catalog code in fenced code blocks and a per-item
|
|
322
|
+
description; never compress them into one dense bullet, and list the tests or
|
|
323
|
+
regression-flow changes that validate each rule alongside it
|
|
324
|
+
- Summarize net effect vs. `development`, not per-commit history. Fixes to code that was
|
|
325
|
+
introduced earlier on this same branch are feature development, not Bug Fixes; fold
|
|
326
|
+
them into the Features bullet or drop them. Reserve Bug Fixes for corrections to
|
|
327
|
+
behavior that shipped in a prior release.
|
|
328
|
+
- Small commits with generic messages (e.g., "fix typo", "wip", "cleanup", "address
|
|
329
|
+
review", "copilot feedback", "code review suggestions", formatting-only changes) can
|
|
330
|
+
be excluded from the summary; roll them up or omit them rather than adding a bullet
|
|
331
|
+
per commit
|
|
332
|
+
- Only include the `### Interface and behavior changes` section when the branch actually
|
|
333
|
+
changes existing behavior or removes a public interface
|
|
334
|
+
- Follow conventional commits format for the header
|
|
335
|
+
- Extract JIRA ticket numbers from branch names (e.g., feat/STAR-12345-description)
|
|
336
|
+
|
|
337
|
+
## Notes
|
|
338
|
+
|
|
339
|
+
- Always compare against the `development` branch, not `main`
|
|
340
|
+
- Use three-dot diff notation (`development...HEAD`) to see changes
|
|
341
|
+
- The output should be ready to paste directly into a GitHub PR description and reused
|
|
342
|
+
as a squash/merge commit body
|
|
343
|
+
- The header type determines the version bump python-semantic-release applies
|
|
344
|
+
(`feat` -> minor, `fix`/`perf` -> patch). Do not add a footer token.
|
|
345
|
+
- Markdown code blocks make it easy to copy/paste without formatting issues
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
name: Deploy Documentation
|
|
2
|
+
|
|
3
|
+
# Publishes the Sphinx documentation to GitHub Pages, versioned by branch.
|
|
4
|
+
#
|
|
5
|
+
# Pushes to `development` publish under /development/ (pre-release docs).
|
|
6
|
+
# Pushes to `main` publish under /stable/ (released docs).
|
|
7
|
+
#
|
|
8
|
+
# Each version lives in its own subdirectory on the `gh-pages` branch. A run
|
|
9
|
+
# reconstructs the full tree (previously published versions plus the version it
|
|
10
|
+
# just built), then force-publishes it, so removed pages do not linger and other
|
|
11
|
+
# versions are preserved. The site root redirects to /stable/ when it exists and
|
|
12
|
+
# otherwise to /development/.
|
|
13
|
+
#
|
|
14
|
+
# GitHub Pages must be configured to serve from the `gh-pages` branch (root).
|
|
15
|
+
|
|
16
|
+
on:
|
|
17
|
+
push:
|
|
18
|
+
branches:
|
|
19
|
+
- main
|
|
20
|
+
- development
|
|
21
|
+
paths:
|
|
22
|
+
- "docs/**"
|
|
23
|
+
- "src/**"
|
|
24
|
+
- "pyproject.toml"
|
|
25
|
+
- ".github/workflows/docs.yml"
|
|
26
|
+
workflow_dispatch:
|
|
27
|
+
|
|
28
|
+
permissions:
|
|
29
|
+
contents: write
|
|
30
|
+
|
|
31
|
+
# Serialize deployments so concurrent pushes to main and development do not race
|
|
32
|
+
# when reconstructing and publishing the shared gh-pages tree.
|
|
33
|
+
concurrency:
|
|
34
|
+
group: docs-pages
|
|
35
|
+
cancel-in-progress: false
|
|
36
|
+
|
|
37
|
+
jobs:
|
|
38
|
+
deploy:
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
steps:
|
|
41
|
+
- name: Checkout
|
|
42
|
+
uses: actions/checkout@v4
|
|
43
|
+
with:
|
|
44
|
+
fetch-depth: 0
|
|
45
|
+
|
|
46
|
+
- name: Set up uv
|
|
47
|
+
uses: astral-sh/setup-uv@v5
|
|
48
|
+
with:
|
|
49
|
+
python-version: "3.12"
|
|
50
|
+
|
|
51
|
+
- name: Install dependencies
|
|
52
|
+
run: uv sync
|
|
53
|
+
|
|
54
|
+
- name: Determine version slug
|
|
55
|
+
id: slug
|
|
56
|
+
run: |
|
|
57
|
+
case "${GITHUB_REF_NAME}" in
|
|
58
|
+
main) echo "slug=stable" >> "$GITHUB_OUTPUT" ;;
|
|
59
|
+
development) echo "slug=development" >> "$GITHUB_OUTPUT" ;;
|
|
60
|
+
*) echo "slug=${GITHUB_REF_NAME}" >> "$GITHUB_OUTPUT" ;;
|
|
61
|
+
esac
|
|
62
|
+
|
|
63
|
+
- name: Build HTML documentation
|
|
64
|
+
run: uv run --group docs sphinx-build -b html docs build/html
|
|
65
|
+
|
|
66
|
+
- name: Checkout existing published docs
|
|
67
|
+
uses: actions/checkout@v4
|
|
68
|
+
continue-on-error: true
|
|
69
|
+
with:
|
|
70
|
+
ref: gh-pages
|
|
71
|
+
path: gh-pages
|
|
72
|
+
|
|
73
|
+
- name: Assemble versioned site
|
|
74
|
+
run: |
|
|
75
|
+
set -euo pipefail
|
|
76
|
+
# A non-matching glob expands to nothing rather than the literal
|
|
77
|
+
# pattern; the gh-pages checkout leaves an empty directory on the first
|
|
78
|
+
# run before the branch exists.
|
|
79
|
+
shopt -s nullglob
|
|
80
|
+
slug="${{ steps.slug.outputs.slug }}"
|
|
81
|
+
mkdir -p site
|
|
82
|
+
|
|
83
|
+
# Carry forward every previously published version except the one being
|
|
84
|
+
# rebuilt in this run.
|
|
85
|
+
for path in gh-pages/*/; do
|
|
86
|
+
name="$(basename "$path")"
|
|
87
|
+
[ "$name" = "${slug}" ] && continue
|
|
88
|
+
cp -r "$path" "site/${name}"
|
|
89
|
+
done
|
|
90
|
+
|
|
91
|
+
# Place the freshly built version.
|
|
92
|
+
rm -rf "site/${slug}"
|
|
93
|
+
cp -r build/html "site/${slug}"
|
|
94
|
+
|
|
95
|
+
# Serve underscore-prefixed asset directories (Sphinx _static, etc.).
|
|
96
|
+
touch site/.nojekyll
|
|
97
|
+
|
|
98
|
+
# Root redirect: prefer stable, fall back to development, then the slug
|
|
99
|
+
# just built.
|
|
100
|
+
if [ -d site/stable ]; then
|
|
101
|
+
target="stable"
|
|
102
|
+
elif [ -d site/development ]; then
|
|
103
|
+
target="development"
|
|
104
|
+
else
|
|
105
|
+
target="${slug}"
|
|
106
|
+
fi
|
|
107
|
+
cat > site/index.html <<EOF
|
|
108
|
+
<!doctype html>
|
|
109
|
+
<meta charset="utf-8">
|
|
110
|
+
<meta http-equiv="refresh" content="0; url=./${target}/">
|
|
111
|
+
<link rel="canonical" href="./${target}/">
|
|
112
|
+
<title>dicom-dre documentation</title>
|
|
113
|
+
<a href="./${target}/">Continue to the documentation</a>
|
|
114
|
+
EOF
|
|
115
|
+
|
|
116
|
+
- name: Deploy to GitHub Pages
|
|
117
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
118
|
+
with:
|
|
119
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
120
|
+
publish_branch: gh-pages
|
|
121
|
+
publish_dir: ./site
|
|
122
|
+
force_orphan: true
|
|
123
|
+
user_name: "github-actions[bot]"
|
|
124
|
+
user_email: "github-actions[bot]@users.noreply.github.com"
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.o
|
|
7
|
+
|
|
8
|
+
# Packaging / build
|
|
9
|
+
build/
|
|
10
|
+
dist/
|
|
11
|
+
*.egg-info/
|
|
12
|
+
.eggs/
|
|
13
|
+
src/dicom_dre/_version.py
|
|
14
|
+
|
|
15
|
+
# Sphinx documentation
|
|
16
|
+
docs/_build/
|
|
17
|
+
|
|
18
|
+
# CFFI build scratch (generated by the JPEG-DCT build hook)
|
|
19
|
+
src/dicom_dre/dicom_dre/
|
|
20
|
+
src/dicom_dre/_jpeg_dct_accel.c
|
|
21
|
+
|
|
22
|
+
# Virtual environments
|
|
23
|
+
.venv/
|
|
24
|
+
venv/
|
|
25
|
+
|
|
26
|
+
# Tooling caches
|
|
27
|
+
.mypy_cache/
|
|
28
|
+
.ruff_cache/
|
|
29
|
+
.pytest_cache/
|
|
30
|
+
.coverage
|
|
31
|
+
.coverage.*
|
|
32
|
+
htmlcov/
|
|
33
|
+
coverage.xml
|
|
34
|
+
|
|
35
|
+
# uv
|
|
36
|
+
.uv/
|
|
37
|
+
|
|
38
|
+
# OS / editor
|
|
39
|
+
.DS_Store
|
|
40
|
+
|
|
41
|
+
# Local working files
|
|
42
|
+
temp/
|
|
43
|
+
|
|
44
|
+
# --- PHI leak prevention -------------------------------------------------
|
|
45
|
+
# Block data-file types at the repo root where ad-hoc tooling drops output.
|
|
46
|
+
# Scoped to root with a leading slash so tracked fixtures and resources deeper
|
|
47
|
+
# in the tree (allow lists, catalog fixtures) are unaffected.
|
|
48
|
+
/*.json
|
|
49
|
+
/*.csv
|
|
50
|
+
/*.sql
|
|
51
|
+
/regression*
|
|
52
|
+
/~*
|
|
53
|
+
|
|
54
|
+
# Scratch / local working directories
|
|
55
|
+
/reference/**
|
|
56
|
+
/scripts/**
|
|
57
|
+
local_workspace/
|
|
58
|
+
temp-test/*
|
|
59
|
+
**/ignore/*
|
|
60
|
+
**/DO_NOT_COMMIT.*
|
|
61
|
+
|
|
62
|
+
# Databases and logs
|
|
63
|
+
db.sqlite3
|
|
64
|
+
*.log
|
|
65
|
+
|
|
66
|
+
# DICOM and derived image binaries (may carry burned-in PHI)
|
|
67
|
+
*.dcm
|
|
68
|
+
*.dicom
|
|
69
|
+
*.ima
|
|
70
|
+
*.DCM
|