![]() |
ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkAzimuthElevationToCartesianTransform.h>
Transforms from an azimuth, elevation, radius coordinate system to a Cartesian coordinate system, or vice versa.
The three coordinate axis are azimuth, elevation, and range.
The azimuth elevation coordinate system is defined similarly to spherical coordinates but is slightly different in that the azimuth and elevation are measured in degrees between the r-axis (i.e z axis) and the projection on the x-z and y-z planes, respectively. Range, or r, is the distance from the origin.
The equations form performing the conversion from azimuth-elevation coordinates to cartesian coordinates are as follows: z = std::sqrt((r^2*(cos(azimuth))^2)/(1 + (cos(azimuth))^2 * (tan(elevation))^2); x = z * std::tan(azimuth) y = z * std::tan(elevation)
The reversed transforms are: azimuth = arctan(x/y) elevation = arctan(y/z) r = std::sqrt(x^2 + y^2 + z^2)
In this class, we can also set what a "forward" transform means. If we call SetForwardAzimuthElevationToCartesian(), a forward transform will return cartesian coordinates when passed azimuth,elevation,r coordinates. Calling SetForwardCartesianToAzimuthElevation() will cause the forward transform to return azimuth,elevation,r coordinates from cartesian coordinates.
Setting the FirstSampleDistance to a non-zero value means that a r value of 12 is actually (12 + FirstSampleDistance) distance from the origin.
There are two template parameters for this class:
TParametersValueType The type to be used for scalar numeric values. Either float or double.
NDimensions The number of dimensions of the vector space (must be >=3).
Definition at line 85 of file itkAzimuthElevationToCartesianTransform.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::JacobianType | JacobianType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > | MatrixType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::ParametersType | ParametersType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef AzimuthElevationToCartesianTransform | Self |
typedef AffineTransform < TParametersValueType, NDimensions > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
![]() | |
typedef Superclass::CenterType | CenterType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef Superclass::InverseMatrixType | InverseMatrixType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
typedef Superclass::JacobianType | JacobianType |
typedef Superclass::MatrixType | MatrixType |
typedef Superclass::OffsetType | OffsetType |
typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::OutputVectorType | OutputVectorType |
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef AffineTransform | Self |
typedef MatrixOffsetTransformBase < TParametersValueType, NDimensions, NDimensions > | Superclass |
typedef Superclass::TranslationType | TranslationType |
![]() | |
typedef InputPointType | CenterType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::FixedParametersValueType | FixedParametersValueType |
typedef Superclass::InputDiffusionTensor3DType | InputDiffusionTensor3DType |
typedef Superclass::InputSymmetricSecondRankTensorType | InputSymmetricSecondRankTensorType |
typedef CovariantVector < TParametersValueType, InputDiffusionTensor3DType::Dimension > | InputTensorEigenVectorType |
typedef Superclass::InputVectorPixelType | InputVectorPixelType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | InverseMatrixType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
typedef Superclass::JacobianType | JacobianType |
typedef OutputVectorType | OffsetType |
typedef OffsetType::ValueType | OffsetValueType |
typedef Superclass::OutputDiffusionTensor3DType | OutputDiffusionTensor3DType |
typedef Superclass::OutputSymmetricSecondRankTensorType | OutputSymmetricSecondRankTensorType |
typedef Superclass::OutputVectorPixelType | OutputVectorPixelType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef Superclass::ScalarType | ScalarType |
typedef MatrixOffsetTransformBase | Self |
typedef Transform < TParametersValueType, NInputDimensions, NOutputDimensions > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
typedef OutputVectorType | TranslationType |
typedef TranslationType::ValueType | TranslationValueType |
typedef Vector < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputVectorType |
typedef Vector < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVectorType |
typedef OutputVectorType::ValueType | OutputVectorValueType |
typedef CovariantVector < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputCovariantVectorType |
typedef CovariantVector < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputCovariantVectorType |
typedef vnl_vector_fixed < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputVnlVectorType |
typedef vnl_vector_fixed < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputVnlVectorType |
typedef Point < TParametersValueType, itkGetStaticConstMacro(InputSpaceDimension)> | InputPointType |
typedef InputPointType::ValueType | InputPointValueType |
typedef Point < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension)> | OutputPointType |
typedef OutputPointType::ValueType | OutputPointValueType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef MatrixType::ValueType | MatrixValueType |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Array < ParametersValueType > | DerivativeType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | DirectionChangeMatrix |
typedef Superclass::FixedParametersType | FixedParametersType |
typedef Superclass::FixedParametersValueType | FixedParametersValueType |
typedef CovariantVector < TParametersValueType, NInputDimensions > | InputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | InputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | InputDirectionMatrix |
typedef Point < TParametersValueType, NInputDimensions > | InputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NInputDimensions > | InputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | InputVectorPixelType |
typedef Vector < TParametersValueType, NInputDimensions > | InputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NInputDimensions > | InputVnlVectorType |
typedef InverseTransformBaseType::Pointer | InverseTransformBasePointer |
typedef Transform < TParametersValueType, NOutputDimensions, NInputDimensions > | InverseTransformBaseType |
typedef Array2D < ParametersValueType > | JacobianType |
typedef Matrix < TParametersValueType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension)> | MatrixType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef CovariantVector < TParametersValueType, NOutputDimensions > | OutputCovariantVectorType |
typedef DiffusionTensor3D < TParametersValueType > | OutputDiffusionTensor3DType |
typedef Matrix< double, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension)> | OutputDirectionMatrix |
typedef Point < TParametersValueType, NOutputDimensions > | OutputPointType |
typedef SymmetricSecondRankTensor < TParametersValueType, NOutputDimensions > | OutputSymmetricSecondRankTensorType |
typedef VariableLengthVector < TParametersValueType > | OutputVectorPixelType |
typedef Vector < TParametersValueType, NOutputDimensions > | OutputVectorType |
typedef vnl_vector_fixed < TParametersValueType, NOutputDimensions > | OutputVnlVectorType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef ParametersValueType | ScalarType |
typedef Transform | Self |
typedef TransformBaseTemplate < TParametersValueType > | Superclass |
typedef Superclass::TransformCategoryType | TransformCategoryType |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef OptimizerParameters < FixedParametersValueType > | FixedParametersType |
typedef double | FixedParametersValueType |
typedef IdentifierType | NumberOfParametersType |
typedef OptimizerParameters < ParametersValueType > | ParametersType |
typedef TParametersValueType | ParametersValueType |
typedef SmartPointer< Self > | Pointer |
typedef TransformBaseTemplate | Self |
typedef Object | Superclass |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
![]() | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | SpaceDimension = NDimensions |
static const unsigned int | ParametersDimension = NDimensions * ( NDimensions + 1 ) |
![]() | |
static const unsigned int | InputSpaceDimension = NDimensions |
static const unsigned int | OutputSpaceDimension = NDimensions |
static const unsigned int | SpaceDimension = NDimensions |
static const unsigned int | ParametersDimension = NDimensions *( NDimensions + 1 ) |
![]() | |
static const unsigned int | InputSpaceDimension |
static const unsigned int | OutputSpaceDimension |
static const unsigned int | ParametersDimension |
![]() | |
static const unsigned int | InputSpaceDimension = NInputDimensions |
static const unsigned int | OutputSpaceDimension = NOutputDimensions |
Private Attributes | |
double | m_AzimuthAngularSeparation |
double | m_ElevationAngularSeparation |
double | m_FirstSampleDistance |
bool | m_ForwardAzimuthElevationToPhysical |
long | m_MaxAzimuth |
long | m_MaxElevation |
double | m_RadiusSampleSize |
Additional Inherited Members | |
![]() | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
![]() | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer<const Self> itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::ConstPointer |
Definition at line 93 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::FixedParametersType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::FixedParametersType |
Definition at line 109 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::InputPointType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::InputPointType |
Standard coordinate point type for this class
Definition at line 119 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::JacobianType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::JacobianType |
Jacobian type.
Definition at line 113 of file itkAzimuthElevationToCartesianTransform.h.
typedef Matrix< TParametersValueType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::MatrixType |
Standard matrix type for this class.
Definition at line 124 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::OutputPointType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::OutputPointType |
Definition at line 120 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::ParametersType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::ParametersType |
Parameters type.
Definition at line 105 of file itkAzimuthElevationToCartesianTransform.h.
typedef SmartPointer<Self> itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::Pointer |
Definition at line 92 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::ScalarType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::ScalarType |
Standard scalar type for this class.
Definition at line 116 of file itkAzimuthElevationToCartesianTransform.h.
typedef AzimuthElevationToCartesianTransform itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::Self |
Standard class typedefs.
Definition at line 90 of file itkAzimuthElevationToCartesianTransform.h.
typedef AffineTransform<TParametersValueType, NDimensions> itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::Superclass |
Definition at line 91 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::TransformCategoryType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::TransformCategoryType |
Definition at line 110 of file itkAzimuthElevationToCartesianTransform.h.
|
protected |
Create an AzimuthElevationToCartesianTransform object.
|
overrideprotectedvirtual |
Destroy an AzimuthElevationToCartesianTransform object.
|
inline |
Back transform from cartesian to azimuth-elevation.
Definition at line 144 of file itkAzimuthElevationToCartesianTransform.h.
|
inline |
Definition at line 159 of file itkAzimuthElevationToCartesianTransform.h.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::AffineTransform< TParametersValueType, NDimensions >.
|
virtual |
Set the number of degrees between each azimuth unit.
|
virtual |
Set the number of degrees between each elevation unit.
|
virtual |
Set the distance to add to the radius.
|
virtual |
Set the maximum azimuth. The maximum azimuth and elevation can be set so that the resulting cartesian space is symmetric about the z axis. Therefore, the line defined by azimuth/2,elevation/2 = z-axis.
|
virtual |
Set the maximum elevation The maximum azimuth and elevation can be set so that the resulting cartesian space is symmetric about the z axis. Therefore, the line defined by azimuth/2,elevation/2 = z-axis.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AffineTransform< TParametersValueType, NDimensions >.
|
virtual |
Set the number of cartesian units between each unit along the R .
|
inlineoverridevirtual |
Overrides the TransformCategoryType to UnknownTransformCategory. Even though this class derives from AffineTransform, its not a linear transform
Reimplemented from itk::MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions >.
Definition at line 167 of file itkAzimuthElevationToCartesianTransform.h.
|
static |
New macro for creation of through a Smart Pointer.
|
overrideprotectedvirtual |
Print contents of an AzimuthElevationTransform.
Reimplemented from itk::AffineTransform< TParametersValueType, NDimensions >.
|
virtual |
Set the number of degrees between each azimuth unit.
void itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::SetAzimuthElevationToCartesianParameters | ( | const double | sampleSize, |
const double | blanking, | ||
const long | maxAzimuth, | ||
const long | maxElevation, | ||
const double | azimuthAngleSeparation, | ||
const double | elevationAngleSeparation | ||
) |
Set the transformation parameters.
void itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::SetAzimuthElevationToCartesianParameters | ( | const double | sampleSize, |
const double | blanking, | ||
const long | maxAzimuth, | ||
const long | maxElevation | ||
) |
|
virtual |
Set the number of degrees between each elevation unit.
|
virtual |
Set the distance to add to the radius.
void itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::SetForwardAzimuthElevationToCartesian | ( | ) |
Defines that the forward transform goes from azimuth,elevation to cartesian.
void itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::SetForwardCartesianToAzimuthElevation | ( | ) |
Defines that the forward transform goes from cartesian to azimuth, elevation.
|
virtual |
Set the maximum azimuth. The maximum azimuth and elevation can be set so that the resulting cartesian space is symmetric about the z axis. Therefore, the line defined by azimuth/2,elevation/2 = z-axis.
|
virtual |
Set the maximum elevation The maximum azimuth and elevation can be set so that the resulting cartesian space is symmetric about the z axis. Therefore, the line defined by azimuth/2,elevation/2 = z-axis.
|
virtual |
Set the number of cartesian units between each unit along the R .
OutputPointType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::TransformAzElToCartesian | ( | const InputPointType & | point | ) | const |
Perform conversion from Azimuth Elevation coordinates to Cartesian Coordinates.
OutputPointType itk::AzimuthElevationToCartesianTransform< TParametersValueType, NDimensions >::TransformCartesianToAzEl | ( | const OutputPointType & | point | ) | const |
Perform conversion from Cartesian Coordinates to Azimuth Elevation coordinates.
|
override |
Transform from azimuth-elevation to cartesian.
|
private |
Definition at line 240 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 241 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 242 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 243 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 235 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 238 of file itkAzimuthElevationToCartesianTransform.h.
|
private |
Definition at line 239 of file itkAzimuthElevationToCartesianTransform.h.
|
static |
Dimension of the domain space.
Definition at line 98 of file itkAzimuthElevationToCartesianTransform.h.
|
static |
Dimension of the domain space.
Definition at line 96 of file itkAzimuthElevationToCartesianTransform.h.