#include <itkImageBase.h>
Inheritance diagram for itk::ImageBase< VImageDimension >:
[NOHEADER] | |
IndexType | ComputeIndex (OffsetValueType offset) const |
virtual void | CopyInformation (const DataObject *data) |
virtual void | Graft (const DataObject *data) |
virtual void | UpdateOutputInformation () |
virtual void | SetRequestedRegionToLargestPossibleRegion () |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () |
virtual bool | VerifyRequestedRegion () |
ImageBase () | |
~ImageBase () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
void | ComputeOffsetTable () |
SpacingType | m_Spacing |
PointType | m_Origin |
DirectionType | m_Direction |
Public Types | |
typedef ImageBase | Self |
typedef DataObject | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Index< VImageDimension > | IndexType |
typedef IndexType::IndexValueType | IndexValueType |
typedef Offset< VImageDimension > | OffsetType |
typedef OffsetType::OffsetValueType | OffsetValueType |
typedef Size< VImageDimension > | SizeType |
typedef SizeType::SizeValueType | SizeValueType |
typedef ImageRegion< VImageDimension > | RegionType |
typedef Vector< double, VImageDimension > | SpacingType |
typedef Point< double, VImageDimension > | PointType |
typedef Matrix< double, VImageDimension, VImageDimension > | DirectionType |
Public Member Functions | |
virtual const char * | GetNameOfClass () const |
itkStaticConstMacro (ImageDimension, unsigned int, VImageDimension) | |
void | Initialize () |
virtual void | SetDirection (const DirectionType direction) |
virtual const DirectionType & | GetDirection () |
virtual const SpacingType & | GetSpacing () |
virtual const PointType & | GetOrigin () |
virtual void | SetLargestPossibleRegion (const RegionType ®ion) |
virtual const RegionType & | GetLargestPossibleRegion () const |
virtual void | SetBufferedRegion (const RegionType ®ion) |
virtual const RegionType & | GetBufferedRegion () const |
virtual void | SetRequestedRegion (const RegionType ®ion) |
virtual void | SetRequestedRegion (DataObject *data) |
virtual const RegionType & | GetRequestedRegion () const |
OffsetValueType | ComputeOffset (const IndexType &ind) const |
virtual void | SetOrigin (PointType _arg) |
virtual void | SetOrigin (const double origin[VImageDimension]) |
virtual void | SetOrigin (const float origin[VImageDimension]) |
virtual void | SetSpacing (SpacingType _arg) |
virtual void | SetSpacing (const double spacing[VImageDimension]) |
virtual void | SetSpacing (const float spacing[VImageDimension]) |
const OffsetValueType * | GetOffsetTable () const |
Static Public Member Functions | |
Pointer | New () |
unsigned int | GetImageDimension () |
ImageBase is the base class for the templated Image classes. ImageBase is templated over the dimension of the image. It provides the API and ivars that depend solely on the dimension of the image. ImageBase does not store any of the image (pixel) data. Storage for the pixels and the pixel access methods are defined in subclasses of ImageBase, namely Image and ImageAdaptor.
There are three sets of meta-data describing an image. These are "Region" objects that define a portion of an image via a starting index for the image array and a size. The ivar LargestPossibleRegion defines the size and starting index of the image dataset. The entire image dataset, however, may not be resident in memory. The region of the image that is resident in memory is defined by the "BufferedRegion". The Buffer is a contiguous block of memory. The third set of meta-data defines a region of interest, called the "RequestedRegion". The RequestedRegion is used by the pipeline execution model to define what a filter is requested to produce.
[RegionIndex, RegionSize] C [BufferIndex, BufferSize] C [ImageIndex, ImageSize]
Definition at line 79 of file itkImageBase.h.
|
|
Direction typedef support. The Direction is a matix of direction cosines that specify the direction between samples. Reimplemented in itk::Image< TPixel, VImageDimension >, itk::OrientedImage< TPixel, VImageDimension >, itk::VectorImage< TPixel, VImageDimension >, itk::Image< VariableLengthVector< TPixelType >, VImageDimension >, itk::Image< GradientPixelType, itkGetStaticConstMacro(ImageDimension), itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< VariableLengthVector< TPixel >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, and itk::VectorImage< TPixelType, Dimension >. Definition at line 128 of file itkImageBase.h. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Bounds checking is not performed. Thus, the computed index could be outside the BufferedRegion. To ensure a valid index, the parameter "offset" should be between 0 and the number of pixels in the BufferedRegion (the latter can be found using ImageRegion::GetNumberOfPixels()). |
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Bounds checking is not performed. Thus, the computed index could be outside the BufferedRegion. To ensure a valid index, the parameter "offset" should be between 0 and the number of pixels in the BufferedRegion (the latter can be found using ImageRegion::GetNumberOfPixels()). |
|
|
Compute an offset from the beginning of the buffer for a pixel at the specified index. The index is not checked as to whether it is inside the current buffer, so the computed offset could conceivably be outside the buffer. If bounds checking is needed, one can call ImageRegion::IsInside(ind) on the BufferedRegion prior to calling ComputeOffset. Definition at line 252 of file itkImageBase.h. |
|
Calculate the offsets needed to move from one pixel to the next along a row, column, slice, volume, etc. These offsets are based on the size of the BufferedRegion. This should be called after the BufferedRegion is set. |
|
|
|
Get the direction cosines of the image. The direction cosines are vectors that point from one pixel to the next. For ImageBase and Image, the default direction is identity. |
|
Image dimension. The dimension of an image is fixed at construction. Definition at line 134 of file itkImageBase.h. |
|
|
|
|
Get the origin of the image. The origin is the geometric coordinates of the index (0,0). The value returned is a pointer to a double array. For ImageBase and Image, the default origin is 0. |
|
|
Get the spacing (size of a pixel) `of the image. The spacing is the geometric distance between image samples. The value returned is a pointer to a double array. For ImageBase and Image, the default data spacing is unity. |
|
|
|
|
|
|
Determine whether the RequestedRegion is outside of the BufferedRegion. This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute Reimplemented from itk::DataObject. |
|
|
Set the direction cosines of the image. The direction cosines are vectors that point from one pixel to the next.
Reimplemented in itk::OrientedImage< TPixel, VImageDimension >. |
|
|
Set the origin of the image. The origin is the geometric coordinates of the image origin. It is stored internally as double but may be set from float.
Reimplemented in itk::SpecialCoordinatesImage< TPixel, VImageDimension >, and itk::SpecialCoordinatesImage< TPixel, 3 >. |
|
Set the origin of the image. The origin is the geometric coordinates of the image origin. It is stored internally as double but may be set from float.
Reimplemented in itk::SpecialCoordinatesImage< TPixel, VImageDimension >, and itk::SpecialCoordinatesImage< TPixel, 3 >. |
|
|
|
|
|
Set the spacing (size of a pixel) of the image. The spacing is the geometric distance between image samples. It is stored internally as double, but may be set from float.
Reimplemented in itk::OrientedImage< TPixel, VImageDimension >, itk::SpecialCoordinatesImage< TPixel, VImageDimension >, and itk::SpecialCoordinatesImage< TPixel, 3 >. |
|
Set the spacing (size of a pixel) of the image. The spacing is the geometric distance between image samples. It is stored internally as double, but may be set from float.
Reimplemented in itk::OrientedImage< TPixel, VImageDimension >, itk::SpecialCoordinatesImage< TPixel, VImageDimension >, and itk::SpecialCoordinatesImage< TPixel, 3 >. |
|
|
|
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Bounds checking is not performed. Thus, the computed index could be outside the BufferedRegion. To ensure a valid index, the parameter "offset" should be between 0 and the number of pixels in the BufferedRegion (the latter can be found using ImageRegion::GetNumberOfPixels()). Definition at line 391 of file itkImageBase.h. |
|
Compute the index of the pixel at a specified offset from the beginning of the buffered region. Bounds checking is not performed. Thus, the computed index could be outside the BufferedRegion. To ensure a valid index, the parameter "offset" should be between 0 and the number of pixels in the BufferedRegion (the latter can be found using ImageRegion::GetNumberOfPixels()). Definition at line 390 of file itkImageBase.h. |
|
Origin and spacing of physical coordinates. This variables are protected for efficiency. They are referenced frequently by inner loop calculations. Definition at line 389 of file itkImageBase.h. |