16 double k1,
double k2,
double k3,
34 std::vector<double> k,
35 std::vector<double> p)
49 double r = sqrt(input.
x*input.
x +
52 double rMultiplier = r2;
56 double tempRadial = 1.0;
57 for(idx = 0; idx <
m_k.size();++idx)
59 tempRadial +=
m_k[idx]*rMultiplier;
64 output.
x = (input.
x*tempRadial) +
65 (2.0*
m_p[0]*input.
x*input.
y) +
66 (
m_p[1]*(r2 + 2*input.
x*input.
x));
68 output.
y = (input.
y*tempRadial) +
69 (2.0*
m_p[1]*input.
x*input.
y) +
70 (
m_p[0]*(r2 + 2*input.
y*input.
y));
76 const char* prefix )
const 84 kwl.
add(prefix,
"k", kValues);
85 kwl.
add(prefix,
"p", pValues);
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Represents serializable keyword/value map.
const char * find(const char *key) const
virtual void undistort(const ossimDpt &input, ossimDpt &output) const
void toSimpleStringList(ossimString &result, const std::vector< T > &valuesList)
This will output a vector of values inst a string.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
bool toSimpleVector(std::vector< T > &result, const ossimString &stringOfPoints)
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
unsigned int ossim_uint32
std::vector< ossim_float64 > m_k
std::vector< ossim_float64 > m_p
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
RTTI_DEF1(ossimTangentialRadialLensDistortion, "ossimTangentialRadialLensDistortion", ossimLensDistortion)
ossimTangentialRadialLensDistortion()