OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimHistoMatchRemapper.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Garrett Potts
9 //
10 //*******************************************************************
11 // $Id: ossimHistoMatchRemapper.h 23353 2015-06-01 19:19:10Z dburken $
12 #ifndef ossimHistoMatchRemapper_HEADER
13 #define ossimHistoMatchRemapper_HEADER 1
14 #include <vector>
15 using namespace std;
16 
19 
21 {
22 public:
25  const vector<double>& targetMeanPerBand = vector<double>(),
26  const vector<double>& targetSigmaPerBand = vector<double>(),
27  const vector<double>& inputMeanPerBand = vector<double>(),
28  const vector<double>& inputSigmaPerBand = vector<double>()
29  );
30 
31  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect,
32  ossim_uint32 resLevel=0);
33  virtual void initialize();
34 
35  const vector<double>& getInputMeanValues()const;
36  const vector<double>& getInputSigmaValues()const;
37  const vector<double>& getTargetMeanValues()const;
38  const vector<double>& getTargetSigmaValues()const;
39 
40  void setInputMeanValues(const vector<double>& newValues);
41  void setInputSigmaValues(const vector<double>& newValues);
42  void setTargetMeanValues(const vector<double>& newValues);
43  void setTargetSigmaValues(const vector<double>& newValues);
44 
45 
46  virtual bool loadState(const ossimKeywordlist& kwl,
47  const char* prefix=NULL);
48  virtual bool saveState(ossimKeywordlist& kwl,
49  const char* prefix=NULL);
50 
51 protected:
52  virtual ~ossimHistoMatchRemapper();
53 
55 
56  vector<double> theTargetMeanPerBand;
57  vector<double> theTargetSigmaPerBand;
58  vector<double> theInputMeanPerBand;
59  vector<double> theInputSigmaPerBand;
60 
70  double transLean(double vIn,
71  double vBias,
72  double vTarget,
73  double vMin,
74  double vMax);
75 
87  double transLeanStretch(double vIn,
88  double vBias,
89  double vBiasStretch,
90  double vTarget,
91  double vTargetStretch,
92  double vMin,
93  double vMax);
94 
95 };
96 
97 #endif /* #ifndef ossimHistoMatchRemapper_HEADER */
vector< double > theInputMeanPerBand
vector< double > theTargetMeanPerBand
Represents serializable keyword/value map.
unsigned int ossim_uint32
vector< double > theInputSigmaPerBand
vector< double > theTargetSigmaPerBand
#define OSSIM_DLL
ossimRefPtr< ossimImageData > theBlankTile