Skip to main content

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

Release files for midom 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for midom 0.5.1
File Size Uploaded
midom-0.5.1.tar.gz 34.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for midom 0.5.1
File Interpreter ABI Platform
midom-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 64.1 kB

Release files / midom-0.5.1.tar.gz

Download URL midom-0.5.1.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0603ee2b4949ba22dcd6885e13c7e585c85fa2081070ecbadd6cc924c91f48b0
BLAKE2b-256 checksum
How to use checksums
a00fc8e994956ee003346d4cc80f639f5c61daeb97f6b61902d617c9050b0c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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}

Release files / midom-0.5.1-py3-none-any.whl

Download URL midom-0.5.1-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8d629a951d94d277d7253c66fe632742215d46ab3850c697ecc9f1d27f9b691
BLAKE2b-256 checksum
How to use checksums
e337f9dd592021218c18e53a818c41a25c84f530aaaa9e0c68c79fbb1352befe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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}

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page