18 #ifndef itkAzimuthElevationToCartesianTransform_h
19 #define itkAzimuthElevationToCartesianTransform_h
83 template<
typename TParametersValueType=double,
84 unsigned int NDimensions = 3>
98 static constexpr
unsigned int SpaceDimension = NDimensions;
99 static constexpr
unsigned int ParametersDimension = NDimensions * ( NDimensions + 1 );
126 Self::SpaceDimension >;
129 void SetAzimuthElevationToCartesianParameters(
130 const double sampleSize,
131 const double blanking,
132 const long maxAzimuth,
133 const long maxElevation,
134 const double azimuthAngleSeparation,
135 const double elevationAngleSeparation);
137 void SetAzimuthElevationToCartesianParameters(
const double sampleSize,
138 const double blanking,
139 const long maxAzimuth,
140 const long maxElevation);
150 if ( m_ForwardAzimuthElevationToPhysical )
152 result =
static_cast< InputPointType >( TransformCartesianToAzEl(point) );
156 result =
static_cast< InputPointType >( TransformAzElToCartesian(point) );
163 return BackTransform(point);
171 return Self::UnknownTransformCategory;
176 void SetForwardAzimuthElevationToCartesian();
180 void SetForwardCartesianToAzimuthElevation();
184 OutputPointType TransformAzElToCartesian(
const InputPointType & point)
const;
188 OutputPointType TransformCartesianToAzEl(
const OutputPointType & point)
const;
194 itkSetMacro(MaxAzimuth,
long);
195 itkGetConstMacro(MaxAzimuth,
long);
202 itkSetMacro(MaxElevation,
long);
203 itkGetConstMacro(MaxElevation,
long);
207 itkSetMacro(RadiusSampleSize,
double);
208 itkGetConstMacro(RadiusSampleSize,
double);
212 itkSetMacro(AzimuthAngularSeparation,
double);
213 itkGetConstMacro(AzimuthAngularSeparation,
double);
217 itkSetMacro(ElevationAngularSeparation,
double);
218 itkGetConstMacro(ElevationAngularSeparation,
double);
222 itkSetMacro(FirstSampleDistance,
double);
223 itkGetConstMacro(FirstSampleDistance,
double);
234 void PrintSelf(std::ostream & s,
Indent indent)
const override;
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.