|
using | ConstPointer = SmartPointer< const Self > |
|
using | FixedParametersType = typename Superclass::FixedParametersType |
|
using | InputPointType = typename Superclass::InputPointType |
|
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
|
using | JacobianPositionType = typename Superclass::JacobianPositionType |
|
using | JacobianType = typename Superclass::JacobianType |
|
using | MatrixType = Matrix< TParametersValueType, Self::SpaceDimension, Self::SpaceDimension > |
|
using | OutputPointType = typename Superclass::OutputPointType |
|
using | ParametersType = typename Superclass::ParametersType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = typename Superclass::ScalarType |
|
using | Self = AzimuthElevationToCartesianTransform |
|
using | Superclass = AffineTransform< TParametersValueType, NDimensions > |
|
using | TransformCategoryEnum = typename Superclass::TransformCategoryEnum |
|
using | CenterType = typename Superclass::CenterType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FixedParametersType = typename Superclass::FixedParametersType |
|
using | InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
|
using | InputPointType = typename Superclass::InputPointType |
|
using | InputVectorType = typename Superclass::InputVectorType |
|
using | InputVnlVectorType = typename Superclass::InputVnlVectorType |
|
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
|
using | InverseMatrixType = typename Superclass::InverseMatrixType |
|
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
|
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
|
using | JacobianPositionType = typename Superclass::JacobianPositionType |
|
using | JacobianType = typename Superclass::JacobianType |
|
using | MatrixType = typename Superclass::MatrixType |
|
using | OffsetType = typename Superclass::OffsetType |
|
using | OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
|
using | OutputPointType = typename Superclass::OutputPointType |
|
using | OutputVectorType = typename Superclass::OutputVectorType |
|
using | OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
|
using | ParametersType = typename Superclass::ParametersType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = typename Superclass::ScalarType |
|
using | Self = AffineTransform |
|
using | Superclass = MatrixOffsetTransformBase< TParametersValueType, NDimensions, NDimensions > |
|
using | TranslationType = typename Superclass::TranslationType |
|
using | CenterType = InputPointType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FixedParametersType = typename Superclass::FixedParametersType |
|
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
|
using | InputCovariantVectorType = CovariantVector< TParametersValueType, Self::InputSpaceDimension > |
|
using | InputDiffusionTensor3DType = typename Superclass::InputDiffusionTensor3DType |
|
using | InputPointType = Point< TParametersValueType, Self::InputSpaceDimension > |
|
using | InputPointValueType = typename InputPointType::ValueType |
|
using | InputSymmetricSecondRankTensorType = typename Superclass::InputSymmetricSecondRankTensorType |
|
using | InputTensorEigenVectorType = CovariantVector< TParametersValueType, InputDiffusionTensor3DType::Dimension > |
|
using | InputVectorPixelType = typename Superclass::InputVectorPixelType |
|
using | InputVectorType = Vector< TParametersValueType, Self::InputSpaceDimension > |
|
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::InputSpaceDimension > |
|
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
|
using | InverseMatrixType = Matrix< TParametersValueType, Self::InputSpaceDimension, Self::OutputSpaceDimension > |
|
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
|
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
|
using | JacobianPositionType = typename Superclass::JacobianPositionType |
|
using | JacobianType = typename Superclass::JacobianType |
|
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
|
using | MatrixValueType = typename MatrixType::ValueType |
|
using | OffsetType = OutputVectorType |
|
using | OffsetValueType = typename OffsetType::ValueType |
|
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, Self::OutputSpaceDimension > |
|
using | OutputDiffusionTensor3DType = typename Superclass::OutputDiffusionTensor3DType |
|
using | OutputPointType = Point< TParametersValueType, Self::OutputSpaceDimension > |
|
using | OutputPointValueType = typename OutputPointType::ValueType |
|
using | OutputSymmetricSecondRankTensorType = typename Superclass::OutputSymmetricSecondRankTensorType |
|
using | OutputVectorPixelType = typename Superclass::OutputVectorPixelType |
|
using | OutputVectorType = Vector< TParametersValueType, Self::OutputSpaceDimension > |
|
using | OutputVectorValueType = typename OutputVectorType::ValueType |
|
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, Self::OutputSpaceDimension > |
|
using | ParametersType = typename Superclass::ParametersType |
|
using | ParametersValueType = typename Superclass::ParametersValueType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = typename Superclass::ScalarType |
|
using | Self = MatrixOffsetTransformBase |
|
using | Superclass = Transform< TParametersValueType, NInputDimensions, NOutputDimensions > |
|
using | TransformCategoryEnum = typename Superclass::TransformCategoryEnum |
|
using | TranslationType = OutputVectorType |
|
using | TranslationValueType = typename TranslationType::ValueType |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DerivativeType = Array< ParametersValueType > |
|
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
|
using | FixedParametersType = typename Superclass::FixedParametersType |
|
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
|
using | InputCovariantVectorType = CovariantVector< TParametersValueType, NInputDimensions > |
|
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
|
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
|
using | InputPointType = Point< TParametersValueType, NInputDimensions > |
|
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NInputDimensions > |
|
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
|
using | InputVectorType = Vector< TParametersValueType, NInputDimensions > |
|
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, NInputDimensions > |
|
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, NInputDimensions, NOutputDimensions > |
|
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
|
using | InverseTransformBaseType = Transform< TParametersValueType, NOutputDimensions, NInputDimensions > |
|
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, NOutputDimensions, NInputDimensions > |
|
using | JacobianType = Array2D< ParametersValueType > |
|
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
|
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
|
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, NOutputDimensions > |
|
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
|
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
|
using | OutputPointType = Point< TParametersValueType, NOutputDimensions > |
|
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NOutputDimensions > |
|
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
|
using | OutputVectorType = Vector< TParametersValueType, NOutputDimensions > |
|
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, NOutputDimensions > |
|
using | ParametersType = typename Superclass::ParametersType |
|
using | ParametersValueType = typename Superclass::ParametersValueType |
|
using | Pointer = SmartPointer< Self > |
|
using | ScalarType = ParametersValueType |
|
using | Self = Transform |
|
using | Superclass = TransformBaseTemplate< TParametersValueType > |
|
using | TransformCategoryEnum = typename Superclass::TransformCategoryEnum |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | FixedParametersType = OptimizerParameters< FixedParametersValueType > |
|
using | FixedParametersValueType = double |
|
using | NumberOfParametersType = IdentifierType |
|
using | ParametersType = OptimizerParameters< ParametersValueType > |
|
using | ParametersValueType = TParametersValueType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = TransformBaseTemplate |
|
using | Superclass = Object |
|
using | TransformCategoryEnum = TransformBaseTemplateEnums::TransformCategory |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = Object |
|
using | Superclass = LightObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = LightObject |
|
|
InputPointType | BackTransform (const OutputPointType &point) const |
|
InputPointType | BackTransformPoint (const OutputPointType &point) const |
|
virtual ::itk::LightObject::Pointer | CreateAnother () const |
|
virtual const char * | GetNameOfClass () const |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
void | SetAzimuthElevationToCartesianParameters (const double sampleSize, const double firstSampleDistance, const long maxAzimuth, const long maxElevation) |
|
void | SetAzimuthElevationToCartesianParameters (const double sampleSize, const double firstSampleDistance, const long maxAzimuth, const long maxElevation, const double azimuthAngleSeparation, const double elevationAngleSeparation) |
|
void | SetForwardAzimuthElevationToCartesian () |
|
void | SetForwardCartesianToAzimuthElevation () |
|
OutputPointType | TransformAzElToCartesian (const InputPointType &point) const |
|
OutputPointType | TransformCartesianToAzEl (const OutputPointType &point) const |
|
OutputPointType | TransformPoint (const InputPointType &point) const override |
|
void | Scale (const OutputVectorType &factor, bool pre=false) |
|
void | Scale (const TParametersValueType &factor, bool pre=false) |
|
void | Translate (const OutputVectorType &trans, bool pre=false) |
|
void | Rotate (int axis1, int axis2, TParametersValueType angle, bool pre=false) |
|
void | Rotate2D (TParametersValueType angle, bool pre=false) |
|
void | Rotate3D (const OutputVectorType &axis, TParametersValueType angle, bool pre=false) |
|
void | Shear (int axis1, int axis2, TParametersValueType coef, bool pre=false) |
|
bool | GetInverse (Self *inverse) const |
|
InverseTransformBasePointer | GetInverseTransform () const override |
|
ScalarType | Metric (const Self *other) const |
|
ScalarType | Metric () const |
|
virtual ::itk::LightObject::Pointer | CreateAnother () const |
|
TransformCategoryEnum | GetTransformCategory () const override |
|
virtual void | SetIdentity () |
|
virtual void | SetMatrix (const MatrixType &matrix) |
|
virtual const MatrixType & | GetMatrix () const |
|
void | SetOffset (const OutputVectorType &offset) |
|
const OutputVectorType & | GetOffset () const |
|
void | SetCenter (const InputPointType ¢er) |
|
const InputPointType & | GetCenter () const |
|
void | SetTranslation (const OutputVectorType &translation) |
|
const OutputVectorType & | GetTranslation () const |
|
void | SetParameters (const ParametersType ¶meters) override |
|
const ParametersType & | GetParameters () const override |
|
void | SetFixedParameters (const FixedParametersType &) override |
|
const FixedParametersType & | GetFixedParameters () const override |
|
void | Compose (const Self *other, bool pre=false) |
|
OutputPointType | TransformPoint (const InputPointType &point) const override |
|
OutputVectorType | TransformVector (const InputVectorType &vect) const override |
|
OutputVnlVectorType | TransformVector (const InputVnlVectorType &vect) const override |
|
OutputVectorPixelType | TransformVector (const InputVectorPixelType &vect) const override |
|
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vec) const override |
|
OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vect) const override |
|
OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor) const override |
|
OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &tensor) const override |
|
OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor) const override |
|
OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor) const override |
|
void | ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const override |
|
void | ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianPositionType &jac) const override |
|
void | ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, InverseJacobianPositionType &jac) const override |
|
bool | GetInverse (Self *inverse) const |
|
InverseTransformBasePointer | GetInverseTransform () const override |
|
bool | IsLinear () const override |
|
void | CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end) override |
|
void | CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end) override |
|
unsigned int | GetInputSpaceDimension () const override |
|
bool | GetInverse (Self *) const |
|
virtual NumberOfParametersType | GetNumberOfFixedParameters () const |
|
virtual NumberOfParametersType | GetNumberOfLocalParameters () const |
|
NumberOfParametersType | GetNumberOfParameters () const override |
|
unsigned int | GetOutputSpaceDimension () const override |
|
std::string | GetTransformTypeAsString () const override |
|
| itkCloneMacro (Self) |
|
void | SetParametersByValue (const ParametersType &p) override |
|
virtual OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputDiffusionTensor3DType | TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputSymmetricSecondRankTensorType | TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const |
|
virtual OutputVectorPixelType | TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const |
|
virtual OutputVectorType | TransformVector (const InputVectorType &vector, const InputPointType &point) const |
|
virtual OutputVnlVectorType | TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const |
|
virtual void | UpdateTransformParameters (const DerivativeType &update, ParametersValueType factor=1.0) |
|
virtual void | ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &) const |
|
| itkLegacyMacro (virtual void ComputeJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const) |
|
| itkLegacyMacro (virtual void ComputeInverseJacobianWithRespectToPosition(const InputPointType &x, JacobianType &jacobian) const) |
|
virtual void | CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end)=0 |
|
virtual void | CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end)=0 |
|
virtual void | SetFixedParameters (const FixedParametersType &)=0 |
|
virtual void | SetParameters (const ParametersType &)=0 |
|
virtual void | SetParametersByValue (const ParametersType &p)=0 |
|
unsigned long | AddObserver (const EventObject &event, Command *) |
|
unsigned long | AddObserver (const EventObject &event, Command *) const |
|
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
|
virtual void | DebugOff () const |
|
virtual void | DebugOn () const |
|
Command * | GetCommand (unsigned long tag) |
|
bool | GetDebug () const |
|
MetaDataDictionary & | GetMetaDataDictionary () |
|
const MetaDataDictionary & | GetMetaDataDictionary () const |
|
virtual ModifiedTimeType | GetMTime () const |
|
virtual const TimeStamp & | GetTimeStamp () const |
|
bool | HasObserver (const EventObject &event) const |
|
void | InvokeEvent (const EventObject &) |
|
void | InvokeEvent (const EventObject &) const |
|
virtual void | Modified () const |
|
void | Register () const override |
|
void | RemoveAllObservers () |
|
void | RemoveObserver (unsigned long tag) |
|
void | SetDebug (bool debugFlag) const |
|
void | SetReferenceCount (int) override |
|
void | UnRegister () const noexcept override |
|
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
|
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
|
virtual void | SetObjectName (std::string _arg) |
|
virtual const std::string & | GetObjectName () const |
|
Pointer | Clone () const |
|
virtual void | Delete () |
|
virtual int | GetReferenceCount () const |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
template<typename TParametersValueType = double, unsigned int NDimensions = 3>
class itk::AzimuthElevationToCartesianTransform< TParametersValueType, 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 = 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).
- 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.
- Todo:
- Derive this class from TransformBase class. Currently, this class derives from AffineTransform, although it is not an affine transform.
- Todo:
- Add a figure in the documentation that informs the formulas used in this class that are used to transform Cartesian to azimuth-elevation-radius
- ITK Sphinx Examples:
-
- Examples
- SphinxExamples/src/Core/Transform/CartesianToAzimuthElevation/Code.cxx.
Definition at line 88 of file itkAzimuthElevationToCartesianTransform.h.