Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions > Class Template Reference
[Transforms]

Transforms from an azimuth, elevation, radius coordinate system to a Cartesian coordinate system, or vice versa. More...

#include <itkAzimuthElevationToCartesianTransform.h>

Inheritance diagram for itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >:

Inheritance graph
[legend]
Collaboration diagram for itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef AzimuthElevationToCartesianTransform Self
typedef AffineTransform< TScalarType,
NDimensions > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef Superclass::ScalarType ScalarType
typedef Superclass::InputPointType InputPointType
typedef Superclass::OutputPointType OutputPointType
typedef Matrix< TScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SpaceDimension) 
MatrixType )

Public Member Functions

virtual const char * GetNameOfClass () const
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)
OutputPointType TransformPoint (const InputPointType &point) const
void SetForwardAzimuthElevationToCartesian ()
void SetForwardCartesianToAzimuthElevation ()
OutputPointType TransformAzElToCartesian (const InputPointType &point) const
OutputPointType TransformCartesianToAzEl (const OutputPointType &point) const
virtual void SetMaxAzimuth (long _arg)
virtual void SetMaxElevation (long _arg)
virtual void SetRadiusSampleSize (double _arg)
virtual void SetAzimuthAngularSeparation (double _arg)
virtual void SetElevationAngularSeparation (double _arg)
virtual void SetFirstSampleDistance (double _arg)
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions *(NDimensions+1))
InputPointType BackTransform (const OutputPointType &point) const
InputPointType BackTransformPoint (const OutputPointType &point) const

Static Public Member Functions

Pointer New ()

Protected Member Functions

 AzimuthElevationToCartesianTransform ()
virtual ~AzimuthElevationToCartesianTransform ()
void PrintSelf (std::ostream &s, Indent indent) const

Detailed Description

template<class TScalarType = float, unsigned int NDimensions = 3>
class itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >

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 = sqrt((r^2*(cos(azimuth))^2)/(1 + (cos(azimuth))^2 * (tan(elevation))^2); x = z * tan(azimuth) y = z * tan(elevation)

The reversed transforms are: azimuth = arctan(x/y) elevation = arctan(y/z) r = 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).

Todo:
Is there any real value in allowing the user to template over the scalar type? Perhaps it should always be double, unless there's a compatibility problem with the Point class.

Derive this class from a yet undefined TransformBase class. Currently, this class derives from AffineTransform, although it is not an affine transform.

Definition at line 78 of file itkAzimuthElevationToCartesianTransform.h.


Member Typedef Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ConstPointer
 

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 86 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::InputPointType
 

Standard coordinate point type for this class

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 110 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::JacobianType
 

Jacobian type.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 104 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
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 115 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::OutputPointType
 

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 111 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ParametersType
 

Parameters type.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 101 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Pointer
 

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 85 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::ScalarType
 

Standard scalar type for this class.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 107 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef AzimuthElevationToCartesianTransform itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Self
 

Standard class typedefs.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 83 of file itkAzimuthElevationToCartesianTransform.h.

template<class TScalarType = float, unsigned int NDimensions = 3>
typedef AffineTransform< TScalarType, NDimensions > itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::Superclass
 

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

Definition at line 84 of file itkAzimuthElevationToCartesianTransform.h.


Constructor & Destructor Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::AzimuthElevationToCartesianTransform  )  [protected]
 

Create an AzimuthElevationToCartesianTransform object. *

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::~AzimuthElevationToCartesianTransform  )  [protected, virtual]
 

Destroy an AzimuthElevationToCartesianTransform object. *


Member Function Documentation

template<class TScalarType = float, unsigned int NDimensions = 3>
InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::BackTransform const OutputPointType point  )  const [inline]
 

Back transform from cartesian to azimuth-elevation. *

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
InputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::BackTransformPoint const OutputPointType point  )  const
 

Back transform from cartesian to azimuth-elevation. *

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual const char* itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::itkStaticConstMacro ParametersDimension  ,
unsigned  int,
NDimensions *  (NDimensions+1)
 

Dimension of the domain space.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
NDimensions 
 

Dimension of the domain space.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
Pointer itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::New  )  [static]
 

New macro for creation of through a Smart Pointer.

Reimplemented from itk::AffineTransform< TScalarType, NDimensions >.

template<class TScalarType = float, unsigned int NDimensions = 3>
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 >.

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetAzimuthAngularSeparation double  _arg  )  [virtual]
 

Set the number of degrees between each azimuth unit. *

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetAzimuthElevationToCartesianParameters const double  sampleSize,
const double  blanking,
const long  maxAzimuth,
const long  maxElevation
 

template<class TScalarType = float, unsigned int NDimensions = 3>
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. *

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetElevationAngularSeparation double  _arg  )  [virtual]
 

Set the number of degrees between each elevation unit. *

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetFirstSampleDistance double  _arg  )  [virtual]
 

Set the distance to add to the radius.

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetForwardAzimuthElevationToCartesian  ) 
 

Defines that the forward transform goes from azimuth,elevation to cartesian. *

template<class TScalarType = float, unsigned int NDimensions = 3>
void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetForwardCartesianToAzimuthElevation  ) 
 

Defines that the forward transform goes from cartesian to azimuth,elevation. *

template<class TScalarType = float, unsigned int NDimensions = 3>
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. *

template<class TScalarType = float, unsigned int NDimensions = 3>
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. *

template<class TScalarType = float, unsigned int NDimensions = 3>
virtual void itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::SetRadiusSampleSize double  _arg  )  [virtual]
 

Set the number of cartesian units between each unit along the R . *

template<class TScalarType = float, unsigned int NDimensions = 3>
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformAzElToCartesian const InputPointType point  )  const
 

Perform conversion from Azimuth Elevation coordinates to Cartesian Coordinates. *

template<class TScalarType = float, unsigned int NDimensions = 3>
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformCartesianToAzEl const OutputPointType point  )  const
 

Perform conversion from Cartesian Coordinates to Azimuth Elevation coordinates. *

template<class TScalarType = float, unsigned int NDimensions = 3>
OutputPointType itk::AzimuthElevationToCartesianTransform< TScalarType, NDimensions >::TransformPoint const InputPointType point  )  const [virtual]
 

Transform from azimuth-elevation to cartesian. *

Reimplemented from itk::MatrixOffsetTransformBase< TScalarType, NDimensions, NDimensions >.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:23:21 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000