18 #ifndef __itkAzimuthElevationToCartesianTransform_h
19 #define __itkAzimuthElevationToCartesianTransform_h
22 #include "vnl/vnl_math.h"
79 template<
class TScalarType = float,
80 unsigned int NDimensions = 3 >
93 itkStaticConstMacro(SpaceDimension,
unsigned int, NDimensions);
94 itkStaticConstMacro( ParametersDimension,
unsigned int,
95 NDimensions * ( NDimensions + 1 ) );
118 typedef Matrix< TScalarType, itkGetStaticConstMacro(SpaceDimension),
122 void SetAzimuthElevationToCartesianParameters(
123 const double sampleSize,
124 const double blanking,
125 const long maxAzimuth,
126 const long maxElevation,
127 const double azimuthAngleSeparation,
128 const double elevationAngleSeparation);
130 void SetAzimuthElevationToCartesianParameters(
const double sampleSize,
131 const double blanking,
132 const long maxAzimuth,
133 const long maxElevation);
143 if ( m_ForwardAzimuthElevationToPhysical )
145 result =
static_cast< InputPointType >( TransformCartesianToAzEl(point) );
149 result =
static_cast< InputPointType >( TransformAzElToCartesian(point) );
156 return BackTransform(point);
161 void SetForwardAzimuthElevationToCartesian();
165 void SetForwardCartesianToAzimuthElevation();
169 OutputPointType TransformAzElToCartesian(
const InputPointType & point)
const;
173 OutputPointType TransformCartesianToAzEl(
const OutputPointType & point)
const;
179 itkSetMacro(MaxAzimuth,
long);
185 itkSetMacro(MaxElevation,
long);
188 itkSetMacro(RadiusSampleSize,
double);
191 itkSetMacro(AzimuthAngularSeparation,
double);
194 itkSetMacro(ElevationAngularSeparation,
double);
197 itkSetMacro(FirstSampleDistance,
double);
207 void PrintSelf(std::ostream & s,
Indent indent)
const;
212 void operator=(
const Self &);
227 #define ITK_TEMPLATE_AzimuthElevationToCartesianTransform(_, EXPORT, TypeX, TypeY) \
230 _( 2 ( class EXPORT AzimuthElevationToCartesianTransform< ITK_TEMPLATE_2 TypeX > ) ) \
231 namespace Templates \
233 typedef AzimuthElevationToCartesianTransform< ITK_TEMPLATE_2 TypeX > \
234 AzimuthElevationToCartesianTransform##TypeY; \
238 #if ITK_TEMPLATE_EXPLICIT
239 #include "Templates/itkAzimuthElevationToCartesianTransform+-.h"
243 #include "itkAzimuthElevationToCartesianTransform.hxx"