Skip to main content

Concepts and relations to describe the process of DICOM deidentification

Project description

MIDOM - Medical Image Deidentification Object Model

CI PyPI PyPI - Python Version Code style: black Checked with mypy

A set of concepts and relations to describe the process of DICOM deidentification and a structured format for a deidentification protocol.

Why?

To use with projects related to DICOM deidentification. I'm running into the problem of not having the right words. I keep inventing terms, coming up with long-winded descriptions. There is a lack of conceptual clarity. Lack of clarity causes:

  • misunderstandings
  • Ineffective communication
  • misguided programming efforts
  • wasted time generally.

The DICOM standard is not sufficient. DICOM PS3 E-E1 gives thorough information on what to do to a single dataset, but not on how to reason or talk about multiple deidentifying processess, their differences, their characteristics.

For whom?

People developing or maintaining image deidentification software. Either full pipelines or separate parts.

What is it?

An information model first and foremost. Concept definitions with clear descriptions of their relations. To clearly express these, a structured language is required. Python has been chosen for this, but it should be possible to express MIDOM concepts in any structured language.

What is it not?

  • No image processing. Anything that does any actual image processing. No loading of DICOM files anywhere.
  • Not married to python. MIDOM uses pydantic for clean, serializable object definitions, pydicom for clean dicom file access and dicomcriterion to encode boolean expressions for DICOM datasets. Beyond that I will try to keep the dependencies to a minimum. This is the ambition. Time will tell whether this is realistic.

For docs editors

Render html docs

Go to (in docs/build): make docs_html

Fancy auto-updating

Auto-reload a html view as you change the docs source. Requirements:

  • Linux or WSL (this uses some subshell and piping tricks)
  • entr - Run a command when files change. Apt install this
  • livereload - Serve local files and auto-reload on change. Python lib found as dev dependency in midom.
  • Possibly firefox to make livereload work properly

Steps:

  • Start a shell in this midom base dir (where Makefile is)
  • run uv run make launch_source_listener
  • Open the livereload url printed in the script output. By default this is http://127.0.0.1:35729/

You might have to reload the page once to link livereload to the browser. After that, any save to a .rst or .puml file will trigger rebuild of docs/build, which will in turn trigger a page reload

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midom-0.5.0.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midom-0.5.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file midom-0.5.0.tar.gz.

File metadata

  • Download URL: midom-0.5.0.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for midom-0.5.0.tar.gz
Algorithm Hash digest
SHA256 792534c18f65e8178e653a5085363f9c0ed52ebd8480a97f3ab77793562e44ee
MD5 4f7a2cdf5afa6a1bb6797c9d8465dfed
BLAKE2b-256 e3eadf1c452388782a9228bde923a6c207be3c90b2b3c542a27e76b52633c733

See more details on using hashes here.

File details

Details for the file midom-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: midom-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for midom-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b80c05c4619e20936a10ebe9e6b6fd28ff4d010fc570c62eced4673fc0c0b61
MD5 dc9b5f8805eebf43b43b595145331c70
BLAKE2b-256 d2595fc8e7b88786f88527df2b84cb3ac0496420e14fb31bb012105629e23fb4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page