Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • sight sight
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 121
    • Issues 121
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 20
    • Merge requests 20
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Sight
  • sightsight
  • Merge requests
  • !828

enh(core): store correctly US enhanced volume DICOM attribute

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Didier WECKMANN requested to merge 986-store-correctly-us-enhanced-volume-dicom-attribute into dev Oct 26, 2022
  • Overview 30
  • Commits 1
  • Pipelines 91
  • Changes 25

Description

  • ImagePositionVolume, ImageOrientationVolume, FrameAcquisitionDateTime DICOM attribute are now stored into sequence element when using Enhenced US Volume, as before for CT/MR.
  • DICOM Attributes and SOP classes definitions are generated from official documentation using python code. This allows friendlier operations (no need to remember exact tag values, or SOP uids).
  • Unit tests have been updated to match changes and use generated DICOM tags, SOPClasses.

⚠ Generated file are huge ! they have been committed for convenience, but it is an open question to generate them at build time (it is fast !), or for time to time..

⚠ The drop in code covered by a unit test is due to the generated code, although there are generated a testd to partially cover this addition.

Python DICOM documentation parser / code generator

The parser libs/core/data/dicom/dicom_parser.py downloads and reads the DICOM documentation and the class generator libs/core/data/dicom/class_generator.py ...generates Sop.hpp/cpp and Attribute.hpp/cpp. You can launch the parser "standalone" like:

python dicom_parser.py --sop-list "1.2.840.10008.5.1.4.1.1.6.2" --verbose

It will download all needed DICOM XML parts and parse them. Then it will display the list of IODs, modules, attributes that belongs to SOP "Enhanced US Volume Storage".

It may serve to easily find which tags are present in which SOP, the module usage (mandatory, conditional, etc.), or the attributes type. For example, to list all SOPs that use the attribute "FrameAcquisitionDateTime", you can use:

python dicom_parser.py --mandatory-tags "(0018,9074)"

Just try it :)

Closes #986 (closed)

How to test it?

Launch unit tests...

Edited Jan 05, 2023 by Didier WECKMANN
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: 986-store-correctly-us-enhanced-volume-dicom-attribute