USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::Pixel Class Reference
[Utility]

Store and/or manipulate pixel values. More...

#include <Pixel.h>

Inherited by Isis::Spectel.

List of all members.

Public Member Functions

 Pixel ()
 Constructs an empty Pixel.
 Pixel (int sample, int line, int band, double DN)
 Constructs a Pixel given a line, sample, band, and DN.
 Pixel (const Pixel &pixel)
 Constructs a Pixel, given a Pixel.
virtual ~Pixel ()
 Default destructor.
Pixeloperator= (const Pixel &other)
 Copy assignment operator.
int line () const
 Returns the line coordinate of the Pixel.
int sample () const
 Returns the sample coordinate of the Pixel.
int band () const
 Returns the band coordinate of the Pixel.
double DN () const
 Returns the DN of the Pixel.
unsigned char To8Bit ()
 Converts internal pixel value to an unsigned char pixel with special pixel translations.
short int To16Bit ()
 Converts internal pixel value to a short int pixel with special pixel translations.
short unsigned int To16Ubit ()
 Converts internal pixel value to a short int pixel with special pixel translations.
float To32Bit ()
 Converts internal pixel value to float with special pixel translations.
double ToDouble ()
 Converts stored pixel value to a double.
float ToFloat ()
 Converts internal pixel value to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).
std::string ToString ()
 Returns the name of the pixel type as a string.
bool IsSpecial ()
 Returns true if the input pixel is special.
bool IsValid ()
 Returns true if the input pixel is valid.
bool IsNull ()
 Returns true if the input pixel is null.
bool IsHigh ()
 Returns true if the input pixel is one of the high saturation types.
bool IsLow ()
 Returns true if the input pixel is one of the low saturation types.
bool IsHrs ()
 Returns true if the input pixel is high representation saturation.
bool IsHis ()
 Returns true if the input pixel is high instrument saturation.
bool IsLis ()
 Returns true if the input pixel is low instrument saturation.
bool IsLrs ()
 Returns true if the input pixel is low representation saturation.

Static Public Member Functions

static unsigned char To8Bit (const double d)
 Converts double pixels to unsigned char pixels with special pixel translations.
static short int To16Bit (const double d)
 Converts double pixels to short int pixels with special pixel translations.
static short unsigned int To16UBit (const double d)
 Converts double pixels to short unsigned int pixels with special pixel translations.
static float To32Bit (const double d)
 Converts double pixels to float pixels with special pixel translations.
static double ToDouble (const unsigned char t)
 Converts unsigned char pixels to double pixels with special pixel translations.
static double ToDouble (const short int t)
 Converts short int pixels to double pixels with special pixel translations.
static double ToDouble (const short unsigned int t)
 Converts short unsigned int pixels to double pixels with special pixel translations.
static double ToDouble (const float t)
 Converts float pixels to double pixels with special pixel translations.
static float ToFloat (const unsigned char d)
 Converts unsigned char to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).
static float ToFloat (const short int d)
 Converts short int to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).
static float ToFloat (const short unsigned int d)
 Converts short unsigned int to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).
static float ToFloat (const double d)
 Converts double to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).
static std::string ToString (double d)
 Takes a double pixel value and returns the name of the pixel type as a string.
static bool IsSpecial (const double d)
 Returns true if the input pixel is special.
static bool IsSpecial (const float f)
 Returns true if the input pixel is special.
static bool IsValid (const double d)
 Returns true if the input pixel is valid.
static bool IsNull (const double d)
 Returns true if the input pixel is null.
static bool IsHigh (const double d)
 Returns true if the input pixel is one of the high saturation types.
static bool IsLow (const double d)
 Returns true if the input pixel is one of the low saturation types.
static bool IsHrs (const double d)
 Returns true if the input pixel is high representation saturation.
static bool IsHis (const double d)
 Returns true if the input pixel is high instrument saturation.
static bool IsLis (const double d)
 Returns true if the input pixel is low instrument saturation.
static bool IsLrs (const double d)
 Returns true if the input pixel is low representation saturation.

Detailed Description

Store and/or manipulate pixel values.

This class can store pixel information and also contains utility methods for testing and modifying pixel and special pixel values that can be used without instanteating the class.

Author:
2002-04-11 Kris Becker

Constructor & Destructor Documentation

Isis::Pixel::Pixel (  ) 

Constructs an empty Pixel.

Author:
2015-08-05 Kristin Berry

References Isis::Null.

Isis::Pixel::Pixel ( int  sample,
int  line,
int  band,
double  DN 
)

Constructs a Pixel given a line, sample, band, and DN.

Author:
2015-05-08 Kristin Berry
Parameters:
line line coordinate
sample sample coordinate
band band coordinate
DN data value for the pixel
Isis::Pixel::Pixel ( const Pixel pixel  ) 

Constructs a Pixel, given a Pixel.

Author:
2015-08-05 Kristin Berry
Parameters:
pixel Pixel to copy

References band(), DN(), line(), and sample().

Isis::Pixel::~Pixel (  )  [virtual]

Default destructor.


Member Function Documentation

int Isis::Pixel::band (  )  const

Returns the band coordinate of the Pixel.

Referenced by operator=(), and Pixel().

double Isis::Pixel::DN (  )  const

Returns the DN of the Pixel.

Referenced by operator=(), and Pixel().

bool Isis::Pixel::IsHigh (  )  [inline]

Returns true if the input pixel is one of the high saturation types.

Returns:
bool
static bool Isis::Pixel::IsHigh ( const double  d  )  [inline, static]

Returns true if the input pixel is one of the high saturation types.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::HIGH_INSTR_SAT8, and Isis::HIGH_REPR_SAT8.

bool Isis::Pixel::IsHis (  )  [inline]

Returns true if the input pixel is high instrument saturation.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsHis ( const double  d  )  [inline, static]

Returns true if the input pixel is high instrument saturation.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::HIGH_INSTR_SAT8.

bool Isis::Pixel::IsHrs (  )  [inline]

Returns true if the input pixel is high representation saturation.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsHrs ( const double  d  )  [inline, static]

Returns true if the input pixel is high representation saturation.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::HIGH_REPR_SAT8.

bool Isis::Pixel::IsLis (  )  [inline]

Returns true if the input pixel is low instrument saturation.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsLis ( const double  d  )  [inline, static]

Returns true if the input pixel is low instrument saturation.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::LOW_INSTR_SAT8.

bool Isis::Pixel::IsLow (  )  [inline]

Returns true if the input pixel is one of the low saturation types.

Parameters:
d Pixel value to test
Returns:
bool
static bool Isis::Pixel::IsLow ( const double  d  )  [inline, static]

Returns true if the input pixel is one of the low saturation types.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::LOW_INSTR_SAT8, and Isis::LOW_REPR_SAT8.

bool Isis::Pixel::IsLrs (  )  [inline]

Returns true if the input pixel is low representation saturation.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsLrs ( const double  d  )  [inline, static]

Returns true if the input pixel is low representation saturation.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::LOW_REPR_SAT8.

bool Isis::Pixel::IsNull (  )  [inline]

Returns true if the input pixel is null.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsNull ( const double  d  )  [inline, static]

Returns true if the input pixel is null.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::NULL8.

static bool Isis::Pixel::IsSpecial ( const float  f  )  [inline, static]

Returns true if the input pixel is special.

Not special implies it is valid to use in computations. This method applies to a 4-byte floating point rather than an 8-byte double.

Parameters:
f Pixel value to test
Returns:
bool

References Isis::VALID_MIN4.

bool Isis::Pixel::IsSpecial (  )  [inline]

Returns true if the input pixel is special.

Not special implies it is valid to use in computations.

Returns:
bool

Referenced by ToString().

static bool Isis::Pixel::IsSpecial ( const double  d  )  [inline, static]

Returns true if the input pixel is special.

Not special implies it is valid to use in computations.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::VALID_MIN8.

bool Isis::Pixel::IsValid (  )  [inline]

Returns true if the input pixel is valid.

Valid implies the pixel is neither hrs, lrs, his, lis, nor null.

Returns:
bool
static bool Isis::Pixel::IsValid ( const double  d  )  [inline, static]

Returns true if the input pixel is valid.

Valid implies the pixel is neither hrs, lrs, his, lis, nor null.

Parameters:
d Pixel value to test
Returns:
bool

References Isis::VALID_MIN8.

int Isis::Pixel::line (  )  const

Returns the line coordinate of the Pixel.

Referenced by operator=(), and Pixel().

