sjoerdk / idiscore

Deidentification of DICOM images using Attribute Confidentiality Profiles
GNU General Public License v3.0
11 stars 2 forks source link

Make safe private and PII lists more readable #13

Closed sjoerdk closed 3 years ago

sjoerdk commented 4 years ago

Currently these are rather deep python structures. See for example a SafePrivateDefinition:

safe_private = SafePrivateDefinition(
    blocks=[
        SafePrivateBlock(
            tags=[
                "0023[SIEMENS MED SP DXMG WH AWS 1]10",
                "0023[SIEMENS MED SP DXMG WH AWS 1]11",
                "00b1[TestCreator]01",
                "00b1[TestCreator]02",
            ],
            criterion=lambda x: x.Modality == "CT",
            comment="Some test tags, only valid for CT datasets",
        ),
        SafePrivateBlock(
            tags=["00b1[othercreator]11", "00b1[othercreator]12"],
            comment="Some more test tags, without a criterion",
        ),
    ]
)

This is hard to read and edit, easy to get wrong. Make this more like this:

if Modality == "CT"  # Some test tags, only valid for CT datasets
    "0023[SIEMENS MED SP DXMG WH AWS 1]10",
    "0023[SIEMENS MED SP DXMG WH AWS 1]11",
    "00b1[TestCreator]01",
    "00b1[TestCreator]02",

"00b1[othercreator]11"
"00b1[othercreator]12"
sjoerdk commented 3 years ago

Moved to sjoerd/idis, ticket #7