Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Image3Dlinear< Im3DValue > Class Template Reference

3D Image containing elements that support linear operations More...

#include <Image3Dlinear.hpp>

Inheritance diagram for Image3Dlinear< Im3DValue >:

Inheritance graph
Collaboration diagram for Image3Dlinear< Im3DValue >:

Collaboration graph
List of all members.

Public Types

typedef Im3DValue value_type
 So that other templates know what Im3DValue is.

Public Member Functions

virtual string GetTypeName () const
 Type information.
Im3DValue Value (float x, float y, float z) const
 use interpolation to determine image value on a non-integer position
Im3DValue Value (const Vect3Df &v) const
void SetInterpolator (Interpolator3D< Im3DValue > *_interpolator, bool autoDestroy=true, bool autoReset=true) const
Interpolator3D< Im3DValue > * GetInterpolator ()
const Interpolator3D< Im3DValue > * GetInterpolator () const
Im3DValue Sum () const
 Sum of all elements in image.
name Secure Accesors to specific
data positions that will return
Zero for position outside
of scope Im3DValue 
SafeValue (int pos) const
Im3DValue SafeValue (int x, int y, int z) const
Im3DValue SafeValue (const Vect3Di &v) const
name For complex images void ComplexImag (Image3Dlinear< float > &imag) const
void ComplexReal (Image3Dlinear< float > &imag) const
void ComplexNorm2 (Image3Dlinear< float > &imag) const
void ComplexModule (Image3Dlinear< float > &imag) const
void GetComponent (int c, Image3Dlinear< float > &res) const
 for vector images (fields), extracts one coordinate
void SetComponent (int c, const Image3Dlinear< float > &src)
 for vector images (fields), sets one coordinate
double L2Norm () const
virtual void Write (ImLib3DFile *file, xmlpp::Element *parentNode=NULL, xmlpp::Element *node=NULL) const
 Write this object, either to a current node, a parent node, or the root node of the file.
name Operators _Selfoperator+= (const _Self &im)
 Add voxel by voxel.
_Selfoperator+= (const Im3DValue &scalarValue)
 Add a scalar value to each voxel.
_Selfoperator-= (const _Self &im)
 Substract voxel from voxel.
_Selfoperator-= (const Im3DValue &scalarValue)
 Subtract a scalar value from each voxel.
_Selfoperator *= (const _Self &im)
 Multiply voxel by voxel.
_Selfoperator *= (double scalarValue)
 Multiply each voxel by the same scalar value.
_Selfoperator/= (const _Self &im)
 Multiply voxel by voxel.
template<class OtherIm3DValue>
Image3Dlinearoperator= (const Image3Dlinear< OtherIm3DValue > &other)
Image3Dlinearoperator= (const Image3Dlinear &other)
void ComputeZero ()
void ReadWithImageTypeConversion (const string &fname0)
 for now only defined for Image3Df
name virtual Constructors ~Image3Dlinear ()
 Image3Dlinear (const Image3Dlinear &other)
 Image3Dlinear (const Size3D &size)
 Image3Dlinear (int _width, int _height, int _depth)
 Image3Dlinear (const string &fname)
 Image3Dlinear (const char *fname)
 Image3Dlinear (char *fname)
template<class OtherImageType>
 Image3Dlinear (const OtherImageType &other)

Protected Attributes

Interpolator3D< Im3DValue > * interpolator
bool destroyInterpolator
Im3DValue zero

Private Types

typedef Container3D< Im3DValue > _Base
typedef Image3Dlinear< Im3DValue > _Self
 shortcut for self type reference

Detailed Description

template<class Im3DValue>
class Image3Dlinear< Im3DValue >

3D Image containing elements that support linear operations

This is a 3D image, we consider it contains elements that can support linear operations (Im3DValue has operator+ and scalar*Im3DValue) This can be floats, ints , 3d vectors , complex numbers etc.

Definition at line 37 of file Image3Dlinear.hpp.

Member Function Documentation

template<class Im3DValue>
Im3DValue Image3Dlinear< Im3DValue >::Value float  x,
float  y,
float  z
const [inline]

use interpolation to determine image value on a non-integer position

Reset: is used for initialising interpolator with image data, for some interpolators, it MUST be called each time the image is changed!!

Definition at line 171 of file Interpolator3D.hpp.

The documentation for this class was generated from the following files:
Generated on Fri Jun 17 13:36:18 2005 for ImLib3D by  doxygen 1.4.2