Mercurial > hg > orthanc-stone
diff Framework/Toolbox/ImageToolbox.cpp @ 1484:121d01aa328e
SeriesThumbnailsLoader working on raw dicom files
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 22 Jun 2020 17:46:40 +0200 |
parents | 30deba7bc8e2 |
children |
line wrap: on
line diff
--- a/Framework/Toolbox/ImageToolbox.cpp Sat Jun 20 11:16:55 2020 +0200 +++ b/Framework/Toolbox/ImageToolbox.cpp Mon Jun 22 17:46:40 2020 +0200 @@ -18,6 +18,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. **/ +#include "../OrthancStone.h" #include "ImageToolbox.h" #include "../StoneException.h" @@ -33,6 +34,19 @@ #include <vector> +#if !defined(ORTHANC_ENABLE_DCMTK) +# error ORTHANC_ENABLE_DCMTK is not defined +#endif + +#if !defined(ORTHANC_ENABLE_DCMTK_JPEG) +# error ORTHANC_ENABLE_DCMTK_JPEG is not defined +#endif + +#if !defined(ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS) +# error ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS is not defined +#endif + + namespace OrthancStone { namespace @@ -289,4 +303,35 @@ ss << "total pix. count: " << pixCount << "\n"; s = ss.str(); } + + + bool ImageToolbox::IsDecodingSupported(Orthanc::DicomTransferSyntax& transferSyntax) + { + switch (transferSyntax) + { + case Orthanc::DicomTransferSyntax_LittleEndianImplicit: + case Orthanc::DicomTransferSyntax_LittleEndianExplicit: + case Orthanc::DicomTransferSyntax_DeflatedLittleEndianExplicit: + case Orthanc::DicomTransferSyntax_BigEndianExplicit: + case Orthanc::DicomTransferSyntax_RLELossless: + return true; + +#if (ORTHANC_ENABLE_DCMTK == 1) && (ORTHANC_ENABLE_DCMTK_JPEG == 1) + case Orthanc::DicomTransferSyntax_JPEGProcess1: + case Orthanc::DicomTransferSyntax_JPEGProcess2_4: + case Orthanc::DicomTransferSyntax_JPEGProcess14: + case Orthanc::DicomTransferSyntax_JPEGProcess14SV1: + return true; +#endif + +#if (ORTHANC_ENABLE_DCMTK == 1) && (ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS == 1) + case Orthanc::DicomTransferSyntax_JPEGLSLossless: + case Orthanc::DicomTransferSyntax_JPEGLSLossy: + return true; +#endif + + default: + return false; + } + } }