78# define DBL_INIT(a,b) {(b), (a)}
80# define DBL_INIT(a,b) {(a), (b)}
85 const DBL_UNION
IVALID_MIN8 = { DBL_INIT(0xFFEFFFFF, 0xFFFFFFFA) };
93 const DBL_UNION
INULL8 = { DBL_INIT(0xFFEFFFFF, 0xFFFFFFFB) };
154 const short NULL2 = ((short)(-32768));
163 const unsigned short NULLU2 = ((
unsigned short) 0);
181 const unsigned int NULLUI4 = ((
unsigned int) 0);
199 const unsigned char NULL1 = ((
unsigned char) 0);
399 return result.setNum(d,
'g', precision);
413 QString s = str.toUpper();
416 legal.push_back(
"NULL");
417 legal.push_back(
"HRS");
418 legal.push_back(
"LRS");
419 legal.push_back(
"HIS");
420 legal.push_back(
"LIS");
422 for(
int i = 0; i < (int) legal.size(); i++) {
423 if(legal[i].mid(0, s.size()) == s) {
428 QString msg =
"Input [" + str +
"] is not a unique abbreviation. Use " + s +
"I or " + s +
"R.";
436 QString msg =
"Input [" + str +
"] does not appear to be a legal special pixel abbreviation or double value.";
440 if(s[0] ==
'N')
return Null;
441 if(s.mid(0, 2) ==
"HR")
return Hrs;
442 if(s.mid(0, 2) ==
"LR")
return Lrs;
443 if(s.mid(0, 2) ==
"HI")
return His;
#define _FILEINFO_
Macro for the filename and line number.
Definition IException.h:24
Isis exception class.
Definition IException.h:91
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition IException.h:126
const DBL_UNION IVALID_MIN8
Manipulate special pixel values.
Definition SpecialPixel.h:85
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
const int IHIGH_REPR_SAT4
Definition SpecialPixel.h:145
const double His
Value for an Isis High Instrument Saturation pixel.
Definition SpecialPixel.h:111
double StringToPixel(const QString &str)
Takes the name of the pixel type as a string and returns a double pixel value.
Definition SpecialPixel.h:411
const unsigned short NULLU2
Definition SpecialPixel.h:163
const unsigned int LOW_REPR_SATUI4
Definition SpecialPixel.h:182
const double Hrs
Value for an Isis High Representation Saturation pixel.
Definition SpecialPixel.h:117
const unsigned short VALID_MAXU2
Definition SpecialPixel.h:168
const char HIGH_REPR_SATS1
Definition SpecialPixel.h:194
const int IVALID_MAX4
Definition SpecialPixel.h:150
const char LOW_INSTR_SATS1
Definition SpecialPixel.h:192
bool IsLrsPixel(const double d)
Returns if the input pixel is low representation saturation.
Definition SpecialPixel.h:324
const double ValidMaximum
The maximum valid double value for Isis pixels.
Definition SpecialPixel.h:122
const DBL_UNION IHIGH_REPR_SAT8
Definition SpecialPixel.h:115
const char VALID_MINS1
Definition SpecialPixel.h:189
const int HIGH_REPR_SATI4
Definition SpecialPixel.h:176
const short VALID_MIN2
Definition SpecialPixel.h:153
const DBL_UNION ILOW_INSTR_SAT8
Definition SpecialPixel.h:103
const double HIGH_REPR_SAT8
Definition SpecialPixel.h:116
const unsigned short LOW_REPR_SATU2
Definition SpecialPixel.h:164
const short VALID_MAX2
Definition SpecialPixel.h:159
const unsigned char HIGH_REPR_SAT1
Definition SpecialPixel.h:203
const int INULL4
Definition SpecialPixel.h:133
const float LOW_REPR_SAT4
Definition SpecialPixel.h:137
const int NULLI4
Definition SpecialPixel.h:172
bool IsNullPixel(const double d)
Returns if the input pixel is null.
Definition SpecialPixel.h:252
bool IsHrsPixel(const double d)
Returns if the input pixel is high representation saturation.
Definition SpecialPixel.h:288
const double VALID_MAX8
Definition SpecialPixel.h:121
const unsigned int LOW_INSTR_SATUI4
Definition SpecialPixel.h:183
const unsigned short HIGH_REPR_SATU2
Definition SpecialPixel.h:167
const short HIGH_INSTR_SAT2
Definition SpecialPixel.h:157
const char HIGH_INSTR_SATS1
Definition SpecialPixel.h:193
const int LOW_INSTR_SATI4
Definition SpecialPixel.h:174
const char NULLS1
Definition SpecialPixel.h:190
const unsigned short HIGH_INSTR_SATU2
Definition SpecialPixel.h:166
const char VALID_MAXS1
Definition SpecialPixel.h:195
const float HIGH_REPR_SAT4
Definition SpecialPixel.h:146
const short LOW_REPR_SAT2
Definition SpecialPixel.h:155
const DBL_UNION IHIGH_INSTR_SAT8
Definition SpecialPixel.h:109
const int ILOW_INSTR_SAT4
Definition SpecialPixel.h:139
const short NULL2
Definition SpecialPixel.h:154
const float NULL4
Definition SpecialPixel.h:134
const unsigned char LOW_REPR_SAT1
Definition SpecialPixel.h:200
const unsigned char LOW_INSTR_SAT1
Definition SpecialPixel.h:201
const unsigned char VALID_MAX1
Definition SpecialPixel.h:204
const int IHIGH_INSTR_SAT4
Definition SpecialPixel.h:142
const float HIGH_INSTR_SAT4
Definition SpecialPixel.h:143
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition SpecialPixel.h:240
const unsigned int HIGH_REPR_SATUI4
Definition SpecialPixel.h:185
const int IVALID_MIN4
Definition SpecialPixel.h:129
const double Null
Value for an Isis Null pixel.
Definition SpecialPixel.h:95
const int VALID_MINI4
Definition SpecialPixel.h:171
const unsigned short LOW_INSTR_SATU2
Definition SpecialPixel.h:165
const float VALID_MAX4
Definition SpecialPixel.h:149
bool IsHisPixel(const double d)
Returns if the input pixel is high instrument saturation.
Definition SpecialPixel.h:300
const double ValidMinimum
The minimum valid double value for Isis pixels.
Definition SpecialPixel.h:87
double TestPixel(const float t)
Converts float pixels to double pixels with special pixel translations.
Definition SpecialPixel.h:336
const double Lrs
Value for an Isis Low Representation Saturation pixel.
Definition SpecialPixel.h:99
const int VALID_MAXI4
Definition SpecialPixel.h:177
const double Lis
Value for an Isis Low Instrument Saturation pixel.
Definition SpecialPixel.h:105
const short LOW_INSTR_SAT2
Definition SpecialPixel.h:156
const unsigned char NULL1
Definition SpecialPixel.h:199
const int ILOW_REPR_SAT4
Definition SpecialPixel.h:136
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition SpecialPixel.h:214
const double LOW_INSTR_SAT8
Definition SpecialPixel.h:104
const unsigned char VALID_MIN1
Definition SpecialPixel.h:198
const unsigned int NULLUI4
Definition SpecialPixel.h:181
const int HIGH_INSTR_SATI4
Definition SpecialPixel.h:175
const short HIGH_REPR_SAT2
Definition SpecialPixel.h:158
const double HIGH_INSTR_SAT8
Definition SpecialPixel.h:110
const double NULL8
Definition SpecialPixel.h:94
const double LOW_REPR_SAT8
Definition SpecialPixel.h:98
const char LOW_REPR_SATS1
Definition SpecialPixel.h:191
const unsigned int VALID_MINUI4
Definition SpecialPixel.h:180
QString PixelToString(double d, double precision=8)
Takes a double pixel value and returns the name of the pixel type as a string.
Definition SpecialPixel.h:388
bool IsHighPixel(const double d)
Returns if the input pixel is one of the high saturation types.
Definition SpecialPixel.h:264
double toDouble(const QString &string)
Global function to convert from a string to a double.
Definition IString.cpp:149
const int LOW_REPR_SATI4
Definition SpecialPixel.h:173
bool IsLisPixel(const double d)
Returns if the input pixel is low instrument saturation.
Definition SpecialPixel.h:312
const unsigned int HIGH_INSTR_SATUI4
Definition SpecialPixel.h:184
const DBL_UNION INULL8
Definition SpecialPixel.h:93
const unsigned short VALID_MINU2
Definition SpecialPixel.h:162
const DBL_UNION ILOW_REPR_SAT8
Definition SpecialPixel.h:97
const float LOW_INSTR_SAT4
Definition SpecialPixel.h:140
bool IsLowPixel(const double d)
Returns if the input pixel is one of the low saturation types.
Definition SpecialPixel.h:276
const unsigned int VALID_MAXUI4
Definition SpecialPixel.h:186
const double VALID_MIN8
Definition SpecialPixel.h:86
const float VALID_MIN4
Definition SpecialPixel.h:130
const unsigned char HIGH_INSTR_SAT1
Definition SpecialPixel.h:202