Skip to content

Commit a3a54b3

Browse files
committed
Add HTJ2K DICOM support and upgrade to pydicom 3.0
Key Changes: - Upgrade to pydicom 3.0.0 for HTJ2K support - Replace pydicom-seg with highdicom (pydicom-seg unmaintained) - Add NvDicomReader for GPU-accelerated DICOM decoding with nvidia-nvimgcodec NvDicomReader Features: - HTJ2K transfer syntax support (1.2.840.10008.1.2.4.201/202/203) - Batch decoding optimization for HTJ2K series - Proper spatial slice ordering and affine matrix calculation - Configurable layouts (NumPy D,H,W or ITK W,H,D) - Fallback to pydicom/SimpleITK when nvimgcodec unavailable DICOM SEG Improvements: - Migrate to highdicom for DICOM SEG creation - Memory-efficient processing with stop_before_pixels - Support up to 65,535 segments (uint16) - Preserve ITK/dcmqi fallback path Optional Dependencies: - nvidia-nvimgcodec and dcmqi are now optional - Runtime checks with clear installation instructions Testing: - Comprehensive NvDicomReader tests (HTJ2K decoding, consistency, metadata) - DICOM ↔ NIfTI conversion tests for original and HTJ2K files - Automatic HTJ2K test data generation Signed-off-by: Joaquin Anton Guirao <janton@nvidia.com>
1 parent 068fc81 commit a3a54b3

26 files changed

+2573
-137
lines changed

monailabel/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919

2020
def is_package_installed(name):
21-
return name in (x.metadata.get("Name") for x in distributions())
21+
return name in (x.metadata.get("Name") for x in distributions() if x.metadata is not None)
2222

2323

2424
class Settings(BaseSettings):

0 commit comments

Comments
 (0)