/usr/include/ossim/imaging/ossimImageHistogramSource.h is in libossim-dev 1.7.21-3ubuntu2.
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// Author: Garrett Potts
//
//*************************************************************************
// $Id: ossimImageHistogramSource.h 13312 2008-07-27 01:26:52Z gpotts $
#ifndef ossimImageHistogramSource_HEADER
#define ossimImageHistogramSource_HEADER
#include <ossim/base/ossimHistogramSource.h>
#include <ossim/imaging/ossimImageSource.h>
#include <ossim/base/ossimProcessInterface.h>
#include <ossim/base/ossimConnectableObjectListener.h>
#include <ossim/base/ossimObjectEvents.h>
#include <ossim/base/ossimIrect.h>
/*!
* This source expects as input an ossimImageSource.
* it will slice up the requested region into tiles and compute
* the histogram of the passed in rectangle.
*/
class OSSIMDLLEXPORT ossimImageHistogramSource : public ossimHistogramSource,
public ossimConnectableObjectListener,
public ossimProcessInterface
{
public:
enum ComputationMode
{
NORMAL = 0,
FAST
};
ossimImageHistogramSource(ossimObject* owner = 0);
virtual ~ossimImageHistogramSource();
virtual ossimObject* getObject();
virtual const ossimObject* getObject()const;
void setAreaOfInterest(const ossimIrect& rect);
ossimIrect getAreaOfInterest()const;
void getAreaOfInterest(ossimIrect& rect)const;
virtual ossim_uint32 getMaxNumberOfRLevels()const;
virtual void setMaxNumberOfRLevels(ossim_uint32 number);
/*!
* The first argument is the region of interest that you wish to
* use for the histogram. If the region is different than
* what it has already computed before then the histogram is considered
* dirty and will be re-computed. The returned object is a
* multi-reslevel histogram
*/
virtual ossimRefPtr<ossimMultiResLevelHistogram> getHistogram(const ossimIrect& rect);
virtual ossimRefPtr<ossimMultiResLevelHistogram> getHistogram();
virtual bool execute();
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex,
const ossimConnectableObject* object)const;
void setNumberOfBinsOverride(ossim_int32 numberOfBinsOverride);
void setMinValueOverride(ossim_float32 minValueOverride);
void setMaxValueOverride(ossim_float32 maxValueOverride);
ComputationMode getComputationMode()const;
void setComputationMode(ComputationMode mode);
virtual void propertyEvent(ossimPropertyEvent& event);
virtual void connectInputEvent(ossimConnectionEvent& event);
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix=0);
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix=0)const;
protected:
void getBinInformation(ossim_uint32& numberOfBins,
ossim_float64& minValue,
ossim_float64& maxValue)const;
virtual void computeNormalModeHistogram();
virtual void computeFastModeHistogram();
/*!
* Initialized to ossimNAN'S
*/
ossimIrect theAreaOfInterest;
bool theHistogramRecomputeFlag;
/*!
* Will default to 1. This means it will use up to max
* number of res levels for the histogram.
*/
ossim_uint32 theMaxNumberOfResLevels;
ossim_float64 theMinValueOverride;
ossim_float64 theMaxValueOverride;
ossim_int32 theNumberOfBinsOverride;
ComputationMode theComputationMode;
ossim_uint32 theNumberOfTilesToUseInFastMode;
TYPE_DATA
};
#endif
|