Skip to content

Update dicom-validator to 0.9 - #675

Merged
p-j-smith merged 5 commits into
paul/665-pydicom-3from
paul/665-dicom-validator-0.9
Sep 17, 2026
Merged

p-j-smith merged 5 commits into
paul/665-pydicom-3from
paul/665-dicom-validator-0.9

Conversation

@p-j-smith

Copy link
Copy Markdown
Contributor

Description

Part of #665

  • update dicom-validator to 0.9
  • use the EditionReader.get_edition_path to download the dicom spec
  • update pixl_dcmd.dicom_helpers:
    • IODValidator.validate() now returns a ValidationResult class rather than a dictionary
    • IODValidator.validate() no longer raises a RuntimeError if DICOM cannot be validated (so essentially revert Allow CLI to retry processing until no new messages are exported #393 as dicom-validator never raises a RuntimeError now)
    • Use the new ValidationResultFormatter class to convert the TagError class into a human readable string
  • update pixl_dcmd tests for dicom-validator 0.9:
    • test_validate_original_survives_runtime_errortest_validate_original_reports_malformed_sequence: a malformed sequence tag is now reported as InvalidSequence error rather than raising a RuntimeError
    • add a new fixture and tests for datasets dicom-validator still can't validate, e.g. missing SOPClassUID

Type of change

Please delete options accordingly to the description.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Suggested Checklist

  • I have performed a self-review of my own code.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have passed on my local host device. (see further details at the CONTRIBUTING document)
  • Make sure your branch is up-to-date with main branch. See CONTRIBUTING for a general example to syncronise your branch with the main branch.
  • I have requested review to this PR.
  • I have addressed and marked as resolved all the review comments in my PR.
  • Finally, I have selected squash and merge

@p-j-smith
p-j-smith added this pull request to stack #672 September 17, 2026 08:42
@codecov

codecov Bot commented Sep 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.40%. Comparing base (8c4fc61) to head (d7dec18).

Additional details and impacted files
@@                  Coverage Diff                   @@
##           paul/665-pydicom-3     #675      +/-   ##
======================================================
+ Coverage               85.43%   88.40%   +2.97%     
======================================================
  Files                      77       81       +4     
  Lines                    3679     3966     +287     
======================================================
+ Hits                     3143     3506     +363     
+ Misses                    536      460      -76     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@p-j-smith
p-j-smith force-pushed the paul/665-dicom-validator-0.9 branch from a69cfad to d3050bd Compare September 17, 2026 09:00

@stefpiatek stefpiatek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 thanks!

@p-j-smith
p-j-smith force-pushed the paul/665-dicom-validator-0.9 branch from d3050bd to a853220 Compare September 17, 2026 14:17
…dition

get_edition_path will download the spec if needed
dicom_info_for_edition loads the spec from disk
IODValidator.validate() now returns a ValidationResult class rather than a dictionary
IODValidator.validate() no longer raises a RuntimeError if DICOM cannot be validated
Use the ValidationResultFormatter class to conver the TagError class into a human readable string
@p-j-smith
p-j-smith force-pushed the paul/665-dicom-validator-0.9 branch from a853220 to d7dec18 Compare September 17, 2026 14:31
@p-j-smith
p-j-smith merged commit 11f6d0d into main Sep 17, 2026
11 checks passed
@p-j-smith
p-j-smith deleted the paul/665-dicom-validator-0.9 branch September 17, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants