Skip to main content
DVH Analytics screenshot

DVHA DICOM Editor

Simple DICOM tag editor built with wxPython and pydicom

  • Executables provided, which require no installation
  • Create templates for routine tag editing
  • Search for DICOM tags by keyword
  • Dynamically define new DICOM tag values based on:
    • File paths
    • Initial DICOM tag values
    • DICOM compliant UIDs
      • Lookup DICOM prefixes
      • Set entropy source for UID generation
      • Maintain cross-file UID links
    • Randomly generated numbers
PyPi Version LGTM Python Code Quality

Source-Code Installation

To install via pip:

pip install dvha-edit

If you've installed via pip or setup.py, launch from your terminal with:

dvhaedit

If you've cloned the project, but did not run the setup.py installer, launch DVHA DICOM Editor with:

python dvhaedit_app.py

Dynamic Value Setting

Users can dynamically define new DICOM tag values based on file path or initial DICOM tag values.

Available Functions

  • File path / Tag Value:
    • file[n]: the nth component of the file path
    • val: DICOM tag value
  • Enumeration:
    • fenum[n]: an iterator based on file[n]
    • venum: an iterator based on val
  • DICOM UID
    • fuid[n] and vuid: same as fenum/venum, except the enumeration value is replaced with a DICOM compliant UID
  • Random Number
    • frand[n] and vrand: same as DICOM UID functions except the value is a random integer

Examples

For a directory /some/file/path/ANON0001/ containing files file_1.dcm, file_2.dcm:

  • Directory:
    • NOTE: file extensions are removed
    • some_string_*file[-1]*
      • some_string_file_1
      • some_string_file_2
    • *file[-2]*_AnotherString
      • ANON0001_AnotherString
      • ANON0001_AnotherString
  • File Enumeration:
    • some_string_*fenum[-1]*
      • some_string_1
      • some_string_2
    • *fenum[-2]*_AnotherString
      • 1_AnotherString
      • 1_AnotherString
  • Value Enumeration:
    • NOTE: Assume these two files have the same StudyInstanceUID but different SOPInstanceUIDs
    • *file[-2]*_*venum* used with SOPInstanceUID tag
      • ANON0001_1
      • ANON0001_2
    • *file[-2]*_*venum* used with StudyInstanceUID tag
      • ANON0001_1
      • ANON0001_1

MultiValue Tags

Some DICOM tags point to multiple values (i.e., MultiValue pydicom class). As of DVHA DICOM Editor v0.6, a new DICOM tag value can be interpreted as a list if it begins with [, ends with ], and uses , (comma-space) as a separator (this is the same format as python's str representation of a list). Do not add quotes to make an item a string. All value typing is handled by pydicom.

Example

The DICOM tag ImageOrientationPatient (0020, 0037) is a list of 6 integers. If you want this orientation to be head first-supine (HFS), it's value should be set to [1, 0, 0, 0, 1, 0].

=========================== =======================
Orientation                 ImageOrientationPatient
=========================== =======================
Feet First Decubitus Left   [0, 1, 0, 1, 0, 0]
Feet First Decubitus Right  [0, -1, 0, -1, 0, 0]
Feet First Prone            [1, 0, 0, 0, -1, 0]
Feet First Supine           [-1, 0, 0, 0, 1, 0]
Head First Decubitus Left   [0, -1, 0, 1, 0, 0]
Head First Decubitus Right  [0, 1, 0, -1, 0, 0]
Head First Prone            [-1, 0, 0, 0, -1, 0]
Head First Supine           [1, 0, 0, 0, 1, 0]
=========================== =======================
https://arxiv.org/ftp/arxiv/papers/1406/1406.0014.pdf Table 1

Metadata

Release files for dvha-edit 0.7.post1

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

Source distribution (sdist)

Source distribution for dvha-edit 0.7.post1
File Size Uploaded
dvha-edit-0.7.post1.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for dvha-edit 0.7.post1
File Interpreter ABI Platform
dvha_edit-0.7.post1-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / dvha-edit-0.7.post1.tar.gz

Download URL dvha-edit-0.7.post1.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
866c9d39f3274c8185f85ef155b623c6d39d4511a75d684e7933848e9285907d
BLAKE2b-256 checksum
How to use checksums
7a55de2b2eb7524ef41e6c67ffce39d7e06787e1dc99ca20d7c561f85d30a810
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.0

Release files / dvha_edit-0.7.post1-py3-none-any.whl

Download URL dvha_edit-0.7.post1-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e8d62fb48f93b76939494e0a4265edcf71e5d8326eb009d06125671b008b2a69
BLAKE2b-256 checksum
How to use checksums
c65d1198bf8e271de5cc9cf473731e1d5318fb2fffaa597baa6b3cf8314ca719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.0
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