OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Attributes | List of all members
ossimplugins::ImageNoise Class Reference

This class represents an ImageNoise. More...

#include <ImageNoise.h>

Public Member Functions

 ImageNoise ()
 Constructor. More...
 
virtual ~ImageNoise ()
 Destructor. More...
 
 ImageNoise (const ImageNoise &rhs)
 Copy constructor. More...
 
ImageNoiseoperator= (const ImageNoise &rhs)
 Affectation operator. More...
 
bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 Method to save object state to a keyword list. More...
 
bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 Method to the load (recreate) the state of the object from a keyword list. More...
 
void set_timeUTC (const ossimString &value)
 
const ossimStringget_timeUTC (void) const
 
void set_validityRangeMin (double value)
 
double get_validityRangeMin (void) const
 
void set_validityRangeMax (double value)
 
double get_validityRangeMax (void) const
 
void set_referencePoint (double value)
 
double get_referencePoint (void) const
 
void set_polynomialDegree (unsigned int value)
 
unsigned int get_polynomialDegree () const
 
void set_polynomialCoefficients (const std::vector< double > &value)
 
const std::vector< double > & get_polynomialCoefficients (void) const
 

Protected Attributes

ossimString _timeUTC
 TimeUTC (Noise/ImageNoise node). More...
 
double _validityRangeMin
 ValidityRangeMin (Noise/ImageNoise node). More...
 
double _validityRangeMax
 ValidityRangeMax (Noise/ImageNoise node). More...
 
double _referencePoint
 Reference point (Noise/ImageNoise node). More...
 
unsigned int _polynomialDegree
 Polynomial degree (Noise/ImageNoise node). More...
 
std::vector< double > _polynomialCoefficients
 Polynomial coefficients (Noise/ImageNoise node). More...
 

Detailed Description

This class represents an ImageNoise.

Definition at line 30 of file ImageNoise.h.

Constructor & Destructor Documentation

◆ ImageNoise() [1/2]

ossimplugins::ImageNoise::ImageNoise ( )

Constructor.

Definition at line 33 of file ImageNoise.cpp.

33  :
34  _timeUTC(),
37  _referencePoint(0.),
40 {
41 }
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

◆ ~ImageNoise()

ossimplugins::ImageNoise::~ImageNoise ( )
virtual

Destructor.

Definition at line 43 of file ImageNoise.cpp.

44 {
45 }

◆ ImageNoise() [2/2]

ossimplugins::ImageNoise::ImageNoise ( const ImageNoise rhs)

Copy constructor.

Definition at line 48 of file ImageNoise.cpp.

48  :
49  _timeUTC(rhs._timeUTC),
50  _validityRangeMin(rhs._validityRangeMin),
51  _validityRangeMax(rhs._validityRangeMax),
52  _referencePoint(rhs._referencePoint),
53  _polynomialDegree(rhs._polynomialDegree),
54  _polynomialCoefficients(rhs._polynomialCoefficients)
55 {
56 }
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

Member Function Documentation

◆ get_polynomialCoefficients()

const std::vector<double>& ossimplugins::ImageNoise::get_polynomialCoefficients ( void  ) const
inline

Definition at line 124 of file ImageNoise.h.

125  {
127  }
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156

◆ get_polynomialDegree()

unsigned int ossimplugins::ImageNoise::get_polynomialDegree ( ) const
inline

Definition at line 113 of file ImageNoise.h.

114  {
115  return _polynomialDegree;
116  }
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

◆ get_referencePoint()

double ossimplugins::ImageNoise::get_referencePoint ( void  ) const
inline

Definition at line 103 of file ImageNoise.h.

104  {
105  return _referencePoint;
106  }
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147

◆ get_timeUTC()

const ossimString& ossimplugins::ImageNoise::get_timeUTC ( void  ) const
inline

Definition at line 73 of file ImageNoise.h.

74  {
75  return _timeUTC;
76  }
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134

◆ get_validityRangeMax()

double ossimplugins::ImageNoise::get_validityRangeMax ( void  ) const
inline

