Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Templated 2D nonrectilinear-coordinate image class for curvilinear/phased-array "range" images. More...
#include <itkCurvilinearArraySpecialCoordinatesImage.h>
Public Types | |
typedef CurvilinearArraySpecialCoordinatesImage | Self |
typedef SpecialCoordinatesImage< TPixel, VDimension > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef WeakPointer< const Self > | ConstWeakPointer |
typedef TPixel | PixelType |
typedef TPixel | ValueType |
typedef TPixel | InternalPixelType |
typedef Superclass::IOPixelType | IOPixelType |
typedef DefaultPixelAccessor< PixelType > | AccessorType |
typedef DefaultPixelAccessorFunctor< Self > | AccessorFunctorType |
typedef NeighborhoodAccessorFunctor< Self > | NeighborhoodAccessorFunctorType |
typedef Superclass::IndexType | IndexType |
typedef Superclass::IndexValueType | IndexValueType |
typedef Superclass::OffsetType | OffsetType |
typedef Superclass::SizeType | SizeType |
typedef Superclass::SizeValueType | SizeValueType |
typedef ImportImageContainer< SizeValueType, PixelType > | PixelContainer |
typedef Superclass::RegionType | RegionType |
typedef Superclass::SpacingType | SpacingType |
typedef Superclass::PointType | PointType |
typedef PixelContainer::Pointer | PixelContainerPointer |
typedef PixelContainer::ConstPointer | PixelContainerConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (ImageDimension, unsigned int, VDimension) | |
virtual void | Graft (const DataObject *data) ITK_OVERRIDE |
template<typename TCoordRep > | |
bool | TransformPhysicalPointToContinuousIndex (const Point< TCoordRep, VDimension > &point, ContinuousIndex< TCoordRep, VDimension > &index) const |
Get the continuous index from a physical point. More... | |
template<typename TCoordRep > | |
bool | TransformPhysicalPointToIndex (const Point< TCoordRep, VDimension > &point, IndexType &index) const |
template<typename TCoordRep > | |
void | TransformContinuousIndexToPhysicalPoint (const ContinuousIndex< TCoordRep, VDimension > &index, Point< TCoordRep, VDimension > &point) const |
template<typename TCoordRep > | |
void | TransformIndexToPhysicalPoint (const IndexType &index, Point< TCoordRep, VDimension > &point) const |
virtual void | SetLateralAngularSeparation (double _arg) |
virtual double | GetLateralAngularSeparation () const |
virtual void | SetRadiusSampleSize (double _arg) |
virtual double | GetRadiusSampleSize () const |
virtual void | SetFirstSampleDistance (double _arg) |
virtual double | GetFirstSampleDistance () const |
template<typename TCoordRep > | |
void | TransformLocalVectorToPhysicalVector (FixedArray< TCoordRep, VDimension > &) const |
template<typename TCoordRep > | |
void | TransformPhysicalVectorToLocalVector (const FixedArray< TCoordRep, VDimension > &, FixedArray< TCoordRep, VDimension > &) const |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
CurvilinearArraySpecialCoordinatesImage () | |
virtual | ~CurvilinearArraySpecialCoordinatesImage () |
virtual void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
Templated 2D nonrectilinear-coordinate image class for curvilinear/phased-array "range" images.
* * +---------------------> x-axis * |\ * / | \ * |-~\ * / | \ * | \ * / | \ * | lateral * | * v y-axis * *
The equations form performing the conversion from Cartesian coordinates to curvilinear/phased array coordinates are as follows:
lateral = arctan(x/y) radius = std::sqrt(x^2 + y^2)
The reversed transforms are:
x = radius * std::sin(lateral) y = radius * std::cos(lateral)
CurvilinearArraySpecialCoordinatesImages are templated over a pixel type and follow the SpecialCoordinatesImage interface. The data in an image is arranged in a 1D array as [lateral-index][radius-index] with radius-index varying most rapidly. The Index type reverses the order so that Index[0] = radius-index, Index[1] = lateral-index.
Lateral is discretized into m_LateralAngularSeparation intervals per angular voxel, the most negative lateral interval containing data is then mapped to lateral-index=0, and the largest lateral interval containing data is then mapped to lateral-index=( number of samples along lateral axis - 1 ). Elevation is discretized in the same manner. This way, the mapping to Cartesian space is symmetric about the x axis such that the line defined by lateral/2 = x-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 99 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef DefaultPixelAccessorFunctor< Self > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::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.
Definition at line 138 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef DefaultPixelAccessor< PixelType > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::AccessorType |
Accessor type that convert data between internal and external representations.
Definition at line 133 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef SmartPointer< const Self > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::ConstPointer |
Definition at line 107 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef WeakPointer< const Self > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::ConstWeakPointer |
Definition at line 108 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::IndexType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::IndexType |
Index typedef support. An index is used to access pixel values.
Definition at line 151 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::IndexValueType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::IndexValueType |
Definition at line 152 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef TPixel itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::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.
Definition at line 127 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::IOPixelType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::IOPixelType |
Definition at line 129 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef NeighborhoodAccessorFunctor< Self > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::NeighborhoodAccessorFunctorType |
Typedef for the functor used to access a neighborhood of pixel pointers.
Definition at line 142 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::OffsetType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::OffsetType |
Offset typedef support. An offset is used to access pixel values.
Definition at line 155 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef ImportImageContainer< SizeValueType, PixelType > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::PixelContainer |
Container used to store pixels in the image.
Definition at line 162 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef PixelContainer::ConstPointer itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::PixelContainerConstPointer |
Definition at line 185 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef PixelContainer::Pointer itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::PixelContainerPointer |
A pointer to the pixel container.
Definition at line 184 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef TPixel itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::PixelType |
Pixel typedef support. Used to declare pixel type in filters or other operations.
Definition at line 114 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef SmartPointer< Self > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::Pointer |
Definition at line 106 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::PointType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::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.
Definition at line 181 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::RegionType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::RegionType |
Region typedef support. A region is used to specify a subset of an image.
Definition at line 167 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef CurvilinearArraySpecialCoordinatesImage itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::Self |
Standard class typedefs
Definition at line 104 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::SizeType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::SizeType |
Size typedef support. A size is used to define region bounds.
Definition at line 158 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::SizeValueType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::SizeValueType |
Definition at line 159 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef Superclass::SpacingType itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::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.
Definition at line 175 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef SpecialCoordinatesImage< TPixel, VDimension > itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::Superclass |
Definition at line 105 of file itkCurvilinearArraySpecialCoordinatesImage.h.
typedef TPixel itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::ValueType |
Typedef alias for PixelType
Definition at line 121 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
inlineprotected |
Definition at line 322 of file itkCurvilinearArraySpecialCoordinatesImage.h.
Referenced by itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::~CurvilinearArraySpecialCoordinatesImage().
|
inlineprotectedvirtual |
|
virtual |
Run-time type information (and related methods).
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Graft the data and information from one image to another. This is a convenience method to setup a second image with all the meta information of another image and use the same pixel container. Note that this method is different than just using two SmartPointers to the same image since separate DataObjects are still maintained. This method is similar to ImageSource::GraftOutput(). The implementation in ImageBase simply calls CopyInformation() and copies the region ivars. The implementation here refers to the superclass' implementation and then copies over the pixel container.
itk::CurvilinearArraySpecialCoordinatesImage< TPixel, VDimension >::itkStaticConstMacro | ( | ImageDimension | , |
unsigned | int, | ||
VDimension | |||
) |
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.
|
static |
Method for creation through the object factory.
|
protectedvirtual |
|
virtual |
Set the distance to add to the radius.
|
virtual |
Set/Get the number of radians between each lateral unit.
|
virtual |
Set/Get the number of cartesian units between each unit along the R .
|
inline |
Get a physical point (in the space which the origin and spacing information comes from) from a continuous index (in the index space)
Definition at line 260 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
inline |
Get a physical point (in the space which the origin and spacing information comes from) from a discrete index (in the index space)
Definition at line 282 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
inline |
Definition at line 311 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
inline |
Get the continuous index from a physical point.
Returns true if the resulting index is within the image, false otherwise.
Definition at line 204 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
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 232 of file itkCurvilinearArraySpecialCoordinatesImage.h.
|
inline |
Definition at line 316 of file itkCurvilinearArraySpecialCoordinatesImage.h.