In the beginning of my application, I register some decoders:
Code: Select all
DJDecoderRegistration::registerCodecs();
DcmRLEDecoderRegistration::registerCodecs();
&DcmCodecList::registeredCodecs = 0x065fc370 (example), and the list contains 7 elements
...
later in the program, I try to create a DicomImage with a RLE compressed Ultrasound Multiframe image:
Code: Select all
DicomImage image(m_pDataset, m_xfer, CIF_UsePartialAccessToPixelData, 0,10);
Code: Select all
DiDocument::convertPixelData()
DiDocument::convertPixelData() then calls
Code: Select all
OFCondition status = PixelData->getDecompressedColorModel(OFstatic_cast(DcmItem *, Object), PhotometricInterpretation);
&DcmCodecList::registeredCodecs = 0x05cc3ff8, and the list is empty. Therefore, image.getStatus() fails.
If I try the same without the CIF_UsePartialAccessToPixelData, it works.
May this be a bug in the TcmTK???
FYI: I use Visual Studio 6; if I compile the toolkit as shared library (DLL), the problem doesn't occur. I use DcmTk snapshot from 15.05.2012