comparison OrthancServer/FromDcmtkBridge.cpp @ 1924:6c73df12ca51

New URI: "/instances/.../frames/.../raw" to access the raw frames (bypass image decoding)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 07 Mar 2016 17:43:20 +0100
parents b1291df2f780
children b60f27664b8f
comparison
equal deleted inserted replaced
1923:6ac7f31fc543 1924:6c73df12ca51
1564 if (s == "UT") 1564 if (s == "UT")
1565 return EVR_UT; 1565 return EVR_UT;
1566 1566
1567 throw OrthancException(ErrorCode_ParameterOutOfRange); 1567 throw OrthancException(ErrorCode_ParameterOutOfRange);
1568 } 1568 }
1569
1570
1571 DcmPixelSequence* FromDcmtkBridge::GetPixelSequence(DcmDataset& dataset)
1572 {
1573 DcmElement *element = NULL;
1574 if (!dataset.findAndGetElement(ToDcmtkBridge::Convert(DICOM_TAG_PIXEL_DATA), element).good())
1575 {
1576 throw OrthancException(ErrorCode_BadFileFormat);
1577 }
1578
1579 DcmPixelData& pixelData = dynamic_cast<DcmPixelData&>(*element);
1580 DcmPixelSequence* pixelSequence = NULL;
1581 if (!pixelData.getEncapsulatedRepresentation
1582 (dataset.getOriginalXfer(), NULL, pixelSequence).good())
1583 {
1584 return NULL;
1585 }
1586 else
1587 {
1588 return pixelSequence;
1589 }
1590 }
1569 } 1591 }