/usr/include/ossim/imaging/ossimTableRemapper.h is in libossim-dev 2.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// Author: David Burken
//
// Description:
//
// Table remapper class declaration.
//
// Takes input tile, remaps it through a table, then output tile in the desired
// scalar type.
//
// Two modes one that works on native remap tables, that being of the same
// scalar type (like ossim_uint8) of the input connection, and another that
// uses a normalized remap table (more scalar independent).
//
//*************************************************************************
// $Id: ossimTableRemapper.h 22479 2013-11-12 02:18:55Z dburken $
#ifndef ossimTableRemapper_HEADER
#define ossimTableRemapper_HEADER
#include <ossim/imaging/ossimImageSourceFilter.h>
class OSSIMDLLEXPORT ossimTableRemapper : public ossimImageSourceFilter
{
public:
enum RemapTableType
{
UKNOWN = 0,
NATIVE = 1,
MIN_MAX = 2, // the data is native but must use min max for scale
NORMALIZED = 3
};
/** default constructor */
ossimTableRemapper();
virtual ossimScalarType getOutputScalarType() const;
virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tile_rect,
ossim_uint32 resLevel=0);
virtual void initialize();
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix=0)const;
/**
* Method to the load (recreate) the state of an object from a keyword
* list. Return true if ok or false on error.
*/
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix=0);
virtual ostream& print(ostream& os) const;
friend ostream& operator << (ostream& os, const ossimTableRemapper& tr);
protected:
/** virtual destructor */
virtual ~ossimTableRemapper();
ossimRefPtr<ossimImageData> theTile;
ossimRefPtr<ossimImageData> theTmpTile;
std::vector<ossim_uint8> theTable;
ossim_float64* theNormBuf;
ossim_uint32 theTableBinCount;
ossim_uint32 theTableBandCount;
RemapTableType theTableType;
ossimScalarType theInputScalarType;
ossimScalarType theOutputScalarType;
void allocate(const ossimIrect& rect);
void destroy();
void remapFromNativeTable(ossimRefPtr<ossimImageData>& inputTile);
template <class T> void remapFromNativeTable(
T dummy,
ossimRefPtr<ossimImageData>& inputTile);
void remapFromNormalizedTable(ossimRefPtr<ossimImageData>& inputTile);
template <class T> void dumpTable(T dummy, ostream& os) const;
// Do not allow copy constructor, operator=.
ossimTableRemapper(const ossimTableRemapper& tr);
ossimTableRemapper& operator=(const ossimTableRemapper& tr);
TYPE_DATA
};
#endif /* #ifndef ossimTableRemapper_HEADER */
|