#include <itkBloxImage.h>
Inheritance diagram for itk::BloxImage< TBloxPixelType, TImageDimension >:


The itk::BloxImage object is a regular, rectilinear lattice of "blocks" in n-dimensional space. The word "blox" was chosen to bring to mind a set of "city blocks" in 2D or "building blocks" in 3D. Being a regular lattice, itkBloxImage logically derives from itkImage. In an itkBloxImage, each pixel represents an isometric space-filling block of geometric space, called an itkBloxPixel. Each itk::BloxPixel generally covers many pixels in the underlying image and is used to store a variable number of image primitives (such as boundary points) or features (such as medial nodes) gathered within that region of geometric space. To do this, each itkBloxPixel contains a linked list.
The itk::BloxImage object facilitates certain forms of analysis by providing geometric hashing. For example, if boundary points are stored in an itk::BloxImage, pairs of boundary points that face each other (called "core atoms") can be found by searching relatively small regions of geometric space that face each boundary point for appropriate mates. Because an itk::BloxImage is rectilinear in geometric space (even though the underlying image may not be) subsequent analysis can be invariant to rotation and translation.
itk::BloxImage is templated over pixel type; in general, the pixel type should be derived from itk::BloxPixel, however this is not enforced and other implementations are possible.
Note that itk::BloxPixel is itself templated over item type (the type of object stored in the linked list).
Definition at line 61 of file itkBloxImage.h.
Public Types | |
| typedef DefaultPixelAccessorFunctor< Self > | AccessorFunctorType |
| typedef DefaultPixelAccessor< PixelType > | AccessorType |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Superclass::DirectionType | DirectionType |
| typedef Superclass::IndexType | IndexType |
| typedef TBloxPixelType | InternalPixelType |
| typedef Superclass::IOPixelType | IOPixelType |
| typedef NeighborhoodAccessorFunctor< Self > | NeighborhoodAccessorFunctorType |
| typedef Superclass::OffsetType | OffsetType |
| typedef Superclass::OffsetValueType | OffsetValueType |
| typedef Superclass::PixelContainer | PixelContainer |
| typedef PixelContainer::ConstPointer | PixelContainerConstPointer |
| typedef PixelContainer::Pointer | PixelContainerPointer |
| typedef TBloxPixelType | PixelType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::PointType | PointType |
| typedef Superclass::RegionType | RegionType |
| typedef BloxImage | Self |
| typedef Superclass::SizeType | SizeType |
| typedef Superclass::SpacingType | SpacingType |
| typedef Image< TBloxPixelType, TImageDimension > | Superclass |
| typedef TBloxPixelType | ValueType |
Public Member Functions | |
| void | Allocate () |
| void | EmptyImage () |
| void | FillBuffer (const TBloxPixelType &value) |
| const TBloxPixelType * | GetBufferPointer () const |
| Return a pointer to the beginning of the buffer This is used by *the image iterator class *TBloxPixelType * | GetBufferPointer () |
| virtual const char * | GetNameOfClass () const |
| const NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () const |
| NeighborhoodAccessorFunctorType | GetNeighborhoodAccessor () |
| TBloxPixelType & | GetPixel (const IndexType &index) |
| const TBloxPixelType & | GetPixel (const IndexType &index) const |
| const AccessorType | GetPixelAccessor (void) const |
| AccessorType | GetPixelAccessor (void) |
| const PixelContainer * | GetPixelContainer () const |
| PixelContainer * | GetPixelContainer () |
| virtual void | Graft (const DataObject *data) |
| virtual void | Initialize () |
| itkStaticConstMacro (ImageDimension, unsigned int, VImageDimension) | |
| itkStaticConstMacro (ImageDimension, unsigned int, TImageDimension) | |
| const TBloxPixelType & | operator[] (const IndexType &index) const |
| TBloxPixelType & | operator[] (const IndexType &index) |
| Get a physical | point (in the space which *the origin and spacing infomation comes from)*from a continuous index(in the index space)*\sa Transform */template< class TCoordRep > void TransformContinuousIndexToPhysicalPoint(const ContinuousIndex< TCoordRep |
| void | SetPixel (const IndexType &index, const TBloxPixelType &value) |
| void | SetPixelContainer (PixelContainer *container) |
| void | SetRegions (SizeType size) |
| Convenience methods to set the *BufferedRegion and RequestedRegion Allocate must still be called *void | SetRegions (RegionType region) |
| bool | TransformPhysicalPointToContinuousIndex (const Point< TCoordRep, VImageDimension > &point, ContinuousIndex< TCoordRep, VImageDimension > &index) const |
| bool | TransformPhysicalPointToIndex (const Point< TCoordRep, VImageDimension > &point, IndexType &index) const |
Static Public Member Functions | |
| static Pointer | New () |
Public Attributes | |
| Get a physical VImageDimension & | index |
| Convenience methods to set the | LargestPossibleRegion |
Protected Member Functions | |
| BloxImage () | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual | ~BloxImage () |
|
|
Definition at line 116 of file itkImage.h. |
|
|||||
|
Accessor type that convert data between internal and external representations. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 92 of file itkBloxImage.h. |
|
|||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 69 of file itkBloxImage.h. |
|
|||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxCoreAtomImage< NDimension >. Definition at line 70 of file itkBloxImage.h. |
|
|
Direction typedef support. A matrix of direction cosines. Definition at line 141 of file itkImage.h. |
|
|||||
|
Index typedef support. An index is used to access pixel values. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 103 of file itkBloxImage.h. |
|
|||||
|
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::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 86 of file itkBloxImage.h. |
|
|||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >. Definition at line 88 of file itkBloxImage.h. |
|
|
Tyepdef for the functor used to access a neighborhood of pixel pointers. Definition at line 120 of file itkImage.h. |
|
|||||
|
Offset typedef support. An offset is used to access pixel values. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 104 of file itkBloxImage.h. |
|
|
Offset typedef (relative position between indices) Definition at line 159 of file itkImage.h. |
|
|||||
|
Convenient typedefs obtained from Superclass. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 101 of file itkBloxImage.h. |
|
|
Definition at line 156 of file itkImage.h. |
|
|||||
|
A pointer to the pixel container. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 108 of file itkBloxImage.h. |
|
|||||
|
Pixel typedef support. Used to declare pixel type in filters or other operations. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 76 of file itkBloxImage.h. |
|
|||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 68 of file itkBloxImage.h. |
|
|
Origin typedef support. The origin is the geometric coordinates of the index (0,0). Definition at line 152 of file itkImage.h. |
|
|||||
|
Region typedef support. A region is used to specify a subset of an image. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 105 of file itkBloxImage.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 66 of file itkBloxImage.h. |
|
|||||
|
Size typedef support. A size is used to define region bounds. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 102 of file itkBloxImage.h. |
|
|
Spacing typedef support. Spacing holds the size of a pixel. The spacing is the geometric distance between image samples. Definition at line 148 of file itkImage.h. |
|
|||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. Definition at line 67 of file itkBloxImage.h. |
|
|
Typedef alias for PixelType Definition at line 103 of file itkImage.h. |
|
|||||||||
|
|
|
|||||||||
|
|
|
|
Allocate the image memory. The size of the image must already be set, e.g. by calling SetRegions(). |
|
|||||||||
|
Traverse the entire image and empty all linked lists. This is used in filters prior to generating new data, to avoid appending the new data onto the old |
|
|
Fill the image buffer with a value. Be sure to call Allocate() first. |
|
|
Definition at line 241 of file itkImage.h. |
|
|
Definition at line 239 of file itkImage.h. |
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. |
|
|
Return the NeighborhoodAccessor functor Definition at line 282 of file itkImage.h. |
|
|
Return the NeighborhoodAccessor functor Definition at line 278 of file itkImage.h. |
|
|
Get a reference to a pixel (e.g. for editing). For efficiency, this function does not check that the image has actually been allocated yet. Definition at line 217 of file itkImage.h. |
|
|
Get a pixel (read only version). For efficiency, this function does not check that the image has actually been allocated yet. Definition at line 207 of file itkImage.h. |
|
|
Return the Pixel Accesor object Definition at line 274 of file itkImage.h. |
|
|
Return the Pixel Accessor object Definition at line 270 of file itkImage.h. |
|
|
Definition at line 249 of file itkImage.h. |
|
|
Return a pointer to the container. Definition at line 246 of file itkImage.h. |
|
|
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. |
|
|
Restore the data object to its initial state. This means releasing memory. |
|
||||||||||||||||
|
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. |
|
||||||||||||||||||||
|
Dimension of the image. This enum 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. |
|
|||||||||
|
Method for creation through the object factory. Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. |
|
|
Access a pixel. This version can only be an rvalue. For efficiency, this function does not check that the image has actually been allocated yet. Definition at line 234 of file itkImage.h. |
|
|
Access a pixel. This version can be an lvalue. For efficiency, this function does not check that the image has actually been allocated yet. Definition at line 227 of file itkImage.h. |
|
|
|
|
||||||||||||||||
|
Reimplemented from itk::Image< TBloxPixelType, TImageDimension >. Reimplemented in itk::BloxBoundaryPointImage< TImageDimension >, itk::BloxBoundaryProfileImage< TImageDimension >, and itk::BloxCoreAtomImage< NDimension >. |
|
||||||||||||
|
Set a pixel value. Allocate() needs to have been called first -- for efficiency, this function does not check that the image has actually been allocated yet. Definition at line 197 of file itkImage.h. |
|
|
Set the container to use. Note that this does not cause the DataObject to be modified. |
|
|
Definition at line 176 of file itkImage.h. |
|
|
Definition at line 168 of file itkImage.h. |
|
||||||||||||
|
Get the continuous index from a physical point. Returns true if the resulting index is within the image, false otherwise.
Definition at line 291 of file itkImage.h. |
|
||||||||||||
|
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 313 of file itkImage.h. |
|
|
Definition at line 338 of file itkImage.h. |
|
|
Definition at line 165 of file itkImage.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000