Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::ImagePixelWriteAccessor< TPixel, VDimension > Class Template Reference

Gives locked and index-based write access for a particular image part. The class provides several set- and get-methods, which allow an easy pixel access. It needs to know about pixel type and dimension of its image at compile time. More...

#include <mitkImagePixelWriteAccessor.h>

Inheritance diagram for mitk::ImagePixelWriteAccessor< TPixel, VDimension >:
Collaboration diagram for mitk::ImagePixelWriteAccessor< TPixel, VDimension >:

Public Types

typedef ImagePixelAccessor< TPixel, VDimension > ImagePixelAccessorType
 
typedef itk::SmartPointer< mitk::ImageImagePointer
 
- Public Types inherited from mitk::ImagePixelAccessor< TPixel, VDimension >
typedef itk::Index< VDimension > IndexType
 
typedef ImagePixelAccessor< TPixel, VDimension > ImagePixelAccessorType
 
typedef Image::ConstPointer ImageConstPointer
 

Public Member Functions

 ImagePixelWriteAccessor (ImagePointer iP, const ImageDataItem *iDI=nullptr, int OptionFlags=ImageAccessorBase::DefaultBehavior)
 Instantiates a mitk::ImageWriteAccessor (see its doxygen page for more details) More...
 
virtual TPixel * GetData () const
 Gives full data access. More...
 
void SetPixelByIndex (const itk::Index< VDimension > &idx, const TPixel &value)
 Sets a pixel value at given index. More...
 
void SetPixelByIndexSafe (const itk::Index< VDimension > &idx, const TPixel &value)
 
const TPixel & GetPixelByIndex (const itk::Index< VDimension > &idx) const
 
const TPixel & GetPixelByIndexSafe (const itk::Index< VDimension > &idx) const
 
const TPixel & GetPixelByWorldCoordinates (mitk::Point3D position)
 
void SetPixelByWorldCoordinates (const mitk::Point3D &, const TPixel &value, unsigned int timestep=0)
 
virtual ~ImagePixelWriteAccessor ()
 
- Public Member Functions inherited from mitk::ImagePixelAccessor< TPixel, VDimension >
int GetDimension (int i) const
 

Additional Inherited Members

- Protected Member Functions inherited from mitk::ImagePixelAccessor< TPixel, VDimension >
 ImagePixelAccessor (ImageConstPointer iP, const mitk::ImageDataItem *iDI)
 
virtual ~ImagePixelAccessor ()
 
void CheckData (const Image *image)
 
unsigned int GetOffset (const IndexType &idx) const
 
- Protected Attributes inherited from mitk::ImagePixelAccessor< TPixel, VDimension >
const ImageDataItemm_ImageDataItem
 
BaseGeometry::Pointer m_Geometry
 Pointer to the used Geometry. Since Geometry can be different to the Image (if memory was forced to be coherent) it is necessary to store Geometry separately. More...
 
itk::ImageRegion< VDimension > * m_SubRegion
 A Subregion defines an arbitrary area within the image. If no SubRegion is defined, the whole ImageDataItem or Image is regarded. A subregion (e.g. subvolume) can lead to non-coherent memory access where every dimension has a start- and end-offset. More...
 
int m_Options
 Stores all extended properties of an ImageAccessor. The different flags in mitk::ImageAccessorBase::Options can be unified by bitwise operations. More...
 

Detailed Description

template<class TPixel, unsigned int VDimension = 3>
class mitk::ImagePixelWriteAccessor< TPixel, VDimension >

Gives locked and index-based write access for a particular image part. The class provides several set- and get-methods, which allow an easy pixel access. It needs to know about pixel type and dimension of its image at compile time.

Template Parameters
TPixeldefines the PixelType
VDimensiondefines the dimension for accessing data

Definition at line 34 of file mitkImagePixelWriteAccessor.h.

Member Typedef Documentation

template<class TPixel, unsigned int VDimension = 3>
typedef ImagePixelAccessor<TPixel, VDimension> mitk::ImagePixelWriteAccessor< TPixel, VDimension >::ImagePixelAccessorType

Definition at line 39 of file mitkImagePixelWriteAccessor.h.

template<class TPixel, unsigned int VDimension = 3>
typedef itk::SmartPointer<mitk::Image> mitk::ImagePixelWriteAccessor< TPixel, VDimension >::ImagePointer

Definition at line 40 of file mitkImagePixelWriteAccessor.h.

Constructor & Destructor Documentation

