IODEnhUSImageModule 应该如何使用?

How should IODEnhUSImageModule be utilized?

我正在使用 DCMTK dcmiod 模块(来自最新快照),它为 reading/writing 图像提供 API 比 dcmdata 更高级别的图像(如根据 的答案建议)。我现在将 DcmIODImageIODGeneralImageModuleIODImagePixelModule 一起使用,但找不到有关像素数据缩放的函数。

在 DCMTK 源代码中,我找到了 IODEnhUSImageModule class,它提供了对例如DCM_RescaleSlope。 (如何)是否可以在 dcmiod 的上下文中使用此 class?

这里回答了这个问题:http://forum.dcmtk.org/viewtopic.php?f=1&t=4389

the classes in dcmiod do not have support for pixel data operations.

DcmIODCommon and DcmIODImage are just arranging common DICOM modules (in the form of classes from dcmiod). DcmIODCommon for non-image IODs, and DcmIODImage for image-based IODs. DcmIODImage supports (parts of the) Image Pixel Module (through class IODImagePixelModule) but that module implementation misses support for the Pixel Data element but only provides access to "meta" info like Rows, Columns, Bits Allocated and so on.

As an example, how you can use DcmIODImage to write your own, IOD-specific API with support for Pixel Data, you can look at DcmSegmentation (dcmseg/libsrc/segdoc.cc) which derives from DcmIODImage and uses its API to set, read and write common image IOD attributes. Pixel data is added by addFrame() calls on DcmSegmentation which implements all (very simple in that case) pixel data logic itself.