Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitk::ImagePixelReadAccessor< TPixel, VDimension > Class Template Reference

Gives locked and index-based read 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 <mitkImagePixelReadAccessor.h>

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

Public Types

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

Public Member Functions

 ImagePixelReadAccessor (ImageConstPointer iP, const ImageDataItem *iDI=nullptr, int OptionFlags=ImageAccessorBase::DefaultBehavior)
 Instantiates a mitk::ImageReadAccessor (see its doxygen page for more details) More...
 
 ImagePixelReadAccessor (ImagePointer iP, const ImageDataItem *iDI=nullptr, int OptionFlags=ImageAccessorBase::DefaultBehavior)
 
 ImagePixelReadAccessor (Image *iP, const ImageDataItem *iDI=nullptr, int OptionFlags=ImageAccessorBase::DefaultBehavior)
 
 ImagePixelReadAccessor (const Image *iP, const ImageDataItem *iDI=nullptr, int OptionFlags=ImageAccessorBase::DefaultBehavior)
 
 ~ImagePixelReadAccessor () override
 
const TPixel & GetPixelByIndex (const itk::Index< VDimension > &idx) const
 
itk::VariableLengthVector< TPixel > GetConsecutivePixelsAsVector (const itk::Index< VDimension > &idx, int nrComponents) const
 
const TPixel & GetPixelByIndexSafe (const itk::Index< VDimension > &idx) const
 
const TPixel & GetPixelByWorldCoordinates (mitk::Point3D position)
 
const TPixel & GetPixelByWorldCoordinates (mitk::Point3D position, unsigned int timestep)
 
const TPixel * GetData () const
 Gives const access to the data. More...
 
- Public Member Functions inherited from mitk::ImagePixelAccessor< TPixel, 3 >
int GetDimension (int i) const
 

Additional Inherited Members

- Protected Member Functions inherited from mitk::ImagePixelAccessor< TPixel, 3 >
 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, 3 >
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::ImagePixelReadAccessor< TPixel, VDimension >

Gives locked and index-based read 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 32 of file mitkImagePixelReadAccessor.h.

Member Typedef Documentation

◆ ImageConstPointer

template<class TPixel , unsigned int VDimension = 3>
typedef itk::SmartPointer<const mitk::Image> mitk::ImagePixelReadAccessor< TPixel, VDimension >::ImageConstPointer

Definition at line 39 of file mitkImagePixelReadAccessor.h.

◆ ImagePixelAccessorType

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

Definition at line 37 of file mitkImagePixelReadAccessor.h.

◆ ImagePointer

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

Definition at line 38 of file mitkImagePixelReadAccessor.h.

Constructor & Destructor Documentation

◆ ImagePixelReadAccessor() [1/4]

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

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

Parameters
iPspecifies the associated Image
iDIspecifies 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.

Definition at line 53 of file mitkImagePixelReadAccessor.h.

◆ ImagePixelReadAccessor() [2/4]

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

Definition at line 60 of file mitkImagePixelReadAccessor.h.

◆ ImagePixelReadAccessor() [3/4]

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

Definition at line 67 of file mitkImagePixelReadAccessor.h.

◆ ImagePixelReadAccessor() [4/4]

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

Definition at line 74 of file mitkImagePixelReadAccessor.h.

◆ ~ImagePixelReadAccessor()

template<class TPixel , unsigned int VDimension = 3>
mitk::ImagePixelReadAccessor< TPixel, VDimension >::~ImagePixelReadAccessor ( )
inlineoverride

Destructor informs Image to unlock memory.

Definition at line 82 of file mitkImagePixelReadAccessor.h.

Member Function Documentation

◆ GetConsecutivePixelsAsVector()

template<class TPixel , unsigned int VDimension = 3>
itk::VariableLengthVector<TPixel> mitk::ImagePixelReadAccessor< TPixel, VDimension >::GetConsecutivePixelsAsVector ( const itk::Index< VDimension > &  idx,
int  nrComponents 
) const
inline

◆ GetData()

template<class TPixel , unsigned int VDimension = 3>
const TPixel* mitk::ImagePixelReadAccessor< TPixel, VDimension >::GetData ( ) const
inline

Gives const access to the data.

Definition at line 148 of file mitkImagePixelReadAccessor.h.

References mitk::ImageAccessorBase::m_AddressBegin.

◆ GetPixelByIndex()

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

◆ GetPixelByIndexSafe()

template<class TPixel , unsigned int VDimension = 3>
const TPixel& mitk::ImagePixelReadAccessor< 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 103 of file mitkImagePixelReadAccessor.h.

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

◆ GetPixelByWorldCoordinates() [1/2]

template<class TPixel , unsigned int VDimension = 3>
const TPixel& mitk::ImagePixelReadAccessor< 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 120 of file mitkImagePixelReadAccessor.h.

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

◆ GetPixelByWorldCoordinates() [2/2]

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

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

Definition at line 131 of file mitkImagePixelReadAccessor.h.

References mitk::BaseData::GetGeometry(), mitk::ImageReadAccessor::GetImage(), mitk::ImagePixelReadAccessor< TPixel, VDimension >::GetPixelByIndex(), mitk::BaseData::GetTimeSteps(), and mitk::BaseGeometry::WorldToIndex().


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