ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkAzimuthElevationToCartesianTransform.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::JacobianType | JacobianType |
typedef Matrix< TScalarType, 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 < TScalarType, NDimensions > | Superclass |
Public Member Functions | |
InputPointType | BackTransform (const OutputPointType &point) const |
InputPointType | BackTransformPoint (const OutputPointType &point) const |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
virtual void | SetAzimuthAngularSeparation (double _arg) |
void | SetAzimuthElevationToCartesianParameters (const double sampleSize, const double blanking, const long maxAzimuth, const long maxElevation, const double azimuthAngleSeparation, const double elevationAngleSeparation) |
void | SetAzimuthElevationToCartesianParameters (const double sampleSize, const double blanking, const long maxAzimuth, const long maxElevation) |
virtual void | SetElevationAngularSeparation (double _arg) |
virtual void | SetFirstSampleDistance (double _arg) |
void | SetForwardAzimuthElevationToCartesian () |
void | SetForwardCartesianToAzimuthElevation () |
virtual void | SetMaxAzimuth (long _arg) |
virtual void | SetMaxElevation (long _arg) |
virtual void | SetRadiusSampleSize (double _arg) |
OutputPointType | TransformAzElToCartesian (const InputPointType &point) const |
OutputPointType | TransformCartesianToAzEl (const OutputPointType &point) const |
OutputPointType | TransformPoint (const InputPointType &point) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | SpaceDimension = NDimensions |
static const unsigned int | ParametersDimension = NDimensions * ( NDimensions + 1 ) |
Protected Member Functions | |
AzimuthElevationToCartesianTransform () | |
void | PrintSelf (std::ostream &s, Indent indent) const |
virtual | ~AzimuthElevationToCartesianTransform () |
Private Member Functions | |
AzimuthElevationToCartesianTransform (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
double | m_AzimuthAngularSeparation |
double | m_ElevationAngularSeparation |
double | m_FirstSampleDistance |
bool | m_ForwardAzimuthElevationToPhysical |
long | m_MaxAzimuth |
long | m_MaxElevation |
double | m_RadiusSampleSize |
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 = vcl_sqrt((r^2*(cos(azimuth))^2)/(1 + (cos(azimuth))^2 * (tan(elevation))^2); x = z * vcl_tan(azimuth) y = z * vcl_tan(elevation)
The reversed transforms are: azimuth = arctan(x/y) elevation = arctan(y/z) r = vcl_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:
ScalarT 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 82 of file itkAzimuthElevationToCartesianTransform.h.
typedef SmartPointer< const Self > itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ConstPointer |
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 90 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::InputPointType |
Standard coordinate point type for this class
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 114 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::JacobianType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::JacobianType |
Jacobian type.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 108 of file itkAzimuthElevationToCartesianTransform.h.
typedef Matrix< TScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::MatrixType |
Standard matrix type for this class.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 119 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::OutputPointType |
Standard coordinate point type for this class
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 115 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::ParametersType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ParametersType |
Parameters type.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 102 of file itkAzimuthElevationToCartesianTransform.h.
typedef SmartPointer< Self > itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Pointer |
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 89 of file itkAzimuthElevationToCartesianTransform.h.
typedef Superclass::ScalarType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ScalarType |
Standard scalar type for this class.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 111 of file itkAzimuthElevationToCartesianTransform.h.
typedef AzimuthElevationToCartesianTransform itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Self |
Standard class typedefs.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 87 of file itkAzimuthElevationToCartesianTransform.h.
typedef AffineTransform< TScalarType, NDimensions > itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Superclass |
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 88 of file itkAzimuthElevationToCartesianTransform.h.
itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::AzimuthElevationToCartesianTransform | ( | ) | [protected] |
Create an AzimuthElevationToCartesianTransform object.
virtual itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::~AzimuthElevationToCartesianTransform | ( | ) | [protected, virtual] |
Destroy an AzimuthElevationToCartesianTransform object.
itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::AzimuthElevationToCartesianTransform | ( | const Self & | ) | [private] |
InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::BackTransform | ( | const OutputPointType & | point | ) | const [inline] |
Back transform from cartesian to azimuth-elevation.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 139 of file itkAzimuthElevationToCartesianTransform.h.
InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::BackTransformPoint | ( | const OutputPointType & | point | ) | const [inline] |
Back transform a point by an affine transform
This method finds the point that maps to a given point under the affine transformation defined by self. If no such point exists, an exception is thrown. The returned value is (a pointer to) a brand new point created with new.
Back transform a given point which is represented as type PointType
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 154 of file itkAzimuthElevationToCartesianTransform.h.
virtual::itk::LightObject::Pointer itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::CreateAnother | ( | void | ) | const [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< TScalarType, NDimensions >.
virtual const char* itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
static Pointer itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::PrintSelf | ( | std::ostream & | s, |
Indent | indent | ||
) | const [protected, virtual] |
Print contents of an AzimuthElevationTransform.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetAzimuthAngularSeparation | ( | double | _arg | ) | [virtual] |
Set the number of degrees between each azimuth unit.
void itk::AzimuthElevationToCartesianTransform< TScalarType, 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< TScalarType, NDimensions >::SetAzimuthElevationToCartesianParameters | ( | const double | sampleSize, |
const double | blanking, | ||
const long | maxAzimuth, | ||
const long | maxElevation | ||
) |
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetElevationAngularSeparation | ( | double | _arg | ) | [virtual] |
Set the number of degrees between each elevation unit.
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetFirstSampleDistance | ( | double | _arg | ) | [virtual] |
Set the distance to add to the radius.
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetForwardAzimuthElevationToCartesian | ( | ) |
Defines that the forward transform goes from azimuth,elevation to cartesian.
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetForwardCartesianToAzimuthElevation | ( | ) |
Defines that the forward transform goes from cartesian to azimuth, elevation.
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetMaxAzimuth | ( | long | _arg | ) | [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 void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetMaxElevation | ( | long | _arg | ) | [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 void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetRadiusSampleSize | ( | double | _arg | ) | [virtual] |
Set the number of cartesian units between each unit along the R .
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformAzElToCartesian | ( | const InputPointType & | point | ) | const |
Perform conversion from Azimuth Elevation coordinates to Cartesian Coordinates.
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformCartesianToAzEl | ( | const OutputPointType & | point | ) | const |
Perform conversion from Cartesian Coordinates to Azimuth Elevation coordinates.
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformPoint | ( | const InputPointType & | point | ) | const |
Transform from azimuth-elevation to cartesian.
double itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_AzimuthAngularSeparation [private] |
Definition at line 219 of file itkAzimuthElevationToCartesianTransform.h.
double itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_ElevationAngularSeparation [private] |
Definition at line 220 of file itkAzimuthElevationToCartesianTransform.h.
double itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_FirstSampleDistance [private] |
Definition at line 221 of file itkAzimuthElevationToCartesianTransform.h.
bool itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_ForwardAzimuthElevationToPhysical [private] |
Definition at line 222 of file itkAzimuthElevationToCartesianTransform.h.
long itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_MaxAzimuth [private] |
Definition at line 216 of file itkAzimuthElevationToCartesianTransform.h.
long itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_MaxElevation [private] |
Definition at line 217 of file itkAzimuthElevationToCartesianTransform.h.
double itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::m_RadiusSampleSize [private] |
Definition at line 218 of file itkAzimuthElevationToCartesianTransform.h.
const unsigned int itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ParametersDimension = NDimensions * ( NDimensions + 1 ) [static] |
Dimension of the domain space.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 95 of file itkAzimuthElevationToCartesianTransform.h.
const unsigned int itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SpaceDimension = NDimensions [static] |
Dimension of the domain space.
Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.
Definition at line 93 of file itkAzimuthElevationToCartesianTransform.h.