In file imagedata/ImageData.h:

class ImageData : public Data3D, public InrimageSliceDisplayContainer

3D image data

Inheritance:


Public Classes

enum GRID_DISPLAY
grid display mode
HIDE
only slice frame
FRAME
only slice frame
GRID
pixels grid
VOXELS
voxels
enum SLICES_DISPLAY
grid display mode
NOSLICES
do not display slices
SOLID
polygons rendering
TEXTURE
texture rendering
VOLUME
volume rendering
enum BLENDING
volume rendering blending modes
OVER
flow of light through a transparent material
ATTENUATE
attenuate light shining through the material along the view direction (X-ray)
MIP
Maximum Intensity Projection
UNDER
OVER operator from back to front

Public Methods

unsigned int getX (void) const
returns X dimension
unsigned int ncols (void) const
returns X dimension
unsigned int getY (void) const
returns Y dimension
unsigned int nrows (void) const
returns Y dimension
unsigned int getZ (void) const
returns Z dimension
unsigned int nplanes (void) const
returns Z dimension
double getVX (void) const
returns X voxel size
double getVC (void) const
returns X voxel size
double getVY (void) const
returns Y voxel size
double getVR (void) const
returns Y voxel size
double getVZ (void) const
returns Z voxel size
double getVP (void) const
returns Z voxel size
virtual void redraw (Camera3D *)
all graphics objects can be drawn
virtual void updateCenter (Vec3& center, unsigned int& n)
Returns the graphic object center and weight
virtual double updateRadius (const Vec3& center)
Returns the graphic object radius given its center
virtual double computeClosestDistance (DataTypes::MouseClick& mc) const
The routine that allows the camera to select an object by computing the distance of an object from its radial line
void getBoxColor (float &r, float &g, float &b) const
returns R, G and B bounding box color (each component is between 0 and 1)
double getBoxWidth (void) const
returns bounding box line width
void getGridColor (float &r, float &g, float &b) const
returns R, G and B slices grid color (each component is between 0 and 1)
double getGridWidth (void) const
returns slices grid line width
void setBoxColor (float r, float g, float b)
Set R, G and B bounding box (each component should be between 0 and 1)
void setBoxWidth (double width)
set bounding box line width
void setGridColor (float r, float g, float b)
Set grid R, G and B components (each component should be between 0 and 1)
void setGridWidth (double width)
set slices grid line width
bool AreBlackPixelsShown () const
indicates if the black pixels should be shown or not
void setShowBlackPixels (const bool b)
set the boolean indicating if the black pixels should be shown or not
virtual bool display (bool showImage)
set which inrimage should be displayed
GRID_DISPLAY getGridDisplay (void) const
get current grid display mode
void setGridDisplay (GRID_DISPLAY gd)
set new grid display mode
SLICES_DISPLAY getSlicesDisplay (void) const
get current grid display mode
void setSlicesDisplay (SLICES_DISPLAY sd)
set new grid display mode
unsigned int getResolution (void) const
returns display resolution
void setResolution (unsigned int resolution)
set display resolution
void setBlending (bool blending, double alpha = 0.3333333333333)
set slices blending behavior
void clearLists (void)
clear all display lists
void clearGridLists (void)
clear all grid display lists
void clearSliceLists (void)
clear all slice display lists
unsigned int getNSlices (void) const
returns volume rendering number of slices
BLENDING getVolumeBlending (void) const
returns volume rendering blend mode
void setNSlices (unsigned int nslices)
set number of slices to perform volume rendering
void setVolumeBlending (ImageData::BLENDING blend)
set volume blending mode
void setVolumeTransparency (double *trs, float ot)
set voxels transparency from voxel intensity for volume rendering
virtual void sliceCreation (SliceCameraBackground *b)
function called when a TclInrimageBackground is created
virtual void sliceDestruction (SliceCameraBackground *b)
function called when a TclInrimageBackground is deleted
virtual void sliceUpdate (SliceCameraBackground *b)
function called when a TclInrimageBackground is modified
virtual void imageUpdate (const Inrimage *i)
function called when the inrimage is modified
virtual void imageDestroyed (const Inrimage *i)
function called when the inrimage is deleted
TclImageData* getInterface (void) const
cast object interface in a TCL interface object

Public

constructors
ImageData (Inrimage *inr, Scene3D *scene = 0, bool allCameras = false)
Builds a new image data from given inrimage
ImageData (const TclString& fileName, Scene3D *scene = 0, bool allCameras = false) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a new image data from file name
destructor
virtual ~ImageData ()
destroys image data (but not concerned inrimages)

Protected Classes

struct SliceInfo
one slice display information
SliceInfo (GLuint dl, GLuint dlg)
one slice display information constructor
~SliceInfo ()
destroy slice and associated display lists
GLuint GLlist
slice display list (0 if none was computed)
GLuint GLgridlist
grid display list (0 if none was computed)

Protected Fields

Voxel* glmin
storing the minimum intensity value of the image
Voxel* glmax
storing the maximum intensity value of the image
Inrimage* image
intensity image
float boxColor [3]
inrimage bounding box color
double boxWidth
inrimage line width
float gridColor [3]
slices grid color
double gridWidth
slices grid line width
bool showBlackPixels
if we should show or hide black pixels
bool allCameras
whether to track all cameras or only ones that display image inrimage
std::map SliceInfo *> sliceMap
slice camera inrimage background
bool showImage
which image to display
GRID_DISPLAY gridDisplay
grid display mode
SLICES_DISPLAY slicesDisplay
slices display mode
unsigned int resolution
display resolution
bool blending
use blending ?
double alpha
blending factor
GLuint volumeList
OpenGL display list for volume rendering mode
BLENDING volumeBlending
volume rendering blending mode
unsigned int nslices
number of slices for volume rendering
GLdouble clipPlaneEqn [6][4]
clip plane equations
float* lookupTable
volume rendering lookup table
float textbg [4]
texture bg color
GLfloat textmap
texture map mode

Protected Methods

void init (void)
constructors common code
void setImage (Inrimage *inr)
set new intensity image and resize data image
void resetImage (Inrimage *inr)
removed all display list stored for each slice
GLuint volumeDisplayList ()
computes volume rendering display list
GLuint sliceDisplayList (const SliceCameraBackground *b)
computes one slice display list
GLuint gridDisplayList (unsigned int slice, SliceCamera::SLICE_ORIENTATION geom) const
computes one slice grid display list
virtual void clearSlices (void)
delete all ImageData::Slice structures

Documentation

3D image data
Voxel* glmin
storing the minimum intensity value of the image

Voxel* glmax
storing the maximum intensity value of the image

Inrimage* image
intensity image

float boxColor[3]
inrimage bounding box color

double boxWidth
inrimage line width

float gridColor[3]
slices grid color

double gridWidth
slices grid line width

bool showBlackPixels
if we should show or hide black pixels

bool allCameras
whether to track all cameras or only ones that display image inrimage

void init(void)
constructors common code

constructors

ImageData(Inrimage *inr, Scene3D *scene = 0, bool allCameras = false)
Builds a new image data from given inrimage
Parameters:
inr - image to display
scene - scene to create image in
allCameras - whether to track all cameras or only ones that display image inrimage

ImageData(const TclString& fileName, Scene3D *scene = 0, bool allCameras = false) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a new image data from file name
Throws:
Inrimage ::ImageNotFound file not found
Inrimage ::UnknownImageType unknown image file format
Inrimage ::InvalidHeader invalid inrimage header
Inrimage ::InvalidData invalid inrimage data
Inrimage ::UnknownType unhandled inrimage type
Parameters:
fileName - inrimage file name
scene - scene to create image in
allCameras - whether to track all cameras or only ones that display image inrimage

destructor

virtual ~ImageData()
destroys image data (but not concerned inrimages)

unsigned int getX(void) const
returns X dimension

unsigned int ncols(void) const
returns X dimension

unsigned int getY(void) const
returns Y dimension

unsigned int nrows(void) const
returns Y dimension

unsigned int getZ(void) const
returns Z dimension

unsigned int nplanes(void) const
returns Z dimension

double getVX(void) const
returns X voxel size

double getVC(void) const
returns X voxel size

double getVY(void) const
returns Y voxel size

double getVR(void) const
returns Y voxel size

double getVZ(void) const
returns Z voxel size

double getVP(void) const
returns Z voxel size

virtual void redraw(Camera3D *)
all graphics objects can be drawn

virtual void updateCenter(Vec3& center, unsigned int& n)
Returns the graphic object center and weight. The weight is a measure of the number of primitives to allow barycentric computation of the whole scene center.
Parameters:
center - returned center
n - returned barycentric weight

virtual double updateRadius(const Vec3& center)
Returns the graphic object radius given its center

virtual double computeClosestDistance(DataTypes::MouseClick& mc) const
The routine that allows the camera to select an object by computing the distance of an object from its radial line
Returns:
distance to line
Parameters:
mc - 3D line descriptor

void getBoxColor(float &r, float &g, float &b) const
returns R, G and B bounding box color (each component is between 0 and 1)
Parameters:
r - returned red component
g - returned green component
b - returned blue component

double getBoxWidth(void) const
returns bounding box line width

void getGridColor(float &r, float &g, float &b) const
returns R, G and B slices grid color (each component is between 0 and 1)
Parameters:
r - returned red component
g - returned green component
b - returned blue component

double getGridWidth(void) const
returns slices grid line width

void setBoxColor(float r, float g, float b)
Set R, G and B bounding box (each component should be between 0 and 1)
Parameters:
r - red component
g - green component
b - blue component

void setBoxWidth(double width)
set bounding box line width
Parameters:
width - line width (should be > 0.0)

void setGridColor(float r, float g, float b)
Set grid R, G and B components (each component should be between 0 and 1)
Parameters:
r - red component
g - green component
b - blue component

void setGridWidth(double width)
set slices grid line width
Parameters:
width - line width (should be > 0.0)

bool AreBlackPixelsShown() const
indicates if the black pixels should be shown or not

void setShowBlackPixels(const bool b)
set the boolean indicating if the black pixels should be shown or not

virtual bool display(bool showImage)
set which inrimage should be displayed
Parameters:
kind - inrimage to display

enum GRID_DISPLAY
grid display mode

HIDE
only slice frame

FRAME
only slice frame

GRID
pixels grid

VOXELS
voxels

GRID_DISPLAY getGridDisplay(void) const
get current grid display mode

void setGridDisplay(GRID_DISPLAY gd)
set new grid display mode

enum SLICES_DISPLAY
grid display mode

NOSLICES
do not display slices

SOLID
polygons rendering

TEXTURE
texture rendering

VOLUME
volume rendering

SLICES_DISPLAY getSlicesDisplay(void) const
get current grid display mode

void setSlicesDisplay(SLICES_DISPLAY sd)
set new grid display mode

unsigned int getResolution(void) const
returns display resolution

void setResolution(unsigned int resolution)
set display resolution
Parameters:
resolution - display resolution (should be > 0)

void setBlending(bool blending, double alpha = 0.3333333333333)
set slices blending behavior

void clearLists(void)
clear all display lists

void clearGridLists(void)
clear all grid display lists

void clearSliceLists(void)
clear all slice display lists

enum BLENDING
volume rendering blending modes

OVER
flow of light through a transparent material

ATTENUATE
attenuate light shining through the material along the view direction (X-ray)

MIP
Maximum Intensity Projection

UNDER
OVER operator from back to front

unsigned int getNSlices(void) const
returns volume rendering number of slices

BLENDING getVolumeBlending(void) const
returns volume rendering blend mode

void setNSlices(unsigned int nslices)
set number of slices to perform volume rendering
Parameters:
nslices - number of slice (truncated between 1 and 4 * max(xdim, ydim, zdim)

void setVolumeBlending(ImageData::BLENDING blend)
set volume blending mode
Parameters:
blend - new volume blending mode

void setVolumeTransparency(double *trs, float ot)
set voxels transparency from voxel intensity for volume rendering
Parameters:
trs - 256 elements array with alpha value for each intensity value
ot - overall blending factor

virtual void sliceCreation(SliceCameraBackground *b)
function called when a TclInrimageBackground is created
Parameters:
b - a slice-camera background

virtual void sliceDestruction(SliceCameraBackground *b)
function called when a TclInrimageBackground is deleted
Parameters:
b - a slice-camera background

virtual void sliceUpdate(SliceCameraBackground *b)
function called when a TclInrimageBackground is modified
Parameters:
b - a slice-camera background

virtual void imageUpdate(const Inrimage *i)
function called when the inrimage is modified
Parameters:
i - an inrimage

virtual void imageDestroyed(const Inrimage *i)
function called when the inrimage is deleted
Parameters:
i - an inrimage

void setImage(Inrimage *inr)
set new intensity image and resize data image
Parameters:
inr - intensity image

void resetImage(Inrimage *inr)
removed all display list stored for each slice
Parameters:
inr - intensity image

struct SliceInfo
one slice display information

SliceInfo(GLuint dl, GLuint dlg)
one slice display information constructor

~SliceInfo()
destroy slice and associated display lists

GLuint GLlist
slice display list (0 if none was computed)

GLuint GLgridlist
grid display list (0 if none was computed)

std::map SliceInfo *> sliceMap
slice camera inrimage background

bool showImage
which image to display

GLuint volumeDisplayList()
computes volume rendering display list

GLuint sliceDisplayList(const SliceCameraBackground *b)
computes one slice display list
Parameters:
b - slice camera background

GLuint gridDisplayList(unsigned int slice, SliceCamera::SLICE_ORIENTATION geom) const
computes one slice grid display list
Parameters:
slice - the slice number
geom - slice geometry

virtual void clearSlices(void)
delete all ImageData::Slice structures

GRID_DISPLAY gridDisplay
grid display mode

SLICES_DISPLAY slicesDisplay
slices display mode

unsigned int resolution
display resolution

bool blending
use blending ?

double alpha
blending factor

GLuint volumeList
OpenGL display list for volume rendering mode

BLENDING volumeBlending
volume rendering blending mode

unsigned int nslices
number of slices for volume rendering

GLdouble clipPlaneEqn[6][4]
clip plane equations

float* lookupTable
volume rendering lookup table

float textbg[4]
texture bg color

GLfloat textmap
texture map mode

TclImageData* getInterface(void) const
cast object interface in a TCL interface object


Direct child classes:
RangeInrimage3D

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de