# HG changeset patch # User Benjamin Golinvaux # Date 1563804098 -7200 # Node ID e594e76e0a81d6342e7e18b67e9ac2fe62a6ce62 # Parent 4639d0bf6390cce2b4e4cdd3fd181a8e5d5185cc# Parent 9ba1e1198e7321e2ed7938d470b2e526d42636fb Merge diff -r 9ba1e1198e73 -r e594e76e0a81 Framework/Loaders/OrthancMultiframeVolumeLoader.cpp --- a/Framework/Loaders/OrthancMultiframeVolumeLoader.cpp Mon Jul 22 14:29:23 2019 +0200 +++ b/Framework/Loaders/OrthancMultiframeVolumeLoader.cpp Mon Jul 22 16:01:38 2019 +0200 @@ -127,8 +127,7 @@ GetLoader().SetTransferSyntax(message.GetAnswer()); } }; - - + class OrthancMultiframeVolumeLoader::LoadUncompressedPixelData : public State { public: @@ -142,8 +141,7 @@ GetLoader().SetUncompressedPixelData(message.GetAnswer()); } }; - - + const std::string& OrthancMultiframeVolumeLoader::GetInstanceId() const { if (IsActive()) @@ -156,7 +154,6 @@ } } - void OrthancMultiframeVolumeLoader::ScheduleFrameDownloads() { if (transferSyntaxUid_.empty() || @@ -243,13 +240,18 @@ ORTHANC_FORCE_INLINE - static void CopyPixel(uint32_t& target, - const void* source) + static void CopyPixel(uint32_t& target, const void* source) { // TODO - check alignement? target = le32toh(*reinterpret_cast(source)); } - + + ORTHANC_FORCE_INLINE + static void CopyPixel(uint16_t& target, const void* source) + { + // TODO - check alignement? + target = le16toh(*reinterpret_cast(source)); + } template void OrthancMultiframeVolumeLoader::CopyPixelData(const std::string& pixelData) @@ -305,7 +307,9 @@ case Orthanc::PixelFormat_Grayscale32: CopyPixelData(pixelData); break; - + case Orthanc::PixelFormat_Grayscale16: + CopyPixelData(pixelData); + break; default: throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); }