comparison Core/DicomParsing/FromDcmtkBridge.cpp @ 3922:74eeadf5d51d transcoding

fix access to compressed frames after transcoding
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 12 May 2020 20:48:19 +0200
parents 210af28c4087
children 884b55ce01f6
comparison
equal deleted inserted replaced
3921:f6ccff28fbed 3922:74eeadf5d51d
1297 } 1297 }
1298 else 1298 else
1299 { 1299 {
1300 DicomTransferSyntax sourceSyntax; 1300 DicomTransferSyntax sourceSyntax;
1301 bool known = LookupOrthancTransferSyntax(sourceSyntax, dicom); 1301 bool known = LookupOrthancTransferSyntax(sourceSyntax, dicom);
1302 1302
1303 if (!dicom.getDataset()->chooseRepresentation(xfer, representation).good() || 1303 if (!dicom.chooseRepresentation(xfer, representation).good() ||
1304 !dicom.getDataset()->canWriteXfer(xfer) || 1304 !dicom.canWriteXfer(xfer) ||
1305 !dicom.validateMetaInfo(xfer, EWM_updateMeta).good()) 1305 !dicom.validateMetaInfo(xfer, EWM_updateMeta).good())
1306 { 1306 {
1307 return false; 1307 return false;
1308 } 1308 }
1309 else 1309 else
1778 { 1778 {
1779 throw OrthancException(ErrorCode_BadFileFormat); 1779 throw OrthancException(ErrorCode_BadFileFormat);
1780 } 1780 }
1781 1781
1782 DcmPixelData& pixelData = dynamic_cast<DcmPixelData&>(*element); 1782 DcmPixelData& pixelData = dynamic_cast<DcmPixelData&>(*element);
1783
1784 E_TransferSyntax repType;
1785 const DcmRepresentationParameter *repParam = NULL;
1786 pixelData.getCurrentRepresentationKey(repType, repParam);
1787
1783 DcmPixelSequence* pixelSequence = NULL; 1788 DcmPixelSequence* pixelSequence = NULL;
1784 if (!pixelData.getEncapsulatedRepresentation 1789 if (!pixelData.getEncapsulatedRepresentation(repType, repParam, pixelSequence).good())
1785 (dataset.getCurrentXfer(), NULL, pixelSequence).good())
1786 { 1790 {
1787 return NULL; 1791 return NULL;
1788 } 1792 }
1789 else 1793 else
1790 { 1794 {