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 {