18 #ifndef itkAzimuthElevationToCartesianTransform_h
19 #define itkAzimuthElevationToCartesianTransform_h
83 template<
typename TParametersValueType=double,
84 unsigned int NDimensions = 3>
96 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
97 itkStaticConstMacro( ParametersDimension,
unsigned int,
98 NDimensions * ( NDimensions + 1 ) );
123 typedef Matrix< TParametersValueType, itkGetStaticConstMacro(SpaceDimension),
127 void SetAzimuthElevationToCartesianParameters(
128 const double sampleSize,
129 const double blanking,
130 const long maxAzimuth,
131 const long maxElevation,
132 const double azimuthAngleSeparation,
133 const double elevationAngleSeparation);
135 void SetAzimuthElevationToCartesianParameters(
const double sampleSize,
136 const double blanking,
137 const long maxAzimuth,
138 const long maxElevation);
148 if ( m_ForwardAzimuthElevationToPhysical )
150 result =
static_cast< InputPointType >( TransformCartesianToAzEl(point) );
154 result =
static_cast< InputPointType >( TransformAzElToCartesian(point) );
161 return BackTransform(point);
169 return Self::UnknownTransformCategory;
174 void SetForwardAzimuthElevationToCartesian();
178 void SetForwardCartesianToAzimuthElevation();
182 OutputPointType TransformAzElToCartesian(
const InputPointType & point)
const;
186 OutputPointType TransformCartesianToAzEl(
const OutputPointType & point)
const;
192 itkSetMacro(MaxAzimuth,
long);
193 itkGetConstMacro(MaxAzimuth,
long);
200 itkSetMacro(MaxElevation,
long);
201 itkGetConstMacro(MaxElevation,
long);
205 itkSetMacro(RadiusSampleSize,
double);
206 itkGetConstMacro(RadiusSampleSize,
double);
210 itkSetMacro(AzimuthAngularSeparation,
double);
211 itkGetConstMacro(AzimuthAngularSeparation,
double);
215 itkSetMacro(ElevationAngularSeparation,
double);
216 itkGetConstMacro(ElevationAngularSeparation,
double);
220 itkSetMacro(FirstSampleDistance,
double);
221 itkGetConstMacro(FirstSampleDistance,
double);
232 void PrintSelf(std::ostream & s,
Indent indent) const ITK_OVERRIDE;
239 double m_RadiusSampleSize;
240 double m_AzimuthAngularSeparation;
241 double m_ElevationAngularSeparation;
242 double m_FirstSampleDistance;
243 bool m_ForwardAzimuthElevationToPhysical;
247 #ifndef ITK_MANUAL_INSTANTIATION
248 #include "itkAzimuthElevationToCartesianTransform.hxx"
A templated class holding a M x N size Matrix.
Light weight base class for most itk classes.
Control indentation during Print() invocation.