template<class TPixel, unsigned int VDimension = 3>
mitk::ImagePixelWriteAccessor< TPixel, VDimension >::ImagePixelWriteAccessor ( ImagePointer  iP,
const ImageDataItem iDI = nullptr,
int  OptionFlags = ImageAccessorBase::DefaultBehavior 
)
inline

Instantiates a mitk::ImageWriteAccessor (see its doxygen page for more details)

Parameters
Image::Pointerspecifies the associated Image
ImageDataItem*specifies the allocated image part
OptionFlagsproperties from mitk::ImageAccessorBase::Options can be chosen and assembled with bitwise unification.
Exceptions
mitk::Exceptionif the Constructor was created inappropriately
mitk::MemoryIsLockedExceptionif requested image area is exclusively locked and mitk::ImageAccessorBase::ExceptionIfLocked is set in OptionFlags

Includes a check if typeid of PixelType coincides with templated TPixel and a check if VDimension equals to the Dimension of the Image.

Note
To avoid intermittent Update() calls to a predecessing filter pipeline, a call to Modifed() method after the access is finished is left to the developer.

Definition at line 58 of file mitkImagePixelWriteAccessor.h.

template<class TPixel, unsigned int VDimension = 3>
virtual mitk::ImagePixelWriteAccessor< TPixel, VDimension >::~ImagePixelWriteAccessor ( )
inlinevirtual

Definition at line 134 of file mitkImagePixelWriteAccessor.h.

Member Function Documentation

template<class TPixel, unsigned int VDimension = 3>
virtual TPixel* mitk::ImagePixelWriteAccessor< TPixel, VDimension >::GetData ( ) const
inlinevirtual

Gives full data access.

Definition at line 66 of file mitkImagePixelWriteAccessor.h.

References mitk::ImageAccessorBase::m_AddressBegin.

template<class TPixel, unsigned int VDimension = 3>
const TPixel& mitk::ImagePixelWriteAccessor< TPixel, VDimension >::GetPixelByIndex ( const itk::Index< VDimension > &  idx) const
inline
template<class TPixel, unsigned int VDimension = 3>
const TPixel& mitk::ImagePixelWriteAccessor< TPixel, VDimension >::GetPixelByIndexSafe ( const itk::Index< VDimension > &  idx) const
inline

Extends GetPixel by integrating index validation to prevent overflow.

Exceptions
mitk::Exceptionin case of overflow

Definition at line 106 of file mitkImagePixelWriteAccessor.h.

References mitk::ImagePixelAccessor< TPixel, VDimension >::GetOffset(), mitk::ImageAccessorBase::m_AddressBegin, mitk::ImageAccessorBase::m_AddressEnd, mitkThrow, and offset.

Referenced by ThreadMethod().

template<class TPixel, unsigned int VDimension = 3>
const TPixel& mitk::ImagePixelWriteAccessor< TPixel, VDimension >::GetPixelByWorldCoordinates ( mitk::Point3D  position)
inline

Returns a const reference to the pixel at given world coordinate - works only with three-dimensional ImageAccessor

Definition at line 123 of file mitkImagePixelWriteAccessor.h.

References mitk::BaseData::GetGeometry(), mitk::ImageWriteAccessor::GetImage(), mitk::ImagePixelWriteAccessor< TPixel, VDimension >::GetPixelByIndex(), and mitk::BaseGeometry::WorldToIndex().

template<class TPixel, unsigned int VDimension = 3>
void mitk::ImagePixelWriteAccessor< TPixel, VDimension >::SetPixelByIndex ( const itk::Index< VDimension > &  idx,
const TPixel &  value 
)
inline
template<class TPixel, unsigned int VDimension = 3>
void mitk::ImagePixelWriteAccessor< TPixel, VDimension >::SetPixelByIndexSafe ( const itk::Index< VDimension > &  idx,
const TPixel &  value 
)
inline

Extends SetPixel by integrating index validation to prevent overflow.

Definition at line 76 of file mitkImagePixelWriteAccessor.h.

References mitk::ImagePixelAccessor< TPixel, VDimension >::GetOffset(), mitk::ImageAccessorBase::m_AddressBegin, mitk::ImageAccessorBase::m_AddressEnd, mitkThrow, and offset.

Referenced by ThreadMethod().

template<class TPixel, unsigned int VDimension = 3>
void mitk::ImagePixelWriteAccessor< TPixel, VDimension >::SetPixelByWorldCoordinates ( const mitk::Point3D ,
const TPixel &  value,
unsigned int  timestep = 0 
)

Returns a reference to the pixel at given world coordinate


The documentation for this class was generated from the following file: