21 #ifndef otbLogPolarTransform_hxx
22 #define otbLogPolarTransform_hxx
33 template <
class TScalarType>
45 template <
class TScalarType>
54 template <
class TScalarType>
57 m_Center[0] = parameters[0];
58 m_Center[1] = parameters[1];
59 m_Scale[0] = parameters[2];
60 m_Scale[1] = parameters[3];
61 otbMsgDebugMacro(<<
"Call To SetParameters: Center=" << m_Center <<
", Scale=" << m_Scale);
62 this->m_Parameters = parameters;
70 template <
class TScalarType>
74 this->m_Parameters[0] = m_Center[0];
75 this->m_Parameters[1] = m_Center[1];
76 this->m_Parameters[2] = m_Scale[0];
77 this->m_Parameters[3] = m_Scale[1];
79 return this->m_Parameters;
86 template <
class TScalarType>
91 double logRho = point[1] * m_Scale[1];
92 result[0] = m_Center[0];
93 result[1] = m_Center[1];
94 result[0] += std::exp(logRho) * std::cos(theta);
95 result[1] += std::exp(logRho) * std::sin(theta);
104 template <
class TScalarType>
109 double logRho = vector[1] * m_Scale[1];
112 result[0] += std::exp(logRho) * std::cos(theta);
113 result[1] += std::exp(logRho) * std::sin(theta);
123 template <
class TScalarType>
128 double logRho = vector[1] * m_Scale[1];
131 result[0] += std::exp(logRho) * std::cos(theta);
132 result[1] += std::exp(logRho) * std::sin(theta);
140 template <
class TScalarType>
143 Superclass::PrintSelf(os, indent);
144 os << indent <<
"Center: " << m_Center << std::endl;
145 os << indent <<
"Scale: " << m_Scale << std::endl;