In file imagedata/RangeInrimage.h:

class RangeInrimage : public Owner

base class for 2D and 3D image used to deform models

Inheritance:


Public Classes

class GradientForce : public VoxelMax, public Force
a force that detects voxel of maximum gradient norm
exception thrown when the associated RangeInrimage is not valid
exception
TclString name
the force name
RangeInrimage* range
the associated Range image
constructor
Force (RangeInrimage *range, TclString _name) throw(InvalidRangeInrimage)
builds a new force applying on a volumetric image
destructor
virtual ~Force ()
empty
virtual bool isPossible () const
whether the force can be computed
virtual void getSpeed (const Vec3 &position, double &mult, double &add)
routines that computes a level set speed at a given point in image
TclString getName ()
returns the name of the force
virtual void updateImage ()
function called whenever an image of the pointed RangeImage is changed
ImageGeometry* converter
use this geometry converter to properly handle cylindrical images
GradientInrimageInformation* gi
gradient Inrimage Information
bool testVoxel (ImageVoxel *voxel)
returns true if voxel verify orientation and intensity constraints, false otherwise
constructor
GradientForce (RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds a gradient force given the gradient threshold, its orientation constraint and its intensity range
destructor
virtual ~GradientForce ()
destroys any line voxel
void start (Voxel& voxel)
initializes the closest voxel
bool isPossible () const
whether this force can be used
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
void updateImage (void)
set the image pointer to the updated gradient image
bool isPossible ()
is it possible to use the force
bool stopFromGradient (ImageVoxel *v, Voxel& iv)
gradient force stop condition
class RegionForce : public VoxelMax, public Force
a force that detects the closest voxel whose gradient value is above a given threshold and eventually whose gradient orientation follows the gradient orientation constraint and finally whose intensity belongs to a given intensity range
RegionInrimageInformation* ri
necessary information for computing matching point
void findRegion ()
Finds the region boundary and store the boundary voxel in maxVoxel
void smoothProfile ()
Smooth the image profile
constructor
RegionForce (RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds an edge force given the gradient threshold and its orientation constraint and its intensity range
destructor
virtual ~RegionForce ()
destroys any line voxel
void start (Voxel& voxel)
initializes the closest voxel
bool isPossible () const
whether this force can be used
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, RegionInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
void updateImage (void)
set the image pointer to the updated gradient image
bool stopFromRegion (ImageVoxel *v, Voxel& iv)
edge force stop condition
class GradientGradientForce : public Force
the force that apply a force in the direction of the gradient vector of the gradient
constructor
GradientGradientForce (RangeInrimage *_range) throw(Force::InvalidRangeInrimage)
builds a GradientGradient force
destructor
virtual ~GradientGradientForce ()
destroys any line voxel
bool isPossible () const
whether this force can be computed
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientGradientInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
class GradientBalloonForce : public Force
the force that moves the deformable model in the normal direction only of the gradient value is less than a given threhold
constructor
GradientBalloonForce (RangeInrimage *_range) throw(Force::InvalidRangeInrimage)
builds a GradientGradient force
bool isPossible () const
whether this force can be computed
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientBalloonInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
virtual void getSpeed (const Vec3 &position, double &mult, double &add, GradientBalloonInrimageInformation *rii)
compute level set speed as 1/|\nabla I| truncated function
destructor
virtual ~GradientBalloonForce ()
destroys any line voxel
class IntensityProfileForce : public ImageLine, public Force
this force deforms the model so that pre-stored intensity profile at each mesh vertex match the image intensity profile
constructor
IntensityProfileForce (RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds a profile force
destructor
virtual ~IntensityProfileForce ()
destroys any line voxel
virtual bool isPossible () const
whether the force can be computed
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, IntensityProfileInformation *rii)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
class ClassForce : public ImageLine, public Force
this force deforms the model in a classified image at the interface of two classes
ClassInrimageInformation* ri
necessary information for computing matching point
constructor
ClassForce (RangeInrimage *range, double forceRange = 10.0) throw(Force::InvalidRangeInrimage)
builds a class force
destructor
virtual ~ClassForce ()
destroys any line voxel
virtual bool isPossible () const
whether the force can be computed
bool getPoint (const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, ClassInrimageInformation *rii)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
void updateImage (void)
set the image pointer on the updated classify image
enum ForceGeometry
the geometry of attraction forces
enum IMAGE_KIND
which image
NONE
none
INTENSITY
intensity image
GRADIENT
gradient image
GRADIENT_DIRECTION
gradient direction image
GRADIENT_GRADIENT
gradient direction image
EDGE
edge image
CLASSIFY
classify image

Public Methods

void initForces ()
creates the set of forces and adds then in the list
unsigned int getDirectionArraySize ()
unit vectors of the spherical dome number when the unit sphere is tesselated with frequency DEFAULT_SPHERE_FREQUENCY
void setIntensity (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new intensity image
void setGradient (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient image
void setGradientDirection (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient direction image
void setEdge (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new edge image
void setGradientGradient (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient of the gradient norm image
void setClassify (Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new classify image
Inrimage* getIntensity (void) const
get the intensity image
Inrimage* getGradient (void) const
get the gradient image
Inrimage* getGradientDirection (void) const
get the gradientDirection image
Inrimage* getEdge (void) const
get the edge image
Inrimage* getGradientGradient (void) const
get the gradientGradient image
Inrimage* getClassify (void) const
get the classify image
const Vec3 * getSampledDirection (void) const
get the gradientGradient image
void computeSobelGradient (unsigned int sigma=3, bool twoD=false, bool maximum=false, double lt=0.0)
compute the gradient norm and direction using sobel filters : it requires that the intensity image already exists
void computeRecursiveGradient (yav::RECURSIVE_FILTER_TYPE filter=yav::DERICHE_STEP_EDGE, double sigma=3.0, bool twoD=false, bool maximum=false, double lt=0.0)
compute the gradient norm and direction using recursive filters : it requires that the intensity image already exists
void computeSobelGradientGradient (unsigned int sigma=3, bool twoD=false)
compute the gradient of the gradient norm using sobel filters : it requires that the gradient image already exists
void computeRecursiveGradientGradient (yav::RECURSIVE_FILTER_TYPE filter=yav::DERICHE_STEP_EDGE, double sigma=3.0, bool twoD=false)
compute the gradient of the gradient norm using recursive filters : it requires that the gradient image already exists
virtual void updateImageDisplay (Inrimage *inr)
update image display (when the displayed image change)
IMAGE_KIND getImageDisplay (void) const
returns displayed image kind
Inrimage* getDisplayedImage () const
returns inrimage being displayed
virtual RangeInrimage::IMAGE_KIND display (IMAGE_KIND kind)
returns image kind being displayed

Public

exception
constructor
RangeInrimage (const TclString& filename, Inrimage *intensity = 0) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a RangeInrimage given the intensity image and its name
RangeInrimage (Inrimage *intensity = 0, Inrimage *gradient = 0, Inrimage *gradientDirection = 0, Inrimage *edge = 0, Inrimage *gradientGradient = 0, Inrimage *classify = 0, ForceGeometry _forceGeometry = FORCE_3D)
build a RangeInrimage given the list of images
destructor
virtual ~RangeInrimage ()
destroys any line voxel

Protected Fields

ObjectPointer intensity
intensity image
ObjectPointer gradient
gradient image
ObjectPointer gradientDirection
gradient direction image
ObjectPointer edge
gradient direction image
ObjectPointer gradientGradient
gradient direction image
ObjectPointer classify
classification image
Vec3 * sampledDirection
array of vertex corresponding to coding of the gradientDirection image
unsigned int sizeX
the size in the X direction of all images
unsigned int sizeY
the size in the Y direction of all images
unsigned int sizeZ
the size in the Z direction of all images
ObjectsList forceList
list of available forces
ForceGeometry forceGeometry
the geometry of attraction forces
GradientForce* gradientForce
gradient force
RegionForce* regionForce
region force
GradientGradientForce* gradientGradientForce
gradientGradient force
GradientBalloonForce* gradientBalloonForce
gradient balloon force
IntensityProfileForce* intensityProfileForce
intensityProfile force
ClassForce* classForce
classify force
IMAGE_KIND imageDisplay
image kind currently displayed

Protected Methods

virtual void dying (const ObjectPointer& obj)
an image owned by this object is being destroyed
void setSize (Inrimage *im)
set sizeX sizeY sizeZ as the size of a given image
void testSize (Inrimage *im) const throw(InvalidSize)
test if im has the size corresponding to sizeX sizeY sizeZ
void gradientFile (const TclString& fileName, TclString& gradientName) const
looks for gradient file from intensity file name
void gradientDirectionFile (const TclString& fileName, TclString& gradientDirectionName) const
looks for gradient direction file from intensity file name
void gradientGradientFile (const TclString& fileName, TclString& gradientGradientName) const
looks for gradient of the gradient file from intensity file name
void classifyFile (const TclString& fileName, TclString& classifyName) const
looks for classify file from intensity file name
void updateForceImages ()
call the updateImage method of all existing force in its lists

Documentation

base class for 2D and 3D image used to deform models
exception

class GradientForce: public VoxelMax, public Force
a force that detects voxel of maximum gradient norm

exception thrown when the associated RangeInrimage is not valid

exception

TclString name
the force name

RangeInrimage* range
the associated Range image

constructor

Force(RangeInrimage *range, TclString _name) throw(InvalidRangeInrimage)
builds a new force applying on a volumetric image
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
range - the associated range inrimage
name - the force name

destructor

virtual ~Force()
empty

virtual bool isPossible() const
whether the force can be computed

virtual void getSpeed(const Vec3 &position, double &mult, double &add)
routines that computes a level set speed at a given point in image
Parameters:
position - the position of a 3D point in the image
mult - returned multiplicative speed term
add - returned additive speed term

TclString getName()
returns the name of the force

virtual void updateImage()
function called whenever an image of the pointed RangeImage is changed

ImageGeometry* converter
use this geometry converter to properly handle cylindrical images

GradientInrimageInformation* gi
gradient Inrimage Information

bool testVoxel(ImageVoxel *voxel)
returns true if voxel verify orientation and intensity constraints, false otherwise
Parameters:
voxel - tested voxel

constructor

GradientForce(RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds a gradient force given the gradient threshold, its orientation constraint and its intensity range
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
range - the associated range inrimage

destructor

virtual ~GradientForce()
destroys any line voxel

void start(Voxel& voxel)
initializes the closest voxel
Parameters:
voxel - an image type voxel

bool isPossible() const
whether this force can be used

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

void updateImage(void)
set the image pointer to the updated gradient image

bool isPossible()
is it possible to use the force

bool stopFromGradient(ImageVoxel *v, Voxel& iv)
gradient force stop condition
Parameters:
v - current image line voxel
iv - an image type voxel

class RegionForce: public VoxelMax, public Force
a force that detects the closest voxel whose gradient value is above a given threshold and eventually whose gradient orientation follows the gradient orientation constraint and finally whose intensity belongs to a given intensity range

RegionInrimageInformation* ri
necessary information for computing matching point

void findRegion()
Finds the region boundary and store the boundary voxel in maxVoxel

void smoothProfile()
Smooth the image profile

constructor

RegionForce(RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds an edge force given the gradient threshold and its orientation constraint and its intensity range
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
range - the associated range inrimage

destructor

virtual ~RegionForce()
destroys any line voxel

void start(Voxel& voxel)
initializes the closest voxel
Parameters:
voxel - an image type voxel

bool isPossible() const
whether this force can be used

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, RegionInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

void updateImage(void)
set the image pointer to the updated gradient image

bool stopFromRegion(ImageVoxel *v, Voxel& iv)
edge force stop condition
Parameters:
v - current image line voxel
iv - an image type voxel

class GradientGradientForce: public Force
the force that apply a force in the direction of the gradient vector of the gradient

constructor

GradientGradientForce(RangeInrimage *_range) throw(Force::InvalidRangeInrimage)
builds a GradientGradient force
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
_range - the associated range inrimage

destructor

virtual ~GradientGradientForce()
destroys any line voxel

bool isPossible() const
whether this force can be computed

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientGradientInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

class GradientBalloonForce: public Force
the force that moves the deformable model in the normal direction only of the gradient value is less than a given threhold

constructor

GradientBalloonForce(RangeInrimage *_range) throw(Force::InvalidRangeInrimage)
builds a GradientGradient force
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
_range - the associated range inrimage

bool isPossible() const
whether this force can be computed

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, GradientBalloonInrimageInformation *rii = 0)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

virtual void getSpeed(const Vec3 &position, double &mult, double &add, GradientBalloonInrimageInformation *rii)
compute level set speed as 1/|\nabla I| truncated function
Parameters:
position - the position of a 3D point in the image
mult - returned multiplicative speed term
add - returned additive speed term
rii - local information necessary to compute the speed

destructor

virtual ~GradientBalloonForce()
destroys any line voxel

class IntensityProfileForce: public ImageLine, public Force
this force deforms the model so that pre-stored intensity profile at each mesh vertex match the image intensity profile

constructor

IntensityProfileForce(RangeInrimage *range) throw(Force::InvalidRangeInrimage)
builds a profile force
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
range - range inrimage the force is computed in

destructor

virtual ~IntensityProfileForce()
destroys any line voxel

virtual bool isPossible() const
whether the force can be computed

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, IntensityProfileInformation *rii)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

class ClassForce: public ImageLine, public Force
this force deforms the model in a classified image at the interface of two classes

ClassInrimageInformation* ri
necessary information for computing matching point

constructor

ClassForce(RangeInrimage *range, double forceRange = 10.0) throw(Force::InvalidRangeInrimage)
builds a class force
Throws:
InvalidRangeInrimage range pointer should not be 0
Parameters:
range - range inrimage the force is computed in
forceRange - range to scan voxels for an appropriate candidate

destructor

virtual ~ClassForce()
destroys any line voxel

virtual bool isPossible() const
whether the force can be computed

bool getPoint(const Vec3 &position, const Vec3 &direction, double range, Vec3 &point, ClassInrimageInformation *rii)
routines that computes a point in a volumetric image lying on a 3D line defined by (position, direction) and that that best matches a given criterion
Returns:
a boolean that is set to true is a point is found that matches a given criterion
Parameters:
position - the position of a 3D point in the image
direction - a unit vector representing a direction of a 3D line in the image
range - the maximum distance from the 3D point (position) where to search for that point
point - the matched point in the 3D image that optimized a given criterion
rii - local range information at given point

void updateImage(void)
set the image pointer on the updated classify image

enum ForceGeometry
the geometry of attraction forces

ObjectPointer intensity
intensity image

ObjectPointer gradient
gradient image

ObjectPointer gradientDirection
gradient direction image

ObjectPointer edge
gradient direction image

ObjectPointer gradientGradient
gradient direction image

ObjectPointer classify
classification image

Vec3 * sampledDirection
array of vertex corresponding to coding of the gradientDirection image

unsigned int sizeX
the size in the X direction of all images

unsigned int sizeY
the size in the Y direction of all images

unsigned int sizeZ
the size in the Z direction of all images

ObjectsList forceList
list of available forces

ForceGeometry forceGeometry
the geometry of attraction forces

GradientForce* gradientForce
gradient force

RegionForce* regionForce
region force

GradientGradientForce* gradientGradientForce
gradientGradient force

GradientBalloonForce* gradientBalloonForce
gradient balloon force

IntensityProfileForce* intensityProfileForce
intensityProfile force

ClassForce* classForce
classify force

virtual void dying(const ObjectPointer& obj)
an image owned by this object is being destroyed
Parameters:
obj - element before destruction

void setSize(Inrimage *im)
set sizeX sizeY sizeZ as the size of a given image

void testSize(Inrimage *im) const throw(InvalidSize)
test if im has the size corresponding to sizeX sizeY sizeZ

void gradientFile(const TclString& fileName, TclString& gradientName) const
looks for gradient file from intensity file name
Parameters:
fileName - intensity file name
gradientName - returned gradient file name, EMPTY_STRING if no gradient file was found

void gradientDirectionFile(const TclString& fileName, TclString& gradientDirectionName) const
looks for gradient direction file from intensity file name
Parameters:
fileName - intensity file name
gradientDirectionName - returned gradient direction file name, EMPTY_STRING if no gradient file was found

void gradientGradientFile(const TclString& fileName, TclString& gradientGradientName) const
looks for gradient of the gradient file from intensity file name
Parameters:
fileName - intensity file name
gradientGradientName - returned gradient of the gradient norme file name, EMPTY_STRING if no gradient file was found

void classifyFile(const TclString& fileName, TclString& classifyName) const
looks for classify file from intensity file name
Parameters:
fileName - intensity file name
classifyName - returned classify file name, EMPTY_STRING if no classify file was found

void updateForceImages()
call the updateImage method of all existing force in its lists

constructor

RangeInrimage(const TclString& filename, Inrimage *intensity = 0) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a RangeInrimage given the intensity image and its name. If name.inr.gz is given, name.gradient and name.gradient.gz are used for gradient image candidates, and name.gradient_direction and name.gradient_direction.gz are used for gradient direction image candidate.
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 - intensity image file name
intensity - intensity image (loaded if null)

RangeInrimage(Inrimage *intensity = 0, Inrimage *gradient = 0, Inrimage *gradientDirection = 0, Inrimage *edge = 0, Inrimage *gradientGradient = 0, Inrimage *classify = 0, ForceGeometry _forceGeometry = FORCE_3D)
build a RangeInrimage given the list of images
Parameters:
intensity - the intensity imag
gradient - the image of the norm of the gradient
gradientDirection - the image of gradient direction coded in a unsigned char
edge - the edge image coded as a binary unsigned char image
gradientGradient - the image corresponding to the gradient of the gradient norm
classify - the image corresponding to the classification of intensity image
forceGeometry - if it should be a 2D or 3D force

destructor

virtual ~RangeInrimage()
destroys any line voxel

void initForces()
creates the set of forces and adds then in the list

unsigned int getDirectionArraySize()
unit vectors of the spherical dome number when the unit sphere is tesselated with frequency DEFAULT_SPHERE_FREQUENCY

void setIntensity(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new intensity image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - intensity image

void setGradient(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - gradient image

void setGradientDirection(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient direction image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - gradient direction image

void setEdge(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new edge image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - edge image

void setGradientGradient(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new gradient of the gradient norm image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - gradient of the gradient norm image edge image

void setClassify(Inrimage *inr) throw(RangeInrimage::InvalidSize)
set a new classify image
Throws:
InvalidSize inr size does not match data image size
Parameters:
inr - classify image

Inrimage* getIntensity(void) const
get the intensity image
Returns:
the intensity image

Inrimage* getGradient(void) const
get the gradient image
Returns:
the gradient image

Inrimage* getGradientDirection(void) const
get the gradientDirection image
Returns:
the gradientDirection image

Inrimage* getEdge(void) const
get the edge image
Returns:
the edge image

Inrimage* getGradientGradient(void) const
get the gradientGradient image
Returns:
the gradientGradient image

Inrimage* getClassify(void) const
get the classify image
Returns:
the gradientGradient image

const Vec3 * getSampledDirection(void) const
get the gradientGradient image
Returns:
the gradientGradient image

void computeSobelGradient(unsigned int sigma=3, bool twoD=false, bool maximum=false, double lt=0.0)
compute the gradient norm and direction using sobel filters : it requires that the intensity image already exists
Parameters:
sigma - the width of the line recursive filter
twoD - whether the computation should be 2D or 3D
maximum - whether the maximum of the gradient in the gradient direction should be computed
lt - the low threshold on the gradient norm

void computeRecursiveGradient(yav::RECURSIVE_FILTER_TYPE filter=yav::DERICHE_STEP_EDGE, double sigma=3.0, bool twoD=false, bool maximum=false, double lt=0.0)
compute the gradient norm and direction using recursive filters : it requires that the intensity image already exists
Parameters:
filter - the type of recursive filter to apply
sigma - the width of the filter
twoD - whether the computation should be 2D or 3D
maximum - whether the maximum of the gradient in the gradient direction should be computed
lt - the low threshold on the gradient norm

void computeSobelGradientGradient(unsigned int sigma=3, bool twoD=false)
compute the gradient of the gradient norm using sobel filters : it requires that the gradient image already exists
Parameters:
sigma - the width of the line recursive filter
twoD - whether the computation should be 2D or 3D
maximum - whether the maximum of the gradient in the gradient direction should be computed
lt - the low threshold on the gradient norm

void computeRecursiveGradientGradient(yav::RECURSIVE_FILTER_TYPE filter=yav::DERICHE_STEP_EDGE, double sigma=3.0, bool twoD=false)
compute the gradient of the gradient norm using recursive filters : it requires that the gradient image already exists
Parameters:
filter - the type of recursive filter to apply
sigma - the width of the filter
twoD - whether the computation should be 2D or 3D
maximum - whether the maximum of the gradient in the gradient direction should be computed
lt - the low threshold on the gradient norm

virtual void updateImageDisplay(Inrimage *inr)
update image display (when the displayed image change)
Parameters:
inr - new displayed image

enum IMAGE_KIND
which image

NONE
none

INTENSITY
intensity image

GRADIENT
gradient image

GRADIENT_DIRECTION
gradient direction image

GRADIENT_GRADIENT
gradient direction image

EDGE
edge image

CLASSIFY
classify image

IMAGE_KIND imageDisplay
image kind currently displayed

IMAGE_KIND getImageDisplay(void) const
returns displayed image kind

Inrimage* getDisplayedImage() const
returns inrimage being displayed

virtual RangeInrimage::IMAGE_KIND display(IMAGE_KIND kind)
returns image kind being displayed


Direct child classes:
RangeInrimage3D
RangeInrimage2D

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