28 #include <QStringList>
91 #if ISIS_LITTLE_ENDIAN
92 # define DBL_INIT(a,b) {(b), (a)}
94 # define DBL_INIT(a,b) {(a), (b)}
99 const DBL_UNION
IVALID_MIN8 = { DBL_INIT(0xFFEFFFFF, 0xFFFFFFFA) };
107 const DBL_UNION
INULL8 = { DBL_INIT(0xFFEFFFFF, 0xFFFFFFFB) };
166 const short NULL2 = ((short)(-32768));
175 const unsigned short NULLU2 = ((
unsigned short) 0);
184 const unsigned char NULL1 = ((
unsigned char) 0);
384 return result.setNum(d,
'g', 8);
398 QString s = str.toUpper();
401 legal.push_back(
"NULL");
402 legal.push_back(
"HRS");
403 legal.push_back(
"LRS");
404 legal.push_back(
"HIS");
405 legal.push_back(
"LIS");
407 for(
int i = 0; i < (int) legal.size(); i++) {
408 if(legal[i].mid(0, s.size()) == s) {
413 QString msg =
"Input [" + str +
"] is not a unique abbreviation. Use " + s +
"I or " + s +
"R.";
421 QString msg =
"Input [" + str +
"] does not appear to be a legal special pixel abbreviation or double value.";
425 if(s[0] ==
'N')
return Null;
426 if(s.mid(0, 2) ==
"HR")
return Hrs;
427 if(s.mid(0, 2) ==
"LR")
return Lrs;
428 if(s.mid(0, 2) ==
"HI")
return His;
const int IVALID_MAX4
Definition: SpecialPixel.h:162
bool IsLisPixel(const double d)
Returns if the input pixel is low instrument saturation.
Definition: SpecialPixel.h:297
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:109
const unsigned char VALID_MAX1
Definition: SpecialPixel.h:189
bool IsLrsPixel(const double d)
Returns if the input pixel is low representation saturation.
Definition: SpecialPixel.h:309
const unsigned char LOW_REPR_SAT1
Definition: SpecialPixel.h:185
const double ValidMinimum
The minimum valid double value for Isis pixels.
Definition: SpecialPixel.h:101
const float HIGH_REPR_SAT4
Definition: SpecialPixel.h:159
const unsigned short HIGH_INSTR_SATU2
Definition: SpecialPixel.h:178
const unsigned char HIGH_INSTR_SAT1
Definition: SpecialPixel.h:187
const double NULL8
Definition: SpecialPixel.h:108
bool IsLowPixel(const double d)
Returns if the input pixel is one of the low saturation types.
Definition: SpecialPixel.h:261
const DBL_UNION IHIGH_INSTR_SAT8
Definition: SpecialPixel.h:123
const unsigned short VALID_MAXU2
Definition: SpecialPixel.h:180
double StringToPixel(const QString &str)
Takes the name of the pixel type as a string and returns a double pixel value.
Definition: SpecialPixel.h:396
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition: SpecialPixel.h:225
const double VALID_MAX8
Definition: SpecialPixel.h:135
double toDouble(const QString &string)
Global function to convert from a string to a double.
Definition: IString.cpp:164
bool IsHisPixel(const double d)
Returns if the input pixel is high instrument saturation.
Definition: SpecialPixel.h:285
bool IsHrsPixel(const double d)
Returns if the input pixel is high representation saturation.
Definition: SpecialPixel.h:273
const unsigned short HIGH_REPR_SATU2
Definition: SpecialPixel.h:179
const unsigned short VALID_MINU2
Definition: SpecialPixel.h:174
const double Lis
Value for an Isis Low Instrument Saturation pixel.
Definition: SpecialPixel.h:119
const double LOW_REPR_SAT8
Definition: SpecialPixel.h:112
const float LOW_INSTR_SAT4
Definition: SpecialPixel.h:153
const int IHIGH_INSTR_SAT4
Definition: SpecialPixel.h:155
const float HIGH_INSTR_SAT4
Definition: SpecialPixel.h:156
const int IHIGH_REPR_SAT4
Definition: SpecialPixel.h:158
const DBL_UNION IVALID_MIN8
Manipulate special pixel values.
Definition: SpecialPixel.h:99
const short HIGH_REPR_SAT2
Definition: SpecialPixel.h:170
const int IVALID_MIN4
Definition: SpecialPixel.h:143
const double HIGH_INSTR_SAT8
Definition: SpecialPixel.h:124
const int ILOW_REPR_SAT4
Definition: SpecialPixel.h:149
const short LOW_INSTR_SAT2
Definition: SpecialPixel.h:168
const short HIGH_INSTR_SAT2
Definition: SpecialPixel.h:169
const DBL_UNION INULL8
Definition: SpecialPixel.h:107
const DBL_UNION ILOW_REPR_SAT8
Definition: SpecialPixel.h:111
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:38
const short VALID_MIN2
Definition: SpecialPixel.h:165
double TestPixel(const float t)
Converts float pixels to double pixels with special pixel translations.
Definition: SpecialPixel.h:321
const double HIGH_REPR_SAT8
Definition: SpecialPixel.h:130
const unsigned short LOW_INSTR_SATU2
Definition: SpecialPixel.h:177
A type of error that could only have occurred due to a mistake on the user's part (e...
Definition: IException.h:134
const float VALID_MIN4
Definition: SpecialPixel.h:144
const float VALID_MAX4
Definition: SpecialPixel.h:161
const short VALID_MAX2
Definition: SpecialPixel.h:171
const int INULL4
Definition: SpecialPixel.h:146
const unsigned short LOW_REPR_SATU2
Definition: SpecialPixel.h:176
const DBL_UNION ILOW_INSTR_SAT8
Definition: SpecialPixel.h:117
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:199
const unsigned char VALID_MIN1
Definition: SpecialPixel.h:183
const double VALID_MIN8
Definition: SpecialPixel.h:100
const float LOW_REPR_SAT4
Definition: SpecialPixel.h:150
const unsigned char HIGH_REPR_SAT1
Definition: SpecialPixel.h:188
const float NULL4
Definition: SpecialPixel.h:147
const double LOW_INSTR_SAT8
Definition: SpecialPixel.h:118
const double ValidMaximum
The maximum valid double value for Isis pixels.
Definition: SpecialPixel.h:136
const short LOW_REPR_SAT2
Definition: SpecialPixel.h:167
const unsigned short NULLU2
Definition: SpecialPixel.h:175
bool IsHighPixel(const double d)
Returns if the input pixel is one of the high saturation types.
Definition: SpecialPixel.h:249
QString PixelToString(double d)
Takes a double pixel value and returns the name of the pixel type as a string.
Definition: SpecialPixel.h:373
Isis exception class.
Definition: IException.h:99
bool IsNullPixel(const double d)
Returns if the input pixel is null.
Definition: SpecialPixel.h:237
const double Lrs
Value for an Isis Low Representation Saturation pixel.
Definition: SpecialPixel.h:113
const DBL_UNION IHIGH_REPR_SAT8
Definition: SpecialPixel.h:129
const short NULL2
Definition: SpecialPixel.h:166
const double His
Value for an Isis High Instrument Saturation pixel.
Definition: SpecialPixel.h:125
const unsigned char LOW_INSTR_SAT1
Definition: SpecialPixel.h:186
const int ILOW_INSTR_SAT4
Definition: SpecialPixel.h:152
const unsigned char NULL1
Definition: SpecialPixel.h:184
const double Hrs
Value for an Isis High Representation Saturation pixel.
Definition: SpecialPixel.h:131