USGS

Isis 3.0 Developer's Reference (API)

Home

PixelType.h

Go to the documentation of this file.
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