ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkPhasedArray3DSpecialCoordinatesImage.h>
Templated 3D nonrectilinear-coordinate image class for phased-array "range" images.
y-axis <--------------------+ |\ / | \ `~-| \ / | \ ele- | \ / vation | \ projection | v x-axis to y-z plane -> o | v z-axis
In a phased array "range" image, a point in space is represented by the angle between its projection onto the x-z plane and the z-axis (the azimuth coordinate), the angle between its projection onto the y-z plane and the z-axis (the elevation coordinate), and by its distance from the origin (the radius). See the diagram above, which illustrates elevation.
The equations form performing the conversion from Cartesian coordinates to 3D phased array coordinates are as follows:
azimuth = arctan(x/y) elevation = arctan(y/z) radius = vcl_sqrt(x^2 + y^2 + z^2)
The reversed transforms are:
z = radius / vcl_sqrt(1 + (tan(azimuth))^2 + (tan(elevation))^2 ); x = z * vcl_tan(azimuth) y = z * vcl_tan(elevation)
PhasedArray3DSpecialCoordinatesImages are templated over a pixel type and follow the SpecialCoordinatesImage interface. The data in an image is arranged in a 1D array as [radius-index][elevation-index][azimuth-index] with azimuth-index varying most rapidly. The Index type reverses the order so that Index[0] = azimuth-index, Index[1] = elevation-index, and Index[2] = radius-index.
Azimuth is discretized into m_AzimuthAngularSeparation intervals per angular voxel, the most negative azimuth interval containing data is then mapped to azimuth-index=0, and the largest azimuth interval containing data is then mapped to azimuth-index=( number of samples along azimuth axis - 1 ). Elevation is discretized in the same manner. This way, the mapping to Cartesian space is symmetric about the z axis such that the line defined by azimuth/2,elevation/2 = z-axis. Radius is discretized into m_RadiusSampleSize units per angular voxel. The smallest range interval containing data is then mapped to radius-index=0, such that radius = m_FirstSampleDistance + (radius-index * m_RadiusSampleSize).
Definition at line 90 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef DefaultPixelAccessorFunctor< Self > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::AccessorFunctorType |
Accessor functor to choose between accessors: DefaultPixelAccessor for the Image, and DefaultVectorPixelAccessor for the vector image. The functor provides a generic API between the two accessors.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 129 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef DefaultPixelAccessor< PixelType > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::AccessorType |
Accessor type that convert data between internal and external representations.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 124 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef SmartPointer< const Self > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::ConstPointer |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 98 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef WeakPointer< const Self > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::ConstWeakPointer |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 99 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::IndexType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::IndexType |
Index typedef support. An index is used to access pixel values.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 138 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::IndexValueType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::IndexValueType |
Reimplemented from itk::ImageBase< VImageDimension >.
Definition at line 139 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef TPixel itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::InternalPixelType |
Internal Pixel representation. Used to maintain a uniform API with Image Adaptors and allow to keep a particular internal representation of data while showing a different external representation.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 118 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::IOPixelType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::IOPixelType |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 120 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::OffsetType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::OffsetType |
Offset typedef support. An offset is used to access pixel values.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 142 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef ImportImageContainer< SizeValueType, PixelType > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PixelContainer |
Container used to store pixels in the image.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 149 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef PixelContainer::ConstPointer itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PixelContainerConstPointer |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 172 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef PixelContainer::Pointer itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PixelContainerPointer |
A pointer to the pixel container.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 171 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef TPixel itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PixelType |
Pixel typedef support. Used to declare pixel type in filters or other operations.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 105 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef SmartPointer< Self > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::Pointer |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 97 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::PointType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PointType |
Origin typedef support. The origin is the "fake" geometric coordinates of the index (0,0). Also for use w/ filters designed for normal images.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 168 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::RegionType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::RegionType |
Region typedef support. A region is used to specify a subset of an image.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 154 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef PhasedArray3DSpecialCoordinatesImage itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::Self |
Standard class typedefs
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 95 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::SizeType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SizeType |
Size typedef support. A size is used to define region bounds.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 145 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::SizeValueType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SizeValueType |
Reimplemented from itk::ImageBase< VImageDimension >.
Definition at line 146 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef Superclass::SpacingType itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SpacingType |
Spacing typedef support. Spacing holds the "fake" size of a pixel, making each pixel look like a 1 unit hyper-cube to filters that were designed for normal images and that therefore use m_Spacing. The spacing is the geometric distance between image samples.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 162 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef SpecialCoordinatesImage< TPixel, 3 > itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::Superclass |
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 96 of file itkPhasedArray3DSpecialCoordinatesImage.h.
typedef TPixel itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::ValueType |
Typedef alias for PixelType
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 112 of file itkPhasedArray3DSpecialCoordinatesImage.h.
itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PhasedArray3DSpecialCoordinatesImage | ( | ) | [inline, protected] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 340 of file itkPhasedArray3DSpecialCoordinatesImage.h.
References itk::Math::pi.
virtual itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::~PhasedArray3DSpecialCoordinatesImage | ( | ) | [inline, protected, virtual] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 350 of file itkPhasedArray3DSpecialCoordinatesImage.h.
itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PhasedArray3DSpecialCoordinatesImage | ( | const Self & | ) | [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
virtual::itk::LightObject::Pointer itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::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::SpecialCoordinatesImage< TPixel, 3 >.
virtual const char* itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
static Pointer itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::operator= | ( | const Self & | ) | [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
virtual void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SetAzimuthAngularSeparation | ( | double | _arg | ) | [virtual] |
Set the number of radians between each azimuth unit.
virtual void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SetElevationAngularSeparation | ( | double | _arg | ) | [virtual] |
Set the number of radians between each elevation unit.
virtual void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SetFirstSampleDistance | ( | double | _arg | ) | [virtual] |
Set the distance to add to the radius.
virtual void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::SetRadiusSampleSize | ( | double | _arg | ) | [virtual] |
Set the number of cartesian units between each unit along the R .
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformContinuousIndexToPhysicalPoint | ( | const ContinuousIndex< TCoordRep, 3 > & | index, |
Point< TCoordRep, 3 > & | point | ||
) | const [inline] |
Get a physical point (in the space which the origin and spacing infomation comes from) from a continuous index (in the index space)
Definition at line 251 of file itkPhasedArray3DSpecialCoordinatesImage.h.
References itk::ImageRegion< VImageDimension >::GetSize().
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformIndexToPhysicalPoint | ( | const IndexType & | index, |
Point< TCoordRep, 3 > & | point | ||
) | const [inline] |
Get a physical point (in the space which the origin and spacing infomation comes from) from a discrete index (in the index space)
Definition at line 285 of file itkPhasedArray3DSpecialCoordinatesImage.h.
References itk::ImageRegion< VImageDimension >::GetSize().
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformLocalVectorToPhysicalVector | ( | FixedArray< TCoordRep, 3 > & | ) | const [inline] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 329 of file itkPhasedArray3DSpecialCoordinatesImage.h.
bool itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToContinuousIndex | ( | const Point< TCoordRep, 3 > & | point, |
ContinuousIndex< TCoordRep, 3 > & | index | ||
) | const [inline] |
Get the continuous index from a physical point.
Returns true if the resulting index is within the image, false otherwise.
Definition at line 179 of file itkPhasedArray3DSpecialCoordinatesImage.h.
References itk::ImageRegion< VImageDimension >::GetSize(), and itk::ImageRegion< VImageDimension >::IsInside().
bool itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalPointToIndex | ( | const Point< TCoordRep, 3 > & | point, |
IndexType & | index | ||
) | const [inline] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 213 of file itkPhasedArray3DSpecialCoordinatesImage.h.
References itk::ImageRegion< VImageDimension >::GetSize(), and itk::ImageRegion< VImageDimension >::IsInside().
void itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::TransformPhysicalVectorToLocalVector | ( | const FixedArray< TCoordRep, 3 > & | , |
FixedArray< TCoordRep, 3 > & | |||
) | const [inline] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 334 of file itkPhasedArray3DSpecialCoordinatesImage.h.
const unsigned int itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::ImageDimension = 3 [static] |
Dimension of the image. This constant is used by functions that are templated over image type (as opposed to being templated over pixel type and dimension) when they need compile time access to the dimension of the image.
Reimplemented from itk::SpecialCoordinatesImage< TPixel, 3 >.
Definition at line 135 of file itkPhasedArray3DSpecialCoordinatesImage.h.
double itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::m_AzimuthAngularSeparation [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 359 of file itkPhasedArray3DSpecialCoordinatesImage.h.
double itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::m_ElevationAngularSeparation [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 360 of file itkPhasedArray3DSpecialCoordinatesImage.h.
double itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::m_FirstSampleDistance [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 362 of file itkPhasedArray3DSpecialCoordinatesImage.h.
double itk::PhasedArray3DSpecialCoordinatesImage< TPixel >::m_RadiusSampleSize [private] |
Get the index (discrete) from a physical point. Floating point index results are truncated to integers. Returns true if the resulting index is within the image, false otherwise
Definition at line 361 of file itkPhasedArray3DSpecialCoordinatesImage.h.