An official website of the United States government
Here’s how you know
Official websites use .gov
A
.gov website belongs to an official government
organization in the United States.
Secure .gov websites use HTTPS
A
lock
( ) or https:// means you’ve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
Isis 3 Programmer Reference
|
BLOB extraction class. More...
#include <HiBlob.h>
Public Member Functions | |
HiBlob () | |
Default, mostly useless constructor. | |
HiBlob (Cube &cube, const QString &tblname, const QString &field, const QString &name="HiBlob") | |
Constructor providing interface to an ISIS Cube object. | |
virtual | ~HiBlob () |
Destructor. | |
const HiMatrix & | buffer () const |
Return a reference to the data. | |
Blobber | deepcopy () const |
Create a unique copy of this blob. | |
void | setName (const QString &name) |
Specifies the name of this class instantiation. | |
void | setBlobName (const QString &bname) |
Sets the name of the ISIS BLOB object that contains the data. | |
void | setFieldName (const QString &fname) |
Sets field name in the ISIS BLOB object that contains data. | |
int | size () const |
Returns the total number of elements (rows * columns) in blob. | |
int | Lines () const |
Number of rows or lines in the BLOB. | |
int | Samples () const |
Number of columns or samples in the BLOB. | |
QString | getName () const |
Returns the name of the BLOB given to refer to this instantiation. | |
QString | getBlobName () const |
Retrieves the name of the Table object. | |
QString | getFieldName () const |
Retreive the name of the field in the Tabel object BLOB. | |
double * | operator[] (int i) |
Returns the ith row/line in the BLOB that can be further referenced into samples. | |
double const * | operator[] (int i) const |
Returns the ith row/line in the BLOB that can be further referenced into samples. | |
void | load (const QString &filename) |
Loads the contents of a BLOB from a cube file. | |
void | load (Cube &cube) |
Loads the contents of a BLOB from a Cube object. | |
Protected Types | |
typedef TNT::Array2D< double > | BlobBuf |
Internal buffer uses TNT. | |
Protected Member Functions | |
const BlobBuf & | ref () const |
Returns a const reference to the internal buffer for ease of use to derived objects. | |
Private Member Functions | |
void | loadDouble (Table &tbl) |
Provides direct reading in of the field data from the BLOB. | |
void | loadInteger (Table &tbl) |
Provides direct reading in of the field data from the BLOB. | |
double | int2ToDouble (unsigned int value) const |
double | int2ToDouble (int value) const |
Converts integer data to double precision. | |
Private Attributes | |
QString | _blobname |
Name of BLOB to read. | |
QString | _fieldname |
Name of field in BLOB to read. | |
QString | _name |
Name of this data set. | |
BlobBuf | _buf |
Buffer holding data. | |
BLOB extraction class.
This class provides access and processing of HiRISE data as stored in an ISIS BLOB (Table).
Note that the file provided must be a HiRISE ISIS cube file that is freshly converted from a PDS compatable EDR (hi2isis). It must contain an ISIS Table named "HiRISE Calibration Image". From that table, data is extracted from the "Calibration" field.
|
protectedinherited |
|
inline |
Default, mostly useless constructor.
Definition at line 43 of file HiBlob.h.
References Isis::Blobber::Blobber().
|
inline |
Constructor providing interface to an ISIS Cube object.
Definition at line 48 of file HiBlob.h.
References Isis::Blobber::Blobber().
|
inline |
Return a reference to the data.
Definition at line 57 of file HiBlob.h.
References Isis::Blobber::ref().
|
inherited |
Create a unique copy of this blob.
This method creates a fully new copy of this object. The default copy constructors/methods create a reference to the data read from the Table object. For example, the following code fragment will result in two Blobbers that refer to the same memory location that stores the BLOB data:
To ensure you have two unique storage areas of the BLOB data so they can change independantly, use:
Definition at line 107 of file Blobber.cpp.
|
inlineinherited |
|
inlineinherited |
Retreive the name of the field in the Tabel object BLOB.
Definition at line 191 of file Blobber.h.
References _fieldname.
Referenced by load(), loadDouble(), and loadInteger().
|
inlineinherited |
|
privateinherited |
Converts integer data to double precision.
This method lives to properly handle the conversion of integer BLOB data to double precision. We must properly convert integer special pixel data that may exist in the BLOB to its appropriate double precision value.
[in] | value | (int) Integer value to convert |
Definition at line 217 of file Blobber.cpp.
|
privateinherited |
Definition at line 228 of file Blobber.cpp.
|
inlineinherited |
|
inherited |
Loads the contents of a BLOB from a cube file.
Provides the I/O interface for ISIS cube files.
[in] | filename | (string&) Name of ISIS cube file to read |
Definition at line 120 of file Blobber.cpp.
References load(), and Isis::Cube::open().
|
inherited |
Loads the contents of a BLOB from a Cube object.
Provides the I/O interface for the Cube object. One thing to note here is that it creates a CubeInfo object from the Cube object and then calls the CubeInfo load method. Hence, this method is required as an intermediary method that cascades to the actual method that does the real work.
[in] | cube | (Cube&) Reference to an ISIS cube file that has been opened or created in the Cube object. |
Definition at line 140 of file Blobber.cpp.
References getBlobName(), getFieldName(), Isis::TableField::isDouble(), Isis::TableField::isInteger(), loadDouble(), loadInteger(), Isis::IException::Programmer, and Isis::Cube::readTable().
|
privateinherited |
Provides direct reading in of the field data from the BLOB.
This method is called when the data stored in the BLOB is double precision. It determines the number of rows (lines) and columns (samples) in the BLOB and allocates the internal buffer required to store it
[in] | tbl | (Table&) Reference to an ISIS Table object that contains the field from which to extract the data. |
Definition at line 167 of file Blobber.cpp.
References _buf, getFieldName(), and Isis::Table::Records().
Referenced by load().
|
privateinherited |
Provides direct reading in of the field data from the BLOB.
This method is called when the data stored in the BLOB is integer data. It determines the number of rows (lines) and columns (samples) in the BLOB and allocates the internal buffer required to store it. This differs from the double precision version only in the care taken when casting the data to double precision. We must properly convert special pixels from integer to double precision.
[in] | tbl | (Table&) Reference to an ISIS Table object that contains the field from which to extract the data. |
Definition at line 193 of file Blobber.cpp.
References _buf, getFieldName(), and Isis::Table::Records().
Referenced by load().
|
inlineinherited |
|
inlineinherited |
Returns the ith row/line in the BLOB that can be further referenced into samples.
This method provides const access to the data in row matrix form. To access the 2nd sample in the 10th line use:
i | Index |
Definition at line 221 of file Blobber.h.
References _buf.
|
inlineprotectedinherited |
Returns a const reference to the internal buffer for ease of use to derived objects.
Definition at line 238 of file Blobber.h.
References _buf.
Referenced by Isis::HiBlob::buffer().
|
inlineinherited |
|
inlineinherited |
Sets the name of the ISIS BLOB object that contains the data.
This is name of a ISIS Table object that contains one or more fields that make up the BLOB. This is the value of the [i]Name[/i] keyword in the Table object.
bname | Blobber name |
Definition at line 132 of file Blobber.h.
References _blobname.
|
inlineinherited |
Sets field name in the ISIS BLOB object that contains data.
This method sets the name of the field contained within the Table object BLOB from which the data is extracted.
fname | Field name |
Definition at line 144 of file Blobber.h.
References _fieldname.
|
inlineinherited |
|
inlineinherited |
|
privateinherited |
Name of BLOB to read.
Definition at line 243 of file Blobber.h.
Referenced by Blobber(), Blobber(), Blobber(), getBlobName(), and setBlobName().
|
privateinherited |
Buffer holding data.
Definition at line 246 of file Blobber.h.
Referenced by deepcopy(), Lines(), loadDouble(), loadInteger(), operator[](), operator[](), ref(), and Samples().
|
privateinherited |
Name of field in BLOB to read.
Definition at line 244 of file Blobber.h.
Referenced by Blobber(), Blobber(), Blobber(), getFieldName(), and setFieldName().
|
privateinherited |