Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.cpp Mon Mar 07 08:29:22 2016 +0100 +++ b/OrthancServer/FromDcmtkBridge.cpp Mon Mar 07 17:43:20 2016 +0100 @@ -1566,4 +1566,26 @@ throw OrthancException(ErrorCode_ParameterOutOfRange); } + + + DcmPixelSequence* FromDcmtkBridge::GetPixelSequence(DcmDataset& dataset) + { + DcmElement *element = NULL; + if (!dataset.findAndGetElement(ToDcmtkBridge::Convert(DICOM_TAG_PIXEL_DATA), element).good()) + { + throw OrthancException(ErrorCode_BadFileFormat); + } + + DcmPixelData& pixelData = dynamic_cast<DcmPixelData&>(*element); + DcmPixelSequence* pixelSequence = NULL; + if (!pixelData.getEncapsulatedRepresentation + (dataset.getOriginalXfer(), NULL, pixelSequence).good()) + { + return NULL; + } + else + { + return pixelSequence; + } + } }