2016-04-20 2 views
0

J'utilise le module DCMTK dcmiod (à partir du dernier instantané), qui fournit une API pour lire/écrire des images à un niveau supérieur à dcmdata (comme indiqué par la réponse à this SO question). J'utilise maintenant DcmIODImage avec IODGeneralImageModule et IODImagePixelModule, mais ne trouve pas de fonctions concernant la mise à l'échelle des données de pixels.Comment utiliser IODEnhUSImageModule?

Dans le code source DCMTK, j'ai trouvé la classe IODEnhUSImageModule, qui fournit un accès par ex. DCM_RescaleSlope. (Comment) Est-il possible d'utiliser cette classe dans le contexte de dcmiod?

Répondre

1

Cette question a été répondue ici: http://forum.dcmtk.org/viewtopic.php?f=1&t=4389

les classes dcmiod ne prennent pas en charge des opérations de données de pixels. DcmIODCommon et DcmIODImage ne font qu'organiser les modules DICOM courants (sous la forme de classes à partir de dcmiod)

DcmIODCommon pour les IOD sans image, et DcmIODImage pour les IOD basés sur l'image. DcmIODImage prend en charge (parties de le) Image Pixel Module (via la classe IODImagePixelModule) mais que module d'implémentation manque de support pour l'élément de données Pixel mais donne uniquement accès aux informations "meta" comme les lignes, colonnes, bits alloués et ainsi de suite.

À titre d'exemple, comment vous pouvez utiliser DcmIODImage d'écrire votre propre, API IOD spécifique avec Pixel de données, vous pouvez regarder DcmSegmentation (dcmseg/libsrc/segdoc.cc) qui dérive de DcmIODImage et utilise son API pour définir, lire et écrire des attributs d'image commune IOD . Les données de pixel sont ajoutées par les appels addFrame() sur DcmSegmentation qui implémente tous (très simple dans ce cas) la logique de données de pixel elle-même.