|
Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef PixelType_h 00002 #define PixelType_h 00003 00025 #include <QString> 00026 00027 namespace Isis { 00043 enum PixelType { 00044 None = 0, 00045 UnsignedByte, 00046 SignedByte, 00047 UnsignedWord, 00048 SignedWord, 00049 UnsignedInteger, 00050 SignedInteger, 00051 Real, 00052 Double 00053 }; 00054 00062 inline int SizeOf(Isis::PixelType pixelType) { 00063 if(pixelType == Isis::None) return 0; 00064 if(pixelType == Isis::UnsignedByte) return sizeof(unsigned char); 00065 if(pixelType == Isis::SignedByte) return sizeof(char); 00066 if(pixelType == Isis::UnsignedWord) return sizeof(unsigned short); 00067 if(pixelType == Isis::SignedWord) return sizeof(short); 00068 if(pixelType == Isis::UnsignedInteger) return sizeof(unsigned int); 00069 if(pixelType == Isis::SignedInteger) return sizeof(int); 00070 if(pixelType == Isis::Real) return sizeof(float); 00071 if(pixelType == Isis::Double) return sizeof(double); 00072 return -1; 00073 } 00074 00082 inline QString PixelTypeName(Isis::PixelType pixelType) { 00083 if(pixelType == Isis::None) return "None"; 00084 if(pixelType == Isis::UnsignedByte) return "UnsignedByte"; 00085 if(pixelType == Isis::SignedByte) return "SignedByte"; 00086 if(pixelType == Isis::UnsignedWord) return "UnsignedWord"; 00087 if(pixelType == Isis::SignedWord) return "SignedWord"; 00088 if(pixelType == Isis::UnsignedInteger) return "UnsignedInteger"; 00089 if(pixelType == Isis::SignedInteger) return "SignedInteger"; 00090 if(pixelType == Isis::Real) return "Real"; 00091 if(pixelType == Isis::Double) return "Double"; 00092 return "Error"; 00093 } 00094 00105 inline Isis::PixelType PixelTypeEnumeration(const QString &type) { 00106 QString temp = type.toUpper(); 00107 if(temp == "UNSIGNEDBYTE" || temp == "8BIT" || temp == "8-BIT") return Isis::UnsignedByte; 00108 if(temp == "SIGNEDBYTE") return Isis::SignedByte; 00109 if(temp == "UNSIGNEDWORD") return Isis::UnsignedWord; 00110 if(temp == "SIGNEDWORD") return Isis::SignedWord; 00111 if(temp == "UNSIGNEDINTEGER") return Isis::UnsignedInteger; 00112 if(temp == "SIGNEDINTEGER") return Isis::SignedInteger; 00113 if(temp == "REAL") return Isis::Real; 00114 if(temp == "DOUBLE") return Isis::Double; 00115 return Isis::None; 00116 } 00117 } 00118 00119 #endif 00120