Definition at line 93 of file ImageNoise.h.

94  {
95  return _validityRangeMax;
96  }
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143

◆ get_validityRangeMin()

double ossimplugins::ImageNoise::get_validityRangeMin ( void  ) const
inline

Definition at line 83 of file ImageNoise.h.

84  {
85  return _validityRangeMin;
86  }
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139

◆ loadState()

bool ossimplugins::ImageNoise::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)

Method to the load (recreate) the state of the object from a keyword list.

Return true if ok or false on error.

Returns
true if load OK, false on error

Definition at line 96 of file ImageNoise.cpp.

References _polynomialCoefficients, _polynomialDegree, _referencePoint, _timeUTC, _validityRangeMax, _validityRangeMin, ossimString::c_str(), ossimKeywordlist::find(), ossimNotify(), ossimNotifyLevel_WARN, ossimString::toDouble(), ossimString::toInt32(), and ossimString::toString().

Referenced by ossimplugins::Noise::loadState().

97 {
98  static const char MODULE[] = "ImageNoise::loadState";
99  bool result = true;
100  std::string pfx;
101  std::string pfx2;
102  if (prefix)
103  {
104  pfx = prefix;
105  }
106  ossimString s;
107  const char* lookup = 0;
108 
109  pfx += PREFIX;
110  lookup = kwl.find(pfx.c_str(), UTC_TIME);
111  if (lookup)
112  {
113  s = lookup;
114  _timeUTC = s;
115  }
116  else
117  {
119  << MODULE << " Keyword not found: " << UTC_TIME << " in "<<pfx.c_str()<<" path.\n";
120  result = false;
121  }
122  pfx2 = pfx + NOISE_ESTIMATE;
123  lookup = kwl.find(pfx2.c_str(), VALIDITY_RANGE_MIN);
124  if (lookup)
125  {
126  s = lookup;
128  }
129  else
130  {
132  << MODULE << " Keyword not found: " << VALIDITY_RANGE_MIN << " in "<<pfx2.c_str()<<" path.\n";
133  result = false;
134  }
135  lookup = kwl.find(pfx2.c_str(), VALIDITY_RANGE_MAX);
136  if (lookup)
137  {
138  s = lookup;
140  }
141  else
142  {
144  << MODULE << " Keyword not found: " << VALIDITY_RANGE_MAX << " in "<<pfx2.c_str()<<" path\n";
145  result = false;
146  }
147  lookup = kwl.find(pfx2.c_str(), REFERENCE_POINT);
148  if (lookup)
149  {
150  s = lookup;
152  }
153  else
154  {
156  << MODULE << " Keyword not found: " << REFERENCE_POINT << " in "<<pfx2.c_str()<<" path\n";
157  result = false;
158  }
159  lookup = kwl.find(pfx2.c_str(), POLYNOMIAL_DEGREE);
160  if (lookup)
161  {
162  s = lookup;
164  }
165  else
166  {
168  << MODULE << " Keyword not found: " << POLYNOMIAL_DEGREE << " in "<<pfx2.c_str()<<" path\n";
169  result = false;
170  }
171 
172  for(unsigned int i=0 ; i<_polynomialDegree+1;i++)
173  {
175  ossimString kw = ossimString(COEFFICIENT) + "["+iStr+ "]";
176  lookup = kwl.find(pfx2.c_str(), kw.c_str());
177  if (lookup)
178  {
179  s = lookup;
180  _polynomialCoefficients.push_back( s.toDouble() );
181  }
182  else
183  {
185  << MODULE << " Keyword not found: " << kw.c_str() << " in "<<pfx2.c_str()<<" path\n";
186  result = false;
187  }
188  }
189 
190 
191 /*
192  pfx += "ImageNoise.";
193 
194  const char* lookup = 0;
195  ossimString s;
196  double d;
197 
198  lookup = kwl.find(pfx.c_str(), DATE_JULIAN_KW);
199  if (lookup)
200  {
201  s = lookup;
202  d = s.toDouble();
203  JulianDate jd(d);
204  _date.set_day0hTU(jd);
205  }
206  else
207  {
208  ossimNotify(ossimNotifyLevel_WARN)
209  << MODULE << " Keyword not found: " << DATE_JULIAN_KW << "\n";
210 
211  result = false;
212  }
213 
214  lookup = kwl.find(pfx.c_str(), DATE_SECOND_KW);
215  if (lookup)
216  {
217  s = lookup;
218  d = s.toDouble();
219  _date.set_second(d);
220  }
221  else
222  {
223  ossimNotify(ossimNotifyLevel_WARN)
224  << MODULE << " Keyword not found: " << DATE_SECOND_KW << "\n";
225  result = false;
226  }
227 
228  lookup = kwl.find(pfx.c_str(), DATE_DECIMAL_KW);
229  if (lookup)
230  {
231  s = lookup;
232  d = s.toDouble();
233  _date.set_decimal(d);
234  }
235  else
236  {
237  ossimNotify(ossimNotifyLevel_WARN)
238  << MODULE << " Keyword not found: " << DATE_DECIMAL_KW << "\n";
239  result = false;
240  }
241 
242  lookup = kwl.find(pfx.c_str(), POSITION_KW);
243  if (lookup)
244  {
245  std::string ps = lookup;
246 
247  ossimDpt3d pt;
248  pt.toPoint(ps);
249 
250  _position[0] = pt.x;
251  _position[1] = pt.y;
252  _position[2] = pt.z;
253  }
254  else
255  {
256  ossimNotify(ossimNotifyLevel_WARN)
257  << MODULE << " Keyword not found: " << POSITION_KW << "\n";
258  result = false;
259  }
260 
261  lookup = kwl.find(pfx.c_str(), VELOCITY_KW);
262  if (lookup)
263  {
264  std::string ps = lookup;
265 
266  ossimDpt3d pt;
267  pt.toPoint(ps);
268 
269  _speed[0] = pt.x;
270  _speed[1] = pt.y;
271  _speed[2] = pt.z;
272  }
273  else
274  {
275  ossimNotify(ossimNotifyLevel_WARN)
276  << MODULE << " Keyword not found: " << VELOCITY_KW << "\n";
277  result = false;
278  }
279 */
280  return result;
281 }
const char * find(const char *key) const
static ossimString toString(bool aValue)
Numeric to string methods.
ossim_int32 toInt32() const
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139
double toDouble() const
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ operator=()

