29 #include "base/data_types/ossimFilename.h" 30 #include "base/data_types/ossimString.h" 34 #include "imaging/formats/ossimImageHandler.h" 35 #include "imaging/factory/ossimImageHandlerRegistry.h" 36 #include "imaging/factory/ossimImageDataFactory.h" 40 #include "imaging/formats/ossimImageHandler.h" 45 #include "base/misc/lookup_tables/ossimScalarTypeLut.h" 56 int main(
int argc,
char* argv[])
88 cout <<
"image_data <image file>"<< endl;
117 cout <<
"data status = " <<
"null" << endl;
122 cout <<
"data status = " <<
"empty" << endl;
127 cout <<
"data status = " <<
"partial" << endl;
132 cout <<
"data status = " <<
"full" << endl;
137 cout <<
"data status = " <<
"unknown" << endl;
147 cout <<
"___________________________________DEMO 1_____________________________________\n";
155 cerr <<
"Unable to open image " << filename << endl;
195 cout <<
"Pixel scalar type = " 207 ostream_iterator<double>(cout,
", "));
208 cout <<
"\nmax pix: ";
211 ostream_iterator<double>(cout,
", "));
212 cout <<
"\nnull pix: ";
215 ostream_iterator<double>(cout,
" "));
221 cerr <<
"Demo 1 only works for uchar data images" << endl;
242 double totalNumberOfPixels = upperBound;
245 double sumOfThePixels = 0;
248 for(
int offset = 0; offset < upperBound; ++offset)
250 sumOfThePixels += *buf;
253 if(totalNumberOfPixels > 0)
255 cout <<
"band " << bandIndex <<
" average = " << sumOfThePixels/totalNumberOfPixels << endl;
259 cout <<
"band " << bandIndex <<
" average = " << 0.0 << endl;
267 double totalNumberOfPixels = 0;
268 double sumOfThePixels = 0;
271 for(
int offset = 0; offset < upperBound; ++offset)
275 sumOfThePixels += *buf;
276 ++totalNumberOfPixels;
280 if(totalNumberOfPixels > 0)
282 cout <<
"band " << bandIndex <<
" average = " << sumOfThePixels/totalNumberOfPixels << endl;
286 cout <<
"band " << bandIndex <<
" average = " << 0.0 << endl;
293 cout <<
"___________________________________END DEMO 1_____________________________________\n";
301 cout <<
"___________________________________DEMO 2_____________________________________\n";
306 cerr <<
"Unable to open file " << filename <<
" for demo 2\n";
343 cout <<
"data initialized: " << data->
isInitialize() << endl;
371 cout <<
"___________________________________END DEMO 2_____________________________________\n";
378 cout <<
"___________________________________DEMO 3_____________________________________\n";
383 cerr <<
"Unable to open file " << filename <<
" for demo 2\n";
406 cout <<
"loading data2 rectangle\n";
438 cout <<
"status after load is should be partial \n";
457 cout <<
"___________________________________END DEMO 3_____________________________________\n";
virtual void loadBand(const void *src, const ossimIrect &src_rect, ossim_uint32 band)
virtual ossim_uint32 getWidth() const
void demo3(const ossimFilename &filename)
virtual const ossim_float64 * getMaxPix() const
virtual ossim_uint32 getNumberOfBands() const
virtual void setImageRectangle(const ossimIrect &rect)
void initialize(int &argc, char **argv)
virtual ossimImageHandler * open(const ossimFilename &fileName, bool trySuffixFirst=true, bool openOverview=true) const
open that takes a filename.
virtual ossimString getEntryString(ossim_int32 entry_number) const
virtual ossimDataObjectStatus getDataObjectStatus() const
virtual ossim_uint32 getHeight() const
virtual bool isInitialize() const
This is to be overriden in the derived classes so they can check If their data is null...
virtual void initialize()
Initialize the data buffer.
virtual ossimObject * dup() const
virtual void loadTile(const void *src, const ossimIrect &src_rect, ossimInterleaveType il_type)
static ossimScalarTypeLut * instance()
Returns the static instance of an ossimScalarTypeLut object.
static ossimImageDataFactory * instance()
virtual ossimDataObjectStatus validate() const
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() const
int main(int argc, char *argv[])
virtual ossimIrect getImageRectangle() const
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
virtual const ossim_float64 * getMinPix() const
virtual ossimScalarType getScalarType() const
This class defines an abstract Handler which all image handlers(loaders) should derive from...
void demo1(const ossimFilename &filename)
virtual const void * getBuf() const
void demo2(const ossimFilename &filename)
static ossimInit * instance()
static ossimImageHandlerRegistry * instance()
ossimDataObjectStatus
Definitions for data object status.
unsigned char ossim_uint8
void printDataStatus(ossimDataObjectStatus status)
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)