SimpleITK  1.1.0.dev476
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::simple::Image Class Reference

The main Image class for SimpleITK. More...

#include <sitkImage.h>

+ Collaboration diagram for itk::simple::Image:

Classes

struct  AllocateMemberFunctionAddressor
 

Public Types

typedef Image Self
 

Public Member Functions

void CopyInformation (const Image &srcImage)
 Copy common meta-data from an image to this one. More...
 
bool EraseMetaData (const std::string &key)
 Remove an entry from the meta-data dictionary. More...
 
unsigned int GetDepth (void) const
 
unsigned int GetDimension (void) const
 
unsigned int GetHeight (void) const
 
std::string GetMetaData (const std::string &key) const
 Get the value of a meta-data dictionary entry as a string. More...
 
std::vector< std::string > GetMetaDataKeys (void) const
 get a vector of keys in from the meta-data dictionary More...
 
unsigned int GetNumberOfComponentsPerPixel (void) const
 Get the number of components for each pixel. More...
 
uint64_t GetNumberOfPixels (void) const
 Get the number of pixels in the image. More...
 
PixelIDValueEnum GetPixelID (void) const
 
std::string GetPixelIDTypeAsString (void) const
 
PixelIDValueType GetPixelIDValue (void) const
 
std::vector< unsigned int > GetSize (void) const
 
unsigned int GetWidth (void) const
 
bool HasMetaDataKey (const std::string &key) const
 Query the meta-data dictionary for the existence of a key. More...
 
 Image (void)
 Default constructor, creates an image of size 0. More...
 
 Image (const Image &img)
 
void MakeUnique (void)
 Performs actually coping if needed to make object unique. More...
 
Imageoperator= (const Image &img)
 
void SetMetaData (const std::string &key, const std::string &value)
 Set an entry in the meta-data dictionary. More...
 
std::string ToString (void) const
 
std::vector< double > TransformContinuousIndexToPhysicalPoint (const std::vector< double > &index) const
 
std::vector< double > TransformIndexToPhysicalPoint (const std::vector< int64_t > &index) const
 
std::vector< double > TransformPhysicalPointToContinuousIndex (const std::vector< double > &point) const
 
std::vector< int64_tTransformPhysicalPointToIndex (const std::vector< double > &point) const
 
virtual ~Image ()
 
 Image (unsigned int width, unsigned int height, PixelIDValueEnum valueEnum)
 Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified. More...
 
 Image (unsigned int width, unsigned int height, unsigned int depth, PixelIDValueEnum valueEnum)
 Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified. More...
 
 Image (const std::vector< unsigned int > &size, PixelIDValueEnum valueEnum, unsigned int numberOfComponents=0)
 Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified. More...
 
template<typename TImageType >
 Image (itk::SmartPointer< TImageType > image)
 Construct an SimpleITK Image from an pointer to an ITK image. More...
 
template<typename TImageType >
 Image (TImageType *image)
 Construct an SimpleITK Image from an pointer to an ITK image. More...
 
itk::DataObjectGetITKBase (void)
 
const itk::DataObjectGetITKBase (void) const
 
std::vector< double > GetOrigin (void) const
 
void SetOrigin (const std::vector< double > &origin)
 
std::vector< double > GetSpacing (void) const
 
void SetSpacing (const std::vector< double > &spacing)
 
std::vector< double > GetDirection () const
 Set/Get the Direction. More...
 
void SetDirection (const std::vector< double > &direction)
 Set/Get the Direction. More...
 
int8_t GetPixelAsInt8 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
uint8_t GetPixelAsUInt8 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
int16_t GetPixelAsInt16 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
uint16_t GetPixelAsUInt16 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
int32_t GetPixelAsInt32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
uint32_t GetPixelAsUInt32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
int64_t GetPixelAsInt64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
uint64_t GetPixelAsUInt64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
float GetPixelAsFloat (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
double GetPixelAsDouble (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< int8_tGetPixelAsVectorInt8 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< uint8_tGetPixelAsVectorUInt8 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< int16_tGetPixelAsVectorInt16 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< uint16_tGetPixelAsVectorUInt16 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< int32_tGetPixelAsVectorInt32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< uint32_tGetPixelAsVectorUInt32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< int64_tGetPixelAsVectorInt64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< uint64_tGetPixelAsVectorUInt64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< float > GetPixelAsVectorFloat32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::vector< double > GetPixelAsVectorFloat64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::complex< float > GetPixelAsComplexFloat32 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
std::complex< double > GetPixelAsComplexFloat64 (const std::vector< uint32_t > &idx) const
 Get the value of a pixel. More...
 
void SetPixelAsInt8 (const std::vector< uint32_t > &idx, int8_t v)
 Set the value of a pixel. More...
 
void SetPixelAsUInt8 (const std::vector< uint32_t > &idx, uint8_t v)
 Set the value of a pixel. More...
 
void SetPixelAsInt16 (const std::vector< uint32_t > &idx, int16_t v)
 Set the value of a pixel. More...
 
void SetPixelAsUInt16 (const std::vector< uint32_t > &idx, uint16_t v)
 Set the value of a pixel. More...
 
void SetPixelAsInt32 (const std::vector< uint32_t > &idx, int32_t v)
 Set the value of a pixel. More...
 
void SetPixelAsUInt32 (const std::vector< uint32_t > &idx, uint32_t v)
 Set the value of a pixel. More...
 
void SetPixelAsInt64 (const std::vector< uint32_t > &idx, int64_t v)
 Set the value of a pixel. More...
 
void SetPixelAsUInt64 (const std::vector< uint32_t > &idx, uint64_t v)
 Set the value of a pixel. More...
 
void SetPixelAsFloat (const std::vector< uint32_t > &idx, float v)
 Set the value of a pixel. More...
 
void SetPixelAsDouble (const std::vector< uint32_t > &idx, double v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorInt8 (const std::vector< uint32_t > &idx, const std::vector< int8_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorUInt8 (const std::vector< uint32_t > &idx, const std::vector< uint8_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorInt16 (const std::vector< uint32_t > &idx, const std::vector< int16_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorUInt16 (const std::vector< uint32_t > &idx, const std::vector< uint16_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorInt32 (const std::vector< uint32_t > &idx, const std::vector< int32_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorUInt32 (const std::vector< uint32_t > &idx, const std::vector< uint32_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorInt64 (const std::vector< uint32_t > &idx, const std::vector< int64_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorUInt64 (const std::vector< uint32_t > &idx, const std::vector< uint64_t > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorFloat32 (const std::vector< uint32_t > &idx, const std::vector< float > &v)
 Set the value of a pixel. More...
 
void SetPixelAsVectorFloat64 (const std::vector< uint32_t > &idx, const std::vector< double > &v)
 Set the value of a pixel. More...
 
void SetPixelAsComplexFloat32 (const std::vector< uint32_t > &idx, const std::complex< float > v)
 Set the value of a pixel. More...
 
void SetPixelAsComplexFloat64 (const std::vector< uint32_t > &idx, const std::complex< double > v)
 Set the value of a pixel. More...
 
int8_tGetBufferAsInt8 ()
 Get a pointer to the image buffer. More...
 
uint8_tGetBufferAsUInt8 ()
 Get a pointer to the image buffer. More...
 
int16_tGetBufferAsInt16 ()
 Get a pointer to the image buffer. More...
 
uint16_tGetBufferAsUInt16 ()
 Get a pointer to the image buffer. More...
 
int32_tGetBufferAsInt32 ()
 Get a pointer to the image buffer. More...
 
uint32_tGetBufferAsUInt32 ()
 Get a pointer to the image buffer. More...
 
int64_tGetBufferAsInt64 ()
 Get a pointer to the image buffer. More...
 
uint64_tGetBufferAsUInt64 ()
 Get a pointer to the image buffer. More...
 
float * GetBufferAsFloat ()
 Get a pointer to the image buffer. More...
 
double * GetBufferAsDouble ()
 Get a pointer to the image buffer. More...
 
const int8_tGetBufferAsInt8 () const
 Get a pointer to the image buffer. More...
 
const uint8_tGetBufferAsUInt8 () const
 Get a pointer to the image buffer. More...
 
const int16_tGetBufferAsInt16 () const
 Get a pointer to the image buffer. More...
 
const uint16_tGetBufferAsUInt16 () const
 Get a pointer to the image buffer. More...
 
const int32_tGetBufferAsInt32 () const
 Get a pointer to the image buffer. More...
 
const uint32_tGetBufferAsUInt32 () const
 Get a pointer to the image buffer. More...
 
const int64_tGetBufferAsInt64 () const
 Get a pointer to the image buffer. More...
 
const uint64_tGetBufferAsUInt64 () const
 Get a pointer to the image buffer. More...
 
const float * GetBufferAsFloat () const
 Get a pointer to the image buffer. More...
 
const double * GetBufferAsDouble () const
 Get a pointer to the image buffer. More...
 

Protected Member Functions

void Allocate (unsigned int width, unsigned int height, unsigned int depth, unsigned int dim4, PixelIDValueEnum valueEnum, unsigned int numberOfComponents)
 Methods called by the constructor to allocate and initialize an image. More...
 
template<class TImageType >
EnableIf< IsBasic< TImageType >::Value >::Type AllocateInternal (unsigned int width, unsigned int height, unsigned int depth, unsigned int dim4, unsigned int numberOfComponents)
 Dispatched methods for allocating images. More...
 
template<class TImageType >
EnableIf< IsVector< TImageType >::Value >::Type AllocateInternal (unsigned int width, unsigned int height, unsigned int depth, unsigned int dim4, unsigned int numberOfComponents)
 Dispatched methods for allocating images. More...
 
template<class TImageType >
EnableIf< IsLabel< TImageType >::Value >::Type AllocateInternal (unsigned int width, unsigned int height, unsigned int depth, unsigned int dim4, unsigned int numberOfComponents)
 Dispatched methods for allocating images. More...
 

Private Member Functions

template<int VPixelIDValue, unsigned int VImageDimension>
void InternalInitialization (typename PixelIDToImageType< typename typelist::TypeAt< InstantiatedPixelIDTypeList, VPixelIDValue >::Result, VImageDimension >::ImageType *i)
 
template<int VPixelIDValue, typename TImageType >
DisableIf< nsstd::is_same< TImageType, void >::value >::Type ConditionalInternalInitialization (TImageType *i)
 
template<int VPixelIDValue, typename TImageType >
EnableIf< nsstd::is_same< TImageType, void >::value >::Type ConditionalInternalInitialization (TImageType *)
 

Private Attributes

PimpleImageBasem_PimpleImage
 

Detailed Description

The main Image class for SimpleITK.

Examples:
BufferImportExport.cxx, DemonsRegistration1/DemonsRegistration1.cxx, DemonsRegistration2/DemonsRegistration2.cxx, DicomSeriesReader/DicomSeriesReader.cxx, FilterProgressReporting/FilterProgressReporting.cxx, HelloWorld/HelloWorld.cxx, ImageRegistrationMethod1/ImageRegistrationMethod1.cxx, ImageRegistrationMethod2/ImageRegistrationMethod2.cxx, ImageRegistrationMethodBSpline1/ImageRegistrationMethodBSpline1.cxx, ImageRegistrationMethodDisplacement1/ImageRegistrationMethodDisplacement1.cxx, ITKIntegration/ITKIntegration.cxx, Segmentation/ConnectedThresholdImageFilter.cxx, Segmentation/NeighborhoodConnectedImageFilter.cxx, SimpleGaussian/SimpleGaussian.cxx, and SimpleGaussianFunctional.cxx.

Definition at line 54 of file sitkImage.h.

Member Typedef Documentation

Definition at line 57 of file sitkImage.h.

Constructor & Destructor Documentation

virtual itk::simple::Image::~Image ( )
virtual
itk::simple::Image::Image ( void  )

Default constructor, creates an image of size 0.

itk::simple::Image::Image ( const Image img)
itk::simple::Image::Image ( unsigned int  width,
unsigned int  height,
PixelIDValueEnum  valueEnum 
)

Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified.

If the pixel type is a scalar or a label pixel type, then the number of components must be specified as 0 or 1.

If the pixel type is a vector pixel type, then the number of components defaults to the image dimension, unless the numberOfComponents is explicitly specified.

Unlike the standard convention for Dimensional Vectors the size parameter must be the exact dimension requesting. That is, it must be of length 2 of a 2D image, 3 for a 3D image and 4 for a 4D image.

itk::simple::Image::Image ( unsigned int  width,
unsigned int  height,
unsigned int  depth,
PixelIDValueEnum  valueEnum 
)

Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified.

If the pixel type is a scalar or a label pixel type, then the number of components must be specified as 0 or 1.

If the pixel type is a vector pixel type, then the number of components defaults to the image dimension, unless the numberOfComponents is explicitly specified.

Unlike the standard convention for Dimensional Vectors the size parameter must be the exact dimension requesting. That is, it must be of length 2 of a 2D image, 3 for a 3D image and 4 for a 4D image.

itk::simple::Image::Image ( const std::vector< unsigned int > &  size,
PixelIDValueEnum  valueEnum,
unsigned int  numberOfComponents = 0 
)

Constructors for 2D, 3D an optionally 4D images where pixel type and number of components can be specified.

If the pixel type is a scalar or a label pixel type, then the number of components must be specified as 0 or 1.

If the pixel type is a vector pixel type, then the number of components defaults to the image dimension, unless the numberOfComponents is explicitly specified.

Unlike the standard convention for Dimensional Vectors the size parameter must be the exact dimension requesting. That is, it must be of length 2 of a 2D image, 3 for a 3D image and 4 for a 4D image.

template<typename TImageType >
itk::simple::Image::Image ( itk::SmartPointer< TImageType >  image)
inlineexplicit

Construct an SimpleITK Image from an pointer to an ITK image.

The SimpleITK image will add a reference to the underlying the ITK image and hold a pointer to the image. If the image is manipulated directly from the ITK interface, SimpleITK may be unaware of it, and may cause complication related to aliasing and SimpleITK copy on write policy.

If simpleITK does not support the image type, a compile-time error or assertion will fail.

The ITK image must be fully buffered, and must have a zero starting index for the Buffered/Largest regions.

Definition at line 106 of file sitkImage.h.

References itk::SmartPointer< TObjectType >::GetPointer(), sitkStaticAssert, and itk::simple::sitkUnknown.

template<typename TImageType >
itk::simple::Image::Image ( TImageType *  image)
inlineexplicit

Construct an SimpleITK Image from an pointer to an ITK image.

The SimpleITK image will add a reference to the underlying the ITK image and hold a pointer to the image. If the image is manipulated directly from the ITK interface, SimpleITK may be unaware of it, and may cause complication related to aliasing and SimpleITK copy on write policy.

If simpleITK does not support the image type, a compile-time error or assertion will fail.

The ITK image must be fully buffered, and must have a zero starting index for the Buffered/Largest regions.

Definition at line 114 of file sitkImage.h.

References sitkStaticAssert, and itk::simple::sitkUnknown.

Member Function Documentation

void itk::simple::Image::Allocate ( unsigned int  width,
unsigned int  height,
unsigned int  depth,
unsigned int  dim4,
PixelIDValueEnum  valueEnum,
unsigned int  numberOfComponents 
)
protected

Methods called by the constructor to allocate and initialize an image.

This method internally utlizes the member function factory to dispatch to methods instantiated on the image of the pixel ID

template<class TImageType >
EnableIf<IsBasic<TImageType>::Value>::Type itk::simple::Image::AllocateInternal ( unsigned int  width,
unsigned int  height,
unsigned int  depth,
unsigned int  dim4,
unsigned int  numberOfComponents 
)
protected

Dispatched methods for allocating images.

The enable if idiom is used here to enable different methods for different pixel/image types.

template<class TImageType >
EnableIf<IsVector<TImageType>::Value>::Type itk::simple::Image::AllocateInternal ( unsigned int  width,
unsigned int  height,
unsigned int  depth,
unsigned int  dim4,
unsigned int  numberOfComponents 
)
protected

Dispatched methods for allocating images.

The enable if idiom is used here to enable different methods for different pixel/image types.

template<class TImageType >
EnableIf<IsLabel<TImageType>::Value>::Type itk::simple::Image::AllocateInternal ( unsigned int  width,
unsigned int  height,
unsigned int  depth,
unsigned int  dim4,
unsigned int  numberOfComponents 
)
protected

Dispatched methods for allocating images.

The enable if idiom is used here to enable different methods for different pixel/image types.

template<int VPixelIDValue, typename TImageType >
DisableIf<nsstd::is_same<TImageType, void>::value>::Type itk::simple::Image::ConditionalInternalInitialization ( TImageType *  i)
private

Dispatched from the InternalInitialization method. The "enable-if" idiom is used here for method overloading. The second method is for non-instantiated image, which turn into a void pointer for the parameter. However, this second method should never be executed.

template<int VPixelIDValue, typename TImageType >
EnableIf<nsstd::is_same<TImageType, void>::value>::Type itk::simple::Image::ConditionalInternalInitialization ( TImageType *  )
inlineprivate

Dispatched from the InternalInitialization method. The "enable-if" idiom is used here for method overloading. The second method is for non-instantiated image, which turn into a void pointer for the parameter. However, this second method should never be executed.

Definition at line 455 of file sitkImage.h.

void itk::simple::Image::CopyInformation ( const Image srcImage)

Copy common meta-data from an image to this one.

Copies the Origin, Spacing, and Direction from the source image to this image. The meta-data dictionary is not copied.

It is required for the source Image's dimension and size to match, this image's attributes, otherwise an exception will be generated.

Examples:
ImageRegistrationMethodDisplacement1/ImageRegistrationMethodDisplacement1.cxx.
bool itk::simple::Image::EraseMetaData ( const std::string &  key)

Remove an entry from the meta-data dictionary.

Returns true, when the value exists in the dictionary and is removed, false otherwise.

double* itk::simple::Image::GetBufferAsDouble ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const double* itk::simple::Image::GetBufferAsDouble ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
float* itk::simple::Image::GetBufferAsFloat ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const float* itk::simple::Image::GetBufferAsFloat ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
int16_t* itk::simple::Image::GetBufferAsInt16 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const int16_t* itk::simple::Image::GetBufferAsInt16 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
int32_t* itk::simple::Image::GetBufferAsInt32 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const int32_t* itk::simple::Image::GetBufferAsInt32 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
int64_t* itk::simple::Image::GetBufferAsInt64 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const int64_t* itk::simple::Image::GetBufferAsInt64 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
int8_t* itk::simple::Image::GetBufferAsInt8 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const int8_t* itk::simple::Image::GetBufferAsInt8 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
uint16_t* itk::simple::Image::GetBufferAsUInt16 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const uint16_t* itk::simple::Image::GetBufferAsUInt16 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
uint32_t* itk::simple::Image::GetBufferAsUInt32 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const uint32_t* itk::simple::Image::GetBufferAsUInt32 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
uint64_t* itk::simple::Image::GetBufferAsUInt64 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
const uint64_t* itk::simple::Image::GetBufferAsUInt64 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
uint8_t* itk::simple::Image::GetBufferAsUInt8 ( )

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
Examples:
BufferImportExport.cxx.
const uint8_t* itk::simple::Image::GetBufferAsUInt8 ( ) const

Get a pointer to the image buffer.

Warning
this is dangerous

The size of the buffer is the number of components*Xsize*Ysize and then Zsize of a 3D image. The buffer should be accessed as a 1-D array. For example a 3D image buffer should be accessed:

uint8_t *buffer = img->GetBufferAsUInt8();
buffer[c + numComponents*(x+xSize*(y+ySize*z))]

The pointer to the buffer is not referenced counted. Additionally, while this image is made unique before returnign the pointer, additional copying and usage may introduce unexpected aliasing.

The correct method for the current pixel type of the image must be called or else an exception will be generated. For vector pixel types the type of the component of the vector must be called.

See also
Image::GetPixelIDValue
unsigned int itk::simple::Image::GetDepth ( void  ) const
unsigned int itk::simple::Image::GetDimension ( void  ) const
std::vector< double > itk::simple::Image::GetDirection ( ) const

Set/Get the Direction.

Internally, the Direction is represented by a matrix 2x2 for a 2D and 3x3 for a 3D image. The matrix is passed as a 1D array in row-major form.

unsigned int itk::simple::Image::GetHeight ( void  ) const
itk::DataObject* itk::simple::Image::GetITKBase ( void  )

Get access to internal ITK data object.

The return value should immediately be assigned to as itk::SmartPointer.

In many cases the value may need to be dynamically casted to the actual image type. The GetPixelIDValue() method should return an PixelID which identifies the image type which the DataObject points to.

Examples:
ITKIntegration/ITKIntegration.cxx.

Referenced by itk::simple::ProcessObject::CastImageToITK().

const itk::DataObject* itk::simple::Image::GetITKBase ( void  ) const

Get access to internal ITK data object.

The return value should immediately be assigned to as itk::SmartPointer.

In many cases the value may need to be dynamically casted to the actual image type. The GetPixelIDValue() method should return an PixelID which identifies the image type which the DataObject points to.

std::string itk::simple::Image::GetMetaData ( const std::string &  key) const

Get the value of a meta-data dictionary entry as a string.

If the key is not in the dictionary then an exception is thrown.

string types in the dictionary are returned as their native strings. Other types are printed to string before returning.

std::vector<std::string> itk::simple::Image::GetMetaDataKeys ( void  ) const

get a vector of keys in from the meta-data dictionary

Returns a vector of keys to the key/value entries in the image's meta-data dictionary. Iterate through with these keys to get the values.

unsigned int itk::simple::Image::GetNumberOfComponentsPerPixel ( void  ) const

Get the number of components for each pixel.

For scalar images this methods returns 1. For vector images the number of components for each pixel is returned.

uint64_t itk::simple::Image::GetNumberOfPixels ( void  ) const

Get the number of pixels in the image.

To Calculate the total number of values stored continuously for the image's buffer, the NumberOfPixels should be multiplied by NumberOfComponentsPerPixel in order to account for multiple component images.

std::vector< double > itk::simple::Image::GetOrigin ( void  ) const

Get/Set the Origin

std::complex<float> itk::simple::Image::GetPixelAsComplexFloat32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::complex<double> itk::simple::Image::GetPixelAsComplexFloat64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
double itk::simple::Image::GetPixelAsDouble ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
float itk::simple::Image::GetPixelAsFloat ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
int16_t itk::simple::Image::GetPixelAsInt16 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
int32_t itk::simple::Image::GetPixelAsInt32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
int64_t itk::simple::Image::GetPixelAsInt64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
int8_t itk::simple::Image::GetPixelAsInt8 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
uint16_t itk::simple::Image::GetPixelAsUInt16 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
uint32_t itk::simple::Image::GetPixelAsUInt32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
uint64_t itk::simple::Image::GetPixelAsUInt64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
uint8_t itk::simple::Image::GetPixelAsUInt8 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<float> itk::simple::Image::GetPixelAsVectorFloat32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<double> itk::simple::Image::GetPixelAsVectorFloat64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<int16_t> itk::simple::Image::GetPixelAsVectorInt16 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<int32_t> itk::simple::Image::GetPixelAsVectorInt32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<int64_t> itk::simple::Image::GetPixelAsVectorInt64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<int8_t> itk::simple::Image::GetPixelAsVectorInt8 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<uint16_t> itk::simple::Image::GetPixelAsVectorUInt16 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<uint32_t> itk::simple::Image::GetPixelAsVectorUInt32 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<uint64_t> itk::simple::Image::GetPixelAsVectorUInt64 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
std::vector<uint8_t> itk::simple::Image::GetPixelAsVectorUInt8 ( const std::vector< uint32_t > &  idx) const

Get the value of a pixel.

Returns the value of a pixel for the given index. The index follows standard SimpleITK conventions for it's length. The correct method must be called for the underlying Image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
See also
Image::GetPixelIDValue
PixelIDValueEnum itk::simple::Image::GetPixelID ( void  ) const
std::string itk::simple::Image::GetPixelIDTypeAsString ( void  ) const
PixelIDValueType itk::simple::Image::GetPixelIDValue ( void  ) const
std::vector< unsigned int > itk::simple::Image::GetSize ( void  ) const
std::vector< double > itk::simple::Image::GetSpacing ( void  ) const

Get/Set the Spacing

unsigned int itk::simple::Image::GetWidth ( void  ) const
bool itk::simple::Image::HasMetaDataKey ( const std::string &  key) const

Query the meta-data dictionary for the existence of a key.

template<int VPixelIDValue, unsigned int VImageDimension>
void itk::simple::Image::InternalInitialization ( typename PixelIDToImageType< typename typelist::TypeAt< InstantiatedPixelIDTypeList, VPixelIDValue >::Result, VImageDimension >::ImageType *  i)
private

Method called by certain constructors to convert ITK images into simpleITK ones.

This is the single method which needs to be explicitly instantiated to separate the internal ITK and Pimple image from the external SimpleITK interface. Template parameters have been chosen carefully to flexibly enable this.

void itk::simple::Image::MakeUnique ( void  )

Performs actually coping if needed to make object unique.

The Image class by default performs lazy coping and assignment. This method make sure that coping actually happens to the itk::Image pointed to is only pointed to by this object.

Image& itk::simple::Image::operator= ( const Image img)
void itk::simple::Image::SetDirection ( const std::vector< double > &  direction)

Set/Get the Direction.

Internally, the Direction is represented by a matrix 2x2 for a 2D and 3x3 for a 3D image. The matrix is passed as a 1D array in row-major form.

void itk::simple::Image::SetMetaData ( const std::string &  key,
const std::string &  value 
)

Set an entry in the meta-data dictionary.

Replaces or creates an entry in the image's meta-data dictionary.

void itk::simple::Image::SetOrigin ( const std::vector< double > &  origin)

Get/Set the Origin

void itk::simple::Image::SetPixelAsComplexFloat32 ( const std::vector< uint32_t > &  idx,
const std::complex< float >  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsComplexFloat64 ( const std::vector< uint32_t > &  idx,
const std::complex< double >  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsDouble ( const std::vector< uint32_t > &  idx,
double  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsFloat ( const std::vector< uint32_t > &  idx,
float  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsInt16 ( const std::vector< uint32_t > &  idx,
int16_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsInt32 ( const std::vector< uint32_t > &  idx,
int32_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsInt64 ( const std::vector< uint32_t > &  idx,
int64_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsInt8 ( const std::vector< uint32_t > &  idx,
int8_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsUInt16 ( const std::vector< uint32_t > &  idx,
uint16_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsUInt32 ( const std::vector< uint32_t > &  idx,
uint32_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsUInt64 ( const std::vector< uint32_t > &  idx,
uint64_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsUInt8 ( const std::vector< uint32_t > &  idx,
uint8_t  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorFloat32 ( const std::vector< uint32_t > &  idx,
const std::vector< float > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorFloat64 ( const std::vector< uint32_t > &  idx,
const std::vector< double > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorInt16 ( const std::vector< uint32_t > &  idx,
const std::vector< int16_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorInt32 ( const std::vector< uint32_t > &  idx,
const std::vector< int32_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorInt64 ( const std::vector< uint32_t > &  idx,
const std::vector< int64_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorInt8 ( const std::vector< uint32_t > &  idx,
const std::vector< int8_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorUInt16 ( const std::vector< uint32_t > &  idx,
const std::vector< uint16_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorUInt32 ( const std::vector< uint32_t > &  idx,
const std::vector< uint32_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorUInt64 ( const std::vector< uint32_t > &  idx,
const std::vector< uint64_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetPixelAsVectorUInt8 ( const std::vector< uint32_t > &  idx,
const std::vector< uint8_t > &  v 
)

Set the value of a pixel.

Set the value of a pixel at the provided index. The index follows standard SimpleITK conventions for it's length. The correct method must be called which should match the underlying image type, otherwise an exception will be thrown.

Parameters
idxthe zero based index into the image. It's length must be at least the value of GetDimension(), additional elements will be ignored. Boundary checking is performed on idx, if it is out of bounds an exception will be thrown.
vvalue to set the pixel to
See also
Image::GetPixelIDValue
void itk::simple::Image::SetSpacing ( const std::vector< double > &  spacing)

Get/Set the Spacing

std::string itk::simple::Image::ToString ( void  ) const
std::vector< double > itk::simple::Image::TransformContinuousIndexToPhysicalPoint ( const std::vector< double > &  index) const

Transform continuous index to physical point

std::vector< double > itk::simple::Image::TransformIndexToPhysicalPoint ( const std::vector< int64_t > &  index) const

Transform index to physical point

std::vector< double > itk::simple::Image::TransformPhysicalPointToContinuousIndex ( const std::vector< double > &  point) const

Transform physical point to continuous index

std::vector< int64_t > itk::simple::Image::TransformPhysicalPointToIndex ( const std::vector< double > &  point) const

Transform physical point to index

Member Data Documentation

PimpleImageBase* itk::simple::Image::m_PimpleImage
private

Definition at line 473 of file sitkImage.h.


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