ImageNoise & ossimplugins::ImageNoise::operator= ( const ImageNoise rhs)

Affectation operator.

Definition at line 58 of file ImageNoise.cpp.

References _polynomialCoefficients, _polynomialDegree, _referencePoint, _timeUTC, _validityRangeMax, and _validityRangeMin.

59 {
60  _timeUTC = rhs._timeUTC;
61  _validityRangeMin = rhs._validityRangeMin;
62  _validityRangeMax = rhs._validityRangeMax;
63  _referencePoint = rhs._referencePoint;
64  _polynomialDegree = rhs._polynomialDegree;
65  _polynomialCoefficients = rhs._polynomialCoefficients;
66  return *this;
67 }
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

◆ saveState()

bool ossimplugins::ImageNoise::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const

Method to save object state to a keyword list.

Parameters
kwlKeyword list to save to.
prefixadded to keys when saved.
Returns
true on success, false on error.

Definition at line 69 of file ImageNoise.cpp.

References _polynomialCoefficients, _polynomialDegree, _referencePoint, _timeUTC, _validityRangeMax, _validityRangeMin, ossimKeywordlist::add(), ossimString::c_str(), and ossimString::toString().

70 {
71  std::string pfx;
72  std::string pfx2;
73  if (prefix)
74  {
75  pfx = prefix;
76  }
77  pfx += PREFIX;
78  kwl.add(pfx.c_str(), UTC_TIME, _timeUTC);
79 
80  pfx2 = pfx + NOISE_ESTIMATE;
81  kwl.add(pfx2.c_str(), VALIDITY_RANGE_MIN, _validityRangeMin);
82  kwl.add(pfx2.c_str(), VALIDITY_RANGE_MAX, _validityRangeMax);
83  kwl.add(pfx2.c_str(), REFERENCE_POINT, _referencePoint);
84  kwl.add(pfx2.c_str(), POLYNOMIAL_DEGREE, _polynomialDegree);
85 
86  for(unsigned int i=0 ; i<_polynomialCoefficients.size();i++)
87  {
89  ossimString kw = ossimString(COEFFICIENT) + "["+iStr+ "]";
90  kwl.add(pfx2.c_str(), kw.c_str(), _polynomialCoefficients[i]);
91  }
92 
93  return true;
94 }
static ossimString toString(bool aValue)
Numeric to string methods.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