Pixel & Isis::Pixel::operator= ( const Pixel other  ) 

Copy assignment operator.

Reimplemented in Isis::Spectel.

References band(), DN(), line(), and sample().

int Isis::Pixel::sample (  )  const

Returns the sample coordinate of the Pixel.

Referenced by Isis::SpectralDefinition2D::findSpectel(), operator=(), and Pixel().

short int Isis::Pixel::To16Bit (  ) 

Converts internal pixel value to a short int pixel with special pixel translations.

Returns:
short int The short int pixel value
short int Isis::Pixel::To16Bit ( const double  d  )  [static]

Converts double pixels to short int pixels with special pixel translations.

Parameters:
d Double pixel value to be converted to a double
Returns:
short int The short int pixel value

References Isis::HIGH_INSTR_SAT2, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT2, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT2, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT2, Isis::LOW_REPR_SAT8, Isis::NULL2, Isis::NULL8, Isis::VALID_MAX2, Isis::VALID_MIN2, and Isis::VALID_MIN8.

short unsigned int Isis::Pixel::To16Ubit (  ) 

Converts internal pixel value to a short int pixel with special pixel translations.

Returns:
short unsigned int The short int pixel value

References To16UBit().

short unsigned int Isis::Pixel::To16UBit ( const double  d  )  [static]

Converts double pixels to short unsigned int pixels with special pixel translations.

Parameters:
d Double pixel value to be converted to a double
Returns:
short unsigned int The short int pixel value

References Isis::HIGH_INSTR_SAT8, Isis::HIGH_INSTR_SATU2, Isis::HIGH_REPR_SAT8, Isis::HIGH_REPR_SATU2, Isis::LOW_INSTR_SAT8, Isis::LOW_INSTR_SATU2, Isis::LOW_REPR_SAT8, Isis::LOW_REPR_SATU2, Isis::NULL8, Isis::NULLU2, Isis::VALID_MAX2, Isis::VALID_MIN2, and Isis::VALID_MIN8.

Referenced by To16Ubit().

float Isis::Pixel::To32Bit (  ) 

Converts internal pixel value to float with special pixel translations.

Returns:
float The float pixel value
float Isis::Pixel::To32Bit ( const double  d  )  [static]

Converts double pixels to float pixels with special pixel translations.

Parameters:
d Double pixel value to be converted to a double
Returns:
float The float pixel value

References Isis::HIGH_INSTR_SAT4, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT4, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT4, Isis::LOW_REPR_SAT8, Isis::NULL4, Isis::NULL8, Isis::VALID_MAX8, and Isis::VALID_MIN8.

unsigned char Isis::Pixel::To8Bit (  ) 

Converts internal pixel value to an unsigned char pixel with special pixel translations.

Returns:
unsigned char The unsigned char pixel value
unsigned char Isis::Pixel::To8Bit ( const double  d  )  [static]

Converts double pixels to unsigned char pixels with special pixel translations.

Parameters:
d Double pixel value to be converted to a double
Returns:
unsigned char The unsigned char pixel value

References Isis::HIGH_INSTR_SAT1, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT1, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT1, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT1, Isis::LOW_REPR_SAT8, Isis::NULL1, Isis::NULL8, Isis::VALID_MAX1, Isis::VALID_MIN1, and Isis::VALID_MIN8.

double Isis::Pixel::ToDouble (  ) 

Converts stored pixel value to a double.

Returns:
double The double pixel value
double Isis::Pixel::ToDouble ( const float  d  )  [static]

Converts float pixels to double pixels with special pixel translations.

Parameters:
d Float pixel value to be converted to a double
Returns:
double The double pixel value

References Isis::HIGH_INSTR_SAT4, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT4, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT4, Isis::LOW_REPR_SAT8, Isis::NULL4, Isis::NULL8, Isis::VALID_MAX4, and Isis::VALID_MIN4.

double Isis::Pixel::ToDouble ( const short unsigned int  d  )  [static]

Converts short unsigned int pixels to double pixels with special pixel translations.

Parameters:
d Short unsigned int pixel value to be converted to a double
Returns:
double The double pixel value

References Isis::HIGH_INSTR_SAT8, Isis::HIGH_INSTR_SATU2, Isis::HIGH_REPR_SAT8, Isis::HIGH_REPR_SATU2, Isis::LOW_INSTR_SAT8, Isis::LOW_INSTR_SATU2, Isis::LOW_REPR_SAT8, Isis::LOW_REPR_SATU2, Isis::NULL8, Isis::NULLU2, and Isis::VALID_MINU2.

double Isis::Pixel::ToDouble ( const short int  d  )  [static]

Converts short int pixels to double pixels with special pixel translations.

Parameters:
d Short int pixel value to be converted to a double
Returns:
double The double pixel value

References Isis::HIGH_INSTR_SAT2, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT2, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT2, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT2, Isis::LOW_REPR_SAT8, Isis::NULL2, Isis::NULL8, and Isis::VALID_MIN2.

double Isis::Pixel::ToDouble ( const unsigned char  d  )  [static]

Converts unsigned char pixels to double pixels with special pixel translations.

Parameters:
d Unsigned char pixel value to be converted to a double
Returns:
double The double pixel value

References Isis::HIGH_INSTR_SAT1, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT1, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT1, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT1, Isis::LOW_REPR_SAT8, Isis::NULL1, Isis::NULL8, Isis::VALID_MAX1, and Isis::VALID_MIN1.

float Isis::Pixel::ToFloat (  ) 

Converts internal pixel value to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).

Returns:
float The float pixel value
float Isis::Pixel::ToFloat ( const double  t  )  [static]

Converts double to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).

Parameters:
t Double pixel value to be converted to a float
Returns:
float The float pixel value

References Isis::HIGH_INSTR_SAT4, Isis::HIGH_INSTR_SAT8, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT4, Isis::LOW_INSTR_SAT8, Isis::LOW_REPR_SAT4, Isis::LOW_REPR_SAT8, Isis::NULL4, Isis::NULL8, Isis::VALID_MAX8, and Isis::VALID_MIN8.

float Isis::Pixel::ToFloat ( const short unsigned int  t  )  [static]

Converts short unsigned int to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).

Parameters:
t Short unsigned int pixel value to be converted to a float
Returns:
float The float pixel value

References Isis::HIGH_INSTR_SAT4, Isis::HIGH_INSTR_SATU2, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::HIGH_REPR_SATU2, Isis::LOW_INSTR_SAT4, Isis::LOW_INSTR_SATU2, Isis::LOW_REPR_SAT4, Isis::LOW_REPR_SATU2, Isis::NULL4, Isis::NULLU2, Isis::VALID_MAXU2, and Isis::VALID_MINU2.

float Isis::Pixel::ToFloat ( const short int  t  )  [static]

Converts short int to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).

Parameters:
t Short int pixel value to be converted to a float
Returns:
float The float pixel value

References Isis::HIGH_INSTR_SAT2, Isis::HIGH_INSTR_SAT4, Isis::HIGH_REPR_SAT2, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT2, Isis::LOW_INSTR_SAT4, Isis::LOW_REPR_SAT2, Isis::LOW_REPR_SAT4, Isis::NULL2, Isis::NULL4, Isis::VALID_MAX2, and Isis::VALID_MIN2.

float Isis::Pixel::ToFloat ( const unsigned char  t  )  [static]

Converts unsigned char to float with pixel translations and care for overflows (underflows are assumed to cast to 0!).

Parameters:
t Unsigned char pixel value to be converted to a float
Returns:
float The float pixel value

References Isis::HIGH_INSTR_SAT1, Isis::HIGH_INSTR_SAT4, Isis::HIGH_REPR_SAT1, Isis::HIGH_REPR_SAT4, Isis::HIGH_REPR_SAT8, Isis::LOW_INSTR_SAT1, Isis::LOW_INSTR_SAT4, Isis::LOW_REPR_SAT1, Isis::LOW_REPR_SAT4, Isis::NULL1, Isis::NULL4, Isis::VALID_MAX1, and Isis::VALID_MIN1.

string Isis::Pixel::ToString (  ) 

Returns the name of the pixel type as a string.

Returns:
string The name of the pixel type
string Isis::Pixel::ToString ( double  d  )  [static]

Takes a double pixel value and returns the name of the pixel type as a string.

Parameters:
d Pixel value
Returns:
string The name of the pixel type

References IsHis(), IsHrs(), IsLis(), IsLrs(), IsNull(), and IsSpecial().


The documentation for this class was generated from the following files: