Mercurial > hg > orthanc
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 } |