◆ set_polynomialCoefficients()

void ossimplugins::ImageNoise::set_polynomialCoefficients ( const std::vector< double > &  value)
inline

Definition at line 119 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

120  {
121  _polynomialCoefficients = value;
122  }
std::vector< double > _polynomialCoefficients
Polynomial coefficients (Noise/ImageNoise node).
Definition: ImageNoise.h:156

◆ set_polynomialDegree()

void ossimplugins::ImageNoise::set_polynomialDegree ( unsigned int  value)
inline

Definition at line 108 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

109  {
110  _polynomialDegree = value;
111  }
unsigned int _polynomialDegree
Polynomial degree (Noise/ImageNoise node).
Definition: ImageNoise.h:152

◆ set_referencePoint()

void ossimplugins::ImageNoise::set_referencePoint ( double  value)
inline

Definition at line 98 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

99  {
100  _referencePoint = value;
101  }
double _referencePoint
Reference point (Noise/ImageNoise node).
Definition: ImageNoise.h:147

◆ set_timeUTC()

void ossimplugins::ImageNoise::set_timeUTC ( const ossimString value)
inline

Definition at line 68 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

69  {
70  _timeUTC = value;
71  }
ossimString _timeUTC
TimeUTC (Noise/ImageNoise node).
Definition: ImageNoise.h:134

◆ set_validityRangeMax()

void ossimplugins::ImageNoise::set_validityRangeMax ( double  value)
inline

Definition at line 88 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

89  {
90  _validityRangeMax = value;
91  }
double _validityRangeMax
ValidityRangeMax (Noise/ImageNoise node).
Definition: ImageNoise.h:143

◆ set_validityRangeMin()

void ossimplugins::ImageNoise::set_validityRangeMin ( double  value)
inline

Definition at line 78 of file ImageNoise.h.

Referenced by ossimplugins::ossimTerraSarModel::getNoiseAtGivenNode(), and ossimplugins::ossimTerraSarProductDoc::initNoise().

79  {
80  _validityRangeMin = value;
81  }
double _validityRangeMin
ValidityRangeMin (Noise/ImageNoise node).
Definition: ImageNoise.h:139

Member Data Documentation

◆ _polynomialCoefficients

std::vector<double> ossimplugins::ImageNoise::_polynomialCoefficients
protected

Polynomial coefficients (Noise/ImageNoise node).

Definition at line 156 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().

◆ _polynomialDegree

unsigned int ossimplugins::ImageNoise::_polynomialDegree
protected

Polynomial degree (Noise/ImageNoise node).

Definition at line 152 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().

◆ _referencePoint

double ossimplugins::ImageNoise::_referencePoint
protected

Reference point (Noise/ImageNoise node).

Definition at line 147 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().

◆ _timeUTC

ossimString ossimplugins::ImageNoise::_timeUTC
protected

TimeUTC (Noise/ImageNoise node).

Definition at line 134 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().

◆ _validityRangeMax

double ossimplugins::ImageNoise::_validityRangeMax
protected

ValidityRangeMax (Noise/ImageNoise node).

Definition at line 143 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().

◆ _validityRangeMin

double ossimplugins::ImageNoise::_validityRangeMin
protected

ValidityRangeMin (Noise/ImageNoise node).

Definition at line 139 of file ImageNoise.h.

Referenced by loadState(), operator=(), and saveState().


The documentation for this class was generated from the following files: