comparison OrthancFramework/Sources/DicomParsing/Internals/DicomImageDecoder.cpp @ 4136:2724977419fb

Fix DICOM SCP filters if some query tag has more than 256 characters
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 06 Aug 2020 15:55:03 +0200
parents bf7b9edf6b81
children 6774605d4341
comparison
equal deleted inserted replaced
4135:baf8e21e91cb 4136:2724977419fb
248 slowAccessor_.reset(NULL); 248 slowAccessor_.reset(NULL);
249 249
250 // See also: http://support.dcmtk.org/wiki/dcmtk/howto/accessing-compressed-data 250 // See also: http://support.dcmtk.org/wiki/dcmtk/howto/accessing-compressed-data
251 251
252 DicomMap m; 252 DicomMap m;
253 FromDcmtkBridge::ExtractDicomSummary(m, dataset); 253 FromDcmtkBridge::ExtractDicomSummary(m, dataset, 0 /* don't truncate tags */);
254 254
255 /** 255 /**
256 * Create an accessor to the raw values of the DICOM image. 256 * Create an accessor to the raw values of the DICOM image.
257 **/ 257 **/
258 258
320 320
321 ImageAccessor* DicomImageDecoder::CreateImage(DcmDataset& dataset, 321 ImageAccessor* DicomImageDecoder::CreateImage(DcmDataset& dataset,
322 bool ignorePhotometricInterpretation) 322 bool ignorePhotometricInterpretation)
323 { 323 {
324 DicomMap m; 324 DicomMap m;
325 FromDcmtkBridge::ExtractDicomSummary(m, dataset); 325 FromDcmtkBridge::ExtractDicomSummary(m, dataset, 0 /* don't truncate tags */);
326 326
327 DicomImageInformation info(m); 327 DicomImageInformation info(m);
328 PixelFormat format; 328 PixelFormat format;
329 329
330 if (!info.ExtractPixelFormat(format, ignorePhotometricInterpretation)) 330 if (!info.ExtractPixelFormat(format, ignorePhotometricInterpretation))
600 { 600 {
601 throw OrthancException(ErrorCode_BadFileFormat); 601 throw OrthancException(ErrorCode_BadFileFormat);
602 } 602 }
603 603
604 DicomMap m; 604 DicomMap m;
605 FromDcmtkBridge::ExtractDicomSummary(m, dataset); 605 FromDcmtkBridge::ExtractDicomSummary(m, dataset, 0 /* don't truncate tags */);
606 DicomImageInformation info(m); 606 DicomImageInformation info(m);
607 607
608 std::unique_ptr<ImageAccessor> target(CreateImage(dataset, true)); 608 std::unique_ptr<ImageAccessor> target(CreateImage(dataset, true));
609 609
610 Uint32 startFragment = 0; // Default 610 Uint32 startFragment = 0; // Default