Mercurial > hg > orthanc
comparison Core/Enumerations.cpp @ 2382:7284093111b0
big reorganization to cleanly separate framework vs. server
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 29 Aug 2017 21:17:35 +0200 |
parents | b8969010b534 |
children | a051aba0037c |
comparison
equal
deleted
inserted
replaced
2381:b8969010b534 | 2382:7284093111b0 |
---|---|
756 throw OrthancException(ErrorCode_ParameterOutOfRange); | 756 throw OrthancException(ErrorCode_ParameterOutOfRange); |
757 } | 757 } |
758 } | 758 } |
759 | 759 |
760 | 760 |
761 const char* EnumerationToString(ModalityManufacturer manufacturer) | |
762 { | |
763 switch (manufacturer) | |
764 { | |
765 case ModalityManufacturer_Generic: | |
766 return "Generic"; | |
767 | |
768 case ModalityManufacturer_GenericNoWildcardInDates: | |
769 return "GenericNoWildcardInDates"; | |
770 | |
771 case ModalityManufacturer_GenericNoUniversalWildcard: | |
772 return "GenericNoUniversalWildcard"; | |
773 | |
774 case ModalityManufacturer_StoreScp: | |
775 return "StoreScp"; | |
776 | |
777 case ModalityManufacturer_ClearCanvas: | |
778 return "ClearCanvas"; | |
779 | |
780 case ModalityManufacturer_Dcm4Chee: | |
781 return "Dcm4Chee"; | |
782 | |
783 case ModalityManufacturer_Vitrea: | |
784 return "Vitrea"; | |
785 | |
786 default: | |
787 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
788 } | |
789 } | |
790 | |
791 | |
792 const char* EnumerationToString(DicomRequestType type) | |
793 { | |
794 switch (type) | |
795 { | |
796 case DicomRequestType_Echo: | |
797 return "Echo"; | |
798 break; | |
799 | |
800 case DicomRequestType_Find: | |
801 return "Find"; | |
802 break; | |
803 | |
804 case DicomRequestType_Get: | |
805 return "Get"; | |
806 break; | |
807 | |
808 case DicomRequestType_Move: | |
809 return "Move"; | |
810 break; | |
811 | |
812 case DicomRequestType_Store: | |
813 return "Store"; | |
814 break; | |
815 | |
816 default: | |
817 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
818 } | |
819 } | |
820 | |
821 | |
822 const char* EnumerationToString(TransferSyntax syntax) | |
823 { | |
824 switch (syntax) | |
825 { | |
826 case TransferSyntax_Deflated: | |
827 return "Deflated"; | |
828 | |
829 case TransferSyntax_Jpeg: | |
830 return "JPEG"; | |
831 | |
832 case TransferSyntax_Jpeg2000: | |
833 return "JPEG2000"; | |
834 | |
835 case TransferSyntax_JpegLossless: | |
836 return "JPEG Lossless"; | |
837 | |
838 case TransferSyntax_Jpip: | |
839 return "JPIP"; | |
840 | |
841 case TransferSyntax_Mpeg2: | |
842 return "MPEG2"; | |
843 | |
844 case TransferSyntax_Rle: | |
845 return "RLE"; | |
846 | |
847 default: | |
848 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
849 } | |
850 } | |
851 | |
852 | |
853 const char* EnumerationToString(DicomVersion version) | |
854 { | |
855 switch (version) | |
856 { | |
857 case DicomVersion_2008: | |
858 return "2008"; | |
859 break; | |
860 | |
861 case DicomVersion_2017c: | |
862 return "2017c"; | |
863 break; | |
864 | |
865 default: | |
866 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
867 } | |
868 } | |
869 | |
870 | |
761 Encoding StringToEncoding(const char* encoding) | 871 Encoding StringToEncoding(const char* encoding) |
762 { | 872 { |
763 std::string s(encoding); | 873 std::string s(encoding); |
764 Toolbox::ToUpperCase(s); | 874 Toolbox::ToUpperCase(s); |
765 | 875 |
1124 } | 1234 } |
1125 | 1235 |
1126 throw OrthancException(ErrorCode_ParameterOutOfRange); | 1236 throw OrthancException(ErrorCode_ParameterOutOfRange); |
1127 } | 1237 } |
1128 | 1238 |
1239 | |
1240 ModalityManufacturer StringToModalityManufacturer(const std::string& manufacturer) | |
1241 { | |
1242 ModalityManufacturer result; | |
1243 bool obsolete = false; | |
1244 | |
1245 if (manufacturer == "Generic") | |
1246 { | |
1247 return ModalityManufacturer_Generic; | |
1248 } | |
1249 else if (manufacturer == "GenericNoWildcardInDates") | |
1250 { | |
1251 return ModalityManufacturer_GenericNoWildcardInDates; | |
1252 } | |
1253 else if (manufacturer == "GenericNoUniversalWildcard") | |
1254 { | |
1255 return ModalityManufacturer_GenericNoUniversalWildcard; | |
1256 } | |
1257 else if (manufacturer == "ClearCanvas") | |
1258 { | |
1259 return ModalityManufacturer_ClearCanvas; | |
1260 } | |
1261 else if (manufacturer == "StoreScp") | |
1262 { | |
1263 return ModalityManufacturer_StoreScp; | |
1264 } | |
1265 else if (manufacturer == "Dcm4Chee") | |
1266 { | |
1267 return ModalityManufacturer_Dcm4Chee; | |
1268 } | |
1269 else if (manufacturer == "Vitrea") | |
1270 { | |
1271 return ModalityManufacturer_Vitrea; | |
1272 } | |
1273 else if (manufacturer == "AgfaImpax" || | |
1274 manufacturer == "SyngoVia") | |
1275 { | |
1276 result = ModalityManufacturer_GenericNoWildcardInDates; | |
1277 obsolete = true; | |
1278 } | |
1279 else if (manufacturer == "EFilm2" || | |
1280 manufacturer == "MedInria") | |
1281 { | |
1282 result = ModalityManufacturer_Generic; | |
1283 obsolete = true; | |
1284 } | |
1285 else | |
1286 { | |
1287 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
1288 } | |
1289 | |
1290 if (obsolete) | |
1291 { | |
1292 LOG(WARNING) << "The \"" << manufacturer << "\" manufacturer is obsolete since " | |
1293 << "Orthanc 1.3.0. To guarantee compatibility with future Orthanc " | |
1294 << "releases, you should replace it by \"" | |
1295 << EnumerationToString(result) | |
1296 << "\" in your configuration file."; | |
1297 } | |
1298 | |
1299 return result; | |
1300 } | |
1301 | |
1302 | |
1303 DicomVersion StringToDicomVersion(const std::string& version) | |
1304 { | |
1305 if (version == "2008") | |
1306 { | |
1307 return DicomVersion_2008; | |
1308 } | |
1309 else if (version == "2017c") | |
1310 { | |
1311 return DicomVersion_2017c; | |
1312 } | |
1313 else | |
1314 { | |
1315 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
1316 } | |
1317 } | |
1318 | |
1129 | 1319 |
1130 unsigned int GetBytesPerPixel(PixelFormat format) | 1320 unsigned int GetBytesPerPixel(PixelFormat format) |
1131 { | 1321 { |
1132 switch (format) | 1322 switch (format) |
1133 { | 1323 { |