Mercurial > hg > orthanc
diff Core/Enumerations.cpp @ 948:e57e08ed510f dicom-rt
integration mainline -> dicom-rt
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 25 Jun 2014 13:57:05 +0200 |
parents | a811bdf8b8eb |
children | e56c3ed8d738 |
line wrap: on
line diff
--- a/Core/Enumerations.cpp Wed Apr 16 16:15:58 2014 +0200 +++ b/Core/Enumerations.cpp Wed Jun 25 13:57:05 2014 +0200 @@ -30,6 +30,7 @@ **/ +#include "PrecompiledHeaders.h" #include "Enumerations.h" #include "OrthancException.h" @@ -247,6 +248,19 @@ } + const char* EnumerationToString(ImageFormat format) + { + switch (format) + { + case ImageFormat_Png: + return "Png"; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + } + + ResourceType StringToResourceType(const char* type) { std::string s(type); @@ -269,9 +283,44 @@ { return ResourceType_Instance; } - else + + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + + + ImageFormat StringToImageFormat(const char* format) + { + std::string s(format); + Toolbox::ToUpperCase(s); + + if (s == "PNG") { - throw OrthancException(ErrorCode_ParameterOutOfRange); + return ImageFormat_Png; + } + + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + + + unsigned int GetBytesPerPixel(PixelFormat format) + { + switch (format) + { + case PixelFormat_Grayscale8: + return 1; + + case PixelFormat_Grayscale16: + case PixelFormat_SignedGrayscale16: + return 2; + + case PixelFormat_RGB24: + return 3; + + case PixelFormat_RGBA32: + return 4; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); } } }