Public Types | Public Member Functions
T3DImage< T > Class Template Reference

Specific type of the 3D images that hold real pixel data. More...

#include <mia/3d/image.hh>

Inheritance diagram for T3DImage< T >:
C3DImage CAttributedData

Public Types

typedef C3DImage Super
 define the super class of this class for generic processing More...
 
- Public Types inherited from C3DImage
typedef C3DBounds dimsize_type
 generic type for the dimension of the image More...
 
typedef std::shared_ptr< C3DImagePointer
 Pointer type of the image. More...
 

Public Member Functions

const_iterator begin () const
 constant iterator More...
 
iterator begin ()
 read/write iterator, issues copy-on-write More...
 
const_iterator begin_at (size_t x, size_t y, size_t z) const
 constant iterator starting at the given location More...
 
iterator begin_at (size_t x, size_t y, size_t z)
 read/write iterator starting at the given location More...
 
range_iterator begin_range (const C3DBounds &begin, const C3DBounds &end)
 forwarding function to access the specified range of the underlying T3DDatafield More...
 
const_range_iterator begin_range (const C3DBounds &begin, const C3DBounds &end) const
 forwarding function to access the specified range of the underlying T3DDatafield More...
 
virtual Pointer clone () const
 
const T3DDatafield< T > & data () const
 read only access to the underlying data More...
 
const_iterator end () const
 constant iterator More...
 
iterator end ()
 read/write iterator, issues copy-on-write More...
 
range_iterator end_range (const C3DBounds &begin, const C3DBounds &end)
 forwarding function to access the specified range of the underlying T3DDatafield More...
 
const_range_iterator end_range (const C3DBounds &begin, const C3DBounds &end) const
 forwarding function to access the specified range of the underlying T3DDatafield More...
 
void get_data_line_x (int y, int z, std::vector< T > &buffer) const
 
void get_data_line_y (int x, int z, std::vector< T > &buffer) const
 
void get_data_line_z (int x, int y, std::vector< T > &buffer) const
 
T2DImage< T > get_data_plane_xy (size_t z) const
 forwarding function to access the underlying T3DDatafield More...
 
T2DImage< T > get_data_plane_xz (size_t y) const
 forwarding function to access the underlying T3DDatafield More...
 
T2DImage< T > get_data_plane_yz (size_t x) const
 forwarding function to access the underlying T3DDatafield More...
 
C3DFVector get_gradient (int index) const
 read/write access to the underlying data More...
 
virtual const C3DBoundsget_size () const
 
virtual C3DFVector get_voxel_size () const
 
const_reference operator() (size_t x, size_t y, size_t z) const
 element access operator - read only More...
 
reference operator() (size_t x, size_t y, size_t z)
 element access operator - read/write More...
 
const_reference operator() (const C3DBounds &l) const
 element access operator - read only More...
 
reference operator() (const C3DBounds &l)
 element access operator - read/write More...
 
const_reference operator[] (int i) const
 
reference operator[] (int i)
 
void put_data_line_x (int y, int z, const std::vector< T > &buffer)
 
void put_data_line_y (int x, int z, const std::vector< T > &buffer)
 
void put_data_line_z (int x, int y, const std::vector< T > &buffer)
 
void put_data_plane_xy (size_t z, const T2DImage< T > &p)
 forwarding function to access the underlying T3DDatafield More...
 
void put_data_plane_xz (size_t y, const T2DImage< T > &p)
 forwarding function to access the underlying T3DDatafield More...
 
void put_data_plane_yz (size_t x, const T2DImage< T > &p)
 forwarding function to access the underlying T3DDatafield More...
 
virtual void set_voxel_size (const C3DFVector &voxel)
 set the voxel size on world units More...
 
size_t size () const
 
 T3DImage (const C3DBounds &size, const T *init_data)
 
 T3DImage (const C3DBounds &size, const CAttributedData &attr)
 
 T3DImage (const C3DBounds &size)
 
 T3DImage (const T3DImage &orig)
 
 T3DImage ()
 
- Public Member Functions inherited from C3DImage
E3DImageOrientation get_orientation () const
 
EPixelType get_pixel_type () const
 
void set_orientation (E3DImageOrientation orient)
 
virtual ~C3DImage ()
 
- Public Member Functions inherited from CAttributedData
CAttributeMap::const_iterator begin_attributes () const
 
void delete_attribute (const std::string &key)
 
CAttributeMap::const_iterator end_attributes () const
 
const PAttribute get_attribute (const std::string &key) const
 
template<typename T >
const T get_attribute_as (const std::string &key) const
 
const std::string get_attribute_as_string (const std::string &key) const
 returns the requested attribute as string, returns an empty string if attribute doesn't exist More...
 
bool has_attribute (const std::string &key) const
 
CAttributedDataoperator= (const CAttributedData &org)
 Assignemt operator. More...
 
void set_attribute (const std::string &key, PAttribute attr)
 
void set_attribute (const std::string &key, const std::string &value)
 
void set_attributes (CAttributeMap::const_iterator begin, CAttributeMap::const_iterator end)
 
 CAttributedData ()
 
 CAttributedData (const CAttributedData &org)
 
 CAttributedData (PAttributeMap attr)
 

Additional Inherited Members

- Static Public Attributes inherited from C3DImage
static const char * data_descr
 data type description for the plug-in path component More...
 
- Protected Member Functions inherited from C3DImage
 C3DImage (const CAttributedData &data, EPixelType type)
 
 C3DImage (EPixelType type)
 
 C3DImage ()
 standard constructor More...
 

Detailed Description

template<typename T>
class T3DImage< T >

Specific type of the 3D images that hold real pixel data.

This template defines a 3D image holding a certain type T as pixel type.

Definition at line 128 of file 3d/image.hh.

Member Typedef Documentation

template<typename T>
typedef C3DImage T3DImage< T >::Super

define the super class of this class for generic processing

Definition at line 131 of file 3d/image.hh.

Constructor & Destructor Documentation

template<typename T>
T3DImage< T >::T3DImage ( const C3DBounds size,
const T *  init_data 
)

Construct a new image of a given size and with the given input date.

Parameters
size
init_datainput data
template<typename T>
T3DImage< T >::T3DImage ( const C3DBounds size,
const CAttributedData attr 
)

Construct a new image of a given size and with the given attribute list.

Parameters
size
attr
template<typename T>
T3DImage< T >::T3DImage ( const C3DBounds size)

Construct a new image of a given size

Parameters
size
template<typename T>
T3DImage< T >::T3DImage ( const T3DImage< T > &  orig)

copy constructor

template<typename T>
T3DImage< T >::T3DImage ( )

standart costructor creates an image of size (0,0,0)

Member Function Documentation

template<typename T>
const_iterator T3DImage< T >::begin ( ) const
inline

constant iterator

Definition at line 240 of file 3d/image.hh.

Referenced by FConvert3DImageToPixeltypeO< O >::operator()().

template<typename T>
iterator T3DImage< T >::begin ( )
inline

read/write iterator, issues copy-on-write

Definition at line 275 of file 3d/image.hh.

template<typename T>
const_iterator T3DImage< T >::begin_at ( size_t  x,
size_t  y,
size_t  z 
) const
inline

constant iterator starting at the given location

Definition at line 285 of file 3d/image.hh.

Referenced by FDeformer3D::operator()().

template<typename T>
iterator T3DImage< T >::begin_at ( size_t  x,
size_t  y,
size_t  z 
)
inline

read/write iterator starting at the given location

Definition at line 290 of file 3d/image.hh.

template<typename T>
range_iterator T3DImage< T >::begin_range ( const C3DBounds begin,
const C3DBounds end 
)
inline

forwarding function to access the specified range of the underlying T3DDatafield

Definition at line 250 of file 3d/image.hh.

template<typename T>
const_range_iterator T3DImage< T >::begin_range ( const C3DBounds begin,
const C3DBounds end 
) const
inline

forwarding function to access the specified range of the underlying T3DDatafield

Definition at line 260 of file 3d/image.hh.

template<typename T>
virtual Pointer T3DImage< T >::clone ( ) const
virtual
Returns
a clone of the image with shared image data

Implements C3DImage.

template<typename T>
const T3DDatafield<T>& T3DImage< T >::data ( ) const

read only access to the underlying data

Referenced by FDeformer3D::operator()().

template<typename T>
const_iterator T3DImage< T >::end ( ) const
inline

constant iterator

Definition at line 245 of file 3d/image.hh.

Referenced by FConvert3DImageToPixeltypeO< O >::operator()().

template<typename T>
iterator T3DImage< T >::end ( )
inline

read/write iterator, issues copy-on-write

Definition at line 280 of file 3d/image.hh.

template<typename T>
range_iterator T3DImage< T >::end_range ( const C3DBounds begin,
const C3DBounds end 
)
inline

forwarding function to access the specified range of the underlying T3DDatafield

Definition at line 255 of file 3d/image.hh.

template<typename T>
const_range_iterator T3DImage< T >::end_range ( const C3DBounds begin,
const C3DBounds end 
) const
inline

forwarding function to access the specified range of the underlying T3DDatafield

Definition at line 265 of file 3d/image.hh.

template<typename T>
void T3DImage< T >::get_data_line_x ( int  y,
int  z,
std::vector< T > &  buffer 
) const

Get some Data along some line parallel to X axis

template<typename T>
void T3DImage< T >::get_data_line_y ( int  x,
int  z,
std::vector< T > &  buffer 
) const

Get some Data along some line parallel to Y axis

template<typename T>
void T3DImage< T >::get_data_line_z ( int  x,
int  y,
std::vector< T > &  buffer 
) const

Get some Data along some line parallel to Z axis

template<typename T>
T2DImage<T> T3DImage< T >::get_data_plane_xy ( size_t  z) const

forwarding function to access the underlying T3DDatafield

template<typename T>
T2DImage<T> T3DImage< T >::get_data_plane_xz ( size_t  y) const

forwarding function to access the underlying T3DDatafield

template<typename T>
T2DImage<T> T3DImage< T >::get_data_plane_yz ( size_t  x) const

forwarding function to access the underlying T3DDatafield

template<typename T>
C3DFVector T3DImage< T >::get_gradient ( int  index) const
inline

read/write access to the underlying data

Evaluate the gradient at a given location of the image

Todo:
evil, remove it

Definition at line 318 of file 3d/image.hh.

template<typename T>
virtual const C3DBounds& T3DImage< T >::get_size ( ) const
virtual
Returns
the 3D size of the image

Implements C3DImage.

Referenced by FDeformer3D::operator()(), and FConvert3DImageToPixeltypeO< O >::operator()().

template<typename T>
virtual C3DFVector T3DImage< T >::get_voxel_size ( ) const
virtual
Returns
the physical voxel size

Implements C3DImage.

template<typename T>
const_reference T3DImage< T >::operator() ( size_t  x,
size_t  y,
size_t  z 
) const
inline

element access operator - read only

Definition at line 220 of file 3d/image.hh.

template<typename T>
reference T3DImage< T >::operator() ( size_t  x,
size_t  y,
size_t  z 
)
inline

element access operator - read/write

Definition at line 225 of file 3d/image.hh.

template<typename T>
const_reference T3DImage< T >::operator() ( const C3DBounds l) const
inline

element access operator - read only

Definition at line 230 of file 3d/image.hh.

References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.

template<typename T>
reference T3DImage< T >::operator() ( const C3DBounds l)
inline

element access operator - read/write

Definition at line 235 of file 3d/image.hh.

References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.

template<typename T>
const_reference T3DImage< T >::operator[] ( int  i) const
inline

a linear read only access operator

Definition at line 295 of file 3d/image.hh.

template<typename T>
reference T3DImage< T >::operator[] ( int  i)
inline

A linear read/write access operator. The refcount of Data must be 1, else the program will abort with a failed assertion (if assert is enabled)

Definition at line 303 of file 3d/image.hh.

template<typename T>
void T3DImage< T >::put_data_line_x ( int  y,
int  z,
const std::vector< T > &  buffer 
)

Put some Data along some line parallel to X axis

template<typename T>
void T3DImage< T >::put_data_line_y ( int  x,
int  z,
const std::vector< T > &  buffer 
)

Put some Data along some line parallel to Y axis

template<typename T>
void T3DImage< T >::put_data_line_z ( int  x,
int  y,
const std::vector< T > &  buffer 
)

Put some Data along some line parallel to Z axis

template<typename T>
void T3DImage< T >::put_data_plane_xy ( size_t  z,
const T2DImage< T > &  p 
)

forwarding function to access the underlying T3DDatafield

template<typename T>
void T3DImage< T >::put_data_plane_xz ( size_t  y,
const T2DImage< T > &  p 
)

forwarding function to access the underlying T3DDatafield

template<typename T>
void T3DImage< T >::put_data_plane_yz ( size_t  x,
const T2DImage< T > &  p 
)

forwarding function to access the underlying T3DDatafield

template<typename T>
virtual void T3DImage< T >::set_voxel_size ( const C3DFVector voxel)
virtual

set the voxel size on world units

Implements C3DImage.

template<typename T>
size_t T3DImage< T >::size ( ) const
virtual
Returns
the all over number of pixels/voxels

Implements C3DImage.


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