18 #ifndef itkAzimuthElevationToCartesianTransform_h
19 #define itkAzimuthElevationToCartesianTransform_h
87 template <
typename TParametersValueType =
double,
unsigned int VDimension = 3>
101 static constexpr
unsigned int SpaceDimension = VDimension;
102 static constexpr
unsigned int ParametersDimension = VDimension * (VDimension + 1);
111 using typename Superclass::ParametersType;
112 using typename Superclass::FixedParametersType;
113 using typename Superclass::TransformCategoryEnum;
116 using typename Superclass::JacobianType;
117 using typename Superclass::JacobianPositionType;
118 using typename Superclass::InverseJacobianPositionType;
121 using typename Superclass::ScalarType;
124 using typename Superclass::InputPointType;
125 using typename Superclass::OutputPointType;
132 SetAzimuthElevationToCartesianParameters(
const double sampleSize,
133 const double firstSampleDistance,
134 const long maxAzimuth,
135 const long maxElevation,
136 const double azimuthAngleSeparation,
137 const double elevationAngleSeparation);
140 SetAzimuthElevationToCartesianParameters(
const double sampleSize,
141 const double firstSampleDistance,
142 const long maxAzimuth,
143 const long maxElevation);
155 if (m_ForwardAzimuthElevationToPhysical)
157 result = static_cast<InputPointType>(TransformCartesianToAzEl(
point));
161 result = static_cast<InputPointType>(TransformAzElToCartesian(
point));
166 inline InputPointType
169 return BackTransform(
point);
175 TransformCategoryEnum
178 return Self::TransformCategoryEnum::UnknownTransformCategory;
184 SetForwardAzimuthElevationToCartesian();
189 SetForwardCartesianToAzimuthElevation();
194 TransformAzElToCartesian(
const InputPointType &
point)
const;
199 TransformCartesianToAzEl(
const OutputPointType &
point)
const;
205 itkSetMacro(MaxAzimuth,
long);
206 itkGetConstMacro(MaxAzimuth,
long);
213 itkSetMacro(MaxElevation,
long);
214 itkGetConstMacro(MaxElevation,
long);
218 itkSetMacro(RadiusSampleSize,
double);
219 itkGetConstMacro(RadiusSampleSize,
double);
223 itkSetMacro(AzimuthAngularSeparation,
double);
224 itkGetConstMacro(AzimuthAngularSeparation,
double);
228 itkSetMacro(ElevationAngularSeparation,
double);
229 itkGetConstMacro(ElevationAngularSeparation,
double);
233 itkSetMacro(FirstSampleDistance,
double);
234 itkGetConstMacro(FirstSampleDistance,
double);
246 PrintSelf(std::ostream & os,
Indent indent)
const override;
259 #ifndef ITK_MANUAL_INSTANTIATION
260 # include "itkAzimuthElevationToCartesianTransform.hxx"