Skip to content

Commit eb329a0

Browse files
Add nvimgcodec GPU accelerated decoder to Pydicom for decoding compressed pixel data (#570)
* Add custom pydicom decoder using nvimgcodec Signed-off-by: M Q <mingmelvinq@nvidia.com> * Module name change Signed-off-by: M Q <mingmelvinq@nvidia.com> * fix complaints Signed-off-by: M Q <mingmelvinq@nvidia.com> * Correct module name Signed-off-by: M Q <mingmelvinq@nvidia.com> * Spacing change Signed-off-by: M Q <mingmelvinq@nvidia.com> * comments change Signed-off-by: M Q <mingmelvinq@nvidia.com> * Fix linting complaints Signed-off-by: M Q <mingmelvinq@nvidia.com> * Fix Copilot nits Signed-off-by: M Q <mingmelvinq@nvidia.com> * More improvements Signed-off-by: M Q <mingmelvinq@nvidia.com> * version parser Signed-off-by: M Q <mingmelvinq@nvidia.com> * Reorg the code Signed-off-by: M Q <mingmelvinq@nvidia.com> * Add more logging Signed-off-by: M Q <mingmelvinq@nvidia.com> * Refine register and unregister functions Signed-off-by: M Q <mingmelvinq@nvidia.com> * upate decoder Signed-off-by: M Q <mingmelvinq@nvidia.com> * Add decoder instance caching as it gets used for every frame Signed-off-by: M Q <mingmelvinq@nvidia.com> * Added unit tests and updated dependencies for compressed DICOM support Signed-off-by: M Q <mingmelvinq@nvidia.com> * Fix complaints on unit test Signed-off-by: M Q <mingmelvinq@nvidia.com> * Check for GDCM but it should have been taken care of by the reqs Signed-off-by: M Q <mingmelvinq@nvidia.com> * Catch exception on checking cuda device on Github build machine Signed-off-by: M Q <mingmelvinq@nvidia.com> * Varaible name changes Signed-off-by: M Q <mingmelvinq@nvidia.com> * Fix nvimgcodec decoder (#571) * Fix handling of JPEG color space * Added JPEG2000 precision support * Updates PhotometricInterpretation to RGB when color space conversion is applied Passes all JPEG, JPEG2000 and HTJ2K tests Signed-off-by: Joaquin Anton Guirao <janton@nvidia.com> Signed-off-by: M Q <mingmelvinq@nvidia.com> * Updated the unit test code and the decoder itself Signed-off-by: M Q <mingmelvinq@nvidia.com> * Added note on using nvimgcodec and enhancing perf test to support user supplied dicom files Signed-off-by: M Q <mingmelvinq@nvidia.com> * Update due to depcreation of dependency Signed-off-by: M Q <mingmelvinq@nvidia.com> * Fix complaints Signed-off-by: M Q <mingmelvinq@nvidia.com> * Proactively removed the use deprecated pydicom class properties Signed-off-by: M Q <mingmelvinq@nvidia.com> --------- Signed-off-by: M Q <mingmelvinq@nvidia.com> Signed-off-by: Joaquin Anton Guirao <janton@nvidia.com> Co-authored-by: Joaquin Anton <j.anton.guirao@gmail.com>
1 parent 0e36819 commit eb329a0

9 files changed

+872
-68
lines changed

monai/deploy/operators/__init__.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
# from holoscan.operators import *
3838
from holoscan.operators import PingRxOp, PingTxOp, VideoStreamRecorderOp, VideoStreamReplayerOp
3939

40+
from . import decoder_nvimgcodec
4041
from .clara_viz_operator import ClaraVizOperator
4142
from .dicom_data_loader_operator import DICOMDataLoaderOperator
4243
from .dicom_encapsulated_pdf_writer_operator import DICOMEncapsulatedPDFWriterOperator
@@ -52,3 +53,29 @@
5253
from .png_converter_operator import PNGConverterOperator
5354
from .publisher_operator import PublisherOperator
5455
from .stl_conversion_operator import STLConversionOperator, STLConverter
56+
57+
__all__ = [
58+
"decoder_nvimgcodec",
59+
"BundleConfigNames",
60+
"ClaraVizOperator",
61+
"DICOMDataLoaderOperator",
62+
"DICOMEncapsulatedPDFWriterOperator",
63+
"DICOMSegmentationWriterOperator",
64+
"DICOMSeriesSelectorOperator",
65+
"DICOMSeriesToVolumeOperator",
66+
"DICOMTextSRWriterOperator",
67+
"EquipmentInfo",
68+
"InferenceOperator",
69+
"IOMapping",
70+
"ModelInfo",
71+
"MonaiBundleInferenceOperator",
72+
"MonaiSegInferenceOperator",
73+
"NiftiDataLoader",
74+
"PNGConverterOperator",
75+
"PublisherOperator",
76+
"random_with_n_digits",
77+
"save_dcm_file",
78+
"write_common_modules",
79+
"STLConversionOperator",
80+
"STLConverter",
81+
]

0 commit comments

Comments
 (0)