In file imagedata/RangeInrimage2D.h:

class RangeInrimage2D : public InrimageView, public RangeInrimage, public SliceRangeData2D

2D range inrimage

Inheritance:


Public Methods

virtual RangeInrimage2D::IMAGE_KIND display (IMAGE_KIND kind)
changes displayed inrimage
bool getClosestPoint (const Vec2 &position, const Vec2 &normal, const double range, Vec2 &closest, const RangeInformation *clientData) const
RangeData2D closest point computation callback
virtual bool getClosestPoint (const Vec2 &position, const Vec2 &normalDirection, const double rangeSearchDistance, Vec2 &closestPoint, SliceCamera::SLICE_ORIENTATION geometry=SliceCamera::SLICE_Z, double sliceNumber=0, const RangeInformation *clientData=0) const
routine that computes the closest point on a 3D image given the slice number and slice geometry
void getSpeed (const Vec2 &position, double &mul, double &add, const RangeInformation *clientData) const
compute level set speed as 1/|\nabla I| truncated function
virtual void updateImageDisplay (Inrimage *inr)
update image display (when the displayed image change)

Public

constructors
RangeInrimage2D (Inrimage *inr, Scene2D *scene, Inrimage *gradient = 0, Inrimage *gradientdir = 0, Inrimage *edge = 0, Inrimage *gradient2 = 0, Inrimage *classified = 0) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
builds a range inrimage from intensity image
RangeInrimage2D (const TclString& fileName, Scene2D *scene) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a range inrimage from intensity image file name
destructor
virtual ~RangeInrimage2D ()
empty

Protected Methods

virtual void dying (const ObjectPointer& obj)
an image owned by this object is being destroyed

Inherited from RangeInrimage:

Public Classes

class GradientForce: public VoxelMax, public Force
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
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
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
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
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
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
enum IMAGE_KIND
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()
unsigned int getDirectionArraySize()
void setIntensity(Inrimage *inr) throw(RangeInrimage::InvalidSize)
void setGradient(Inrimage *inr) throw(RangeInrimage::InvalidSize)
void setGradientDirection(Inrimage *inr) throw(RangeInrimage::InvalidSize)
void setEdge(Inrimage *inr) throw(RangeInrimage::InvalidSize)
void setGradientGradient(Inrimage *inr) throw(RangeInrimage::InvalidSize)
void setClassify(Inrimage *inr) throw(RangeInrimage::InvalidSize)
Inrimage* getIntensity(void) const
Inrimage* getGradient(void) const
Inrimage* getGradientDirection(void) const
Inrimage* getEdge(void) const
Inrimage* getGradientGradient(void) const
Inrimage* getClassify(void) const
const Vec3 * getSampledDirection(void) const
void computeSobelGradient(unsigned int sigma=3, bool twoD=false, bool maximum=false, double lt=0.0)
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)
void computeSobelGradientGradient(unsigned int sigma=3, bool twoD=false)
void computeRecursiveGradientGradient(yav::RECURSIVE_FILTER_TYPE filter=yav::DERICHE_STEP_EDGE, double sigma=3.0, bool twoD=false)
IMAGE_KIND getImageDisplay(void) const
Inrimage* getDisplayedImage() const

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

Protected Fields

ObjectPointer intensity
ObjectPointer gradient
ObjectPointer gradientDirection
ObjectPointer edge
ObjectPointer gradientGradient
ObjectPointer classify
Vec3 * sampledDirection
unsigned int sizeX
unsigned int sizeY
unsigned int sizeZ
ObjectsList forceList
ForceGeometry forceGeometry
GradientForce* gradientForce
RegionForce* regionForce
GradientGradientForce* gradientGradientForce
GradientBalloonForce* gradientBalloonForce
IntensityProfileForce* intensityProfileForce
ClassForce* classForce
IMAGE_KIND imageDisplay

Protected Methods

void setSize(Inrimage *im)
void testSize(Inrimage *im) const throw(InvalidSize)
void gradientFile(const TclString& fileName, TclString& gradientName) const
void gradientDirectionFile(const TclString& fileName, TclString& gradientDirectionName) const
void gradientGradientFile(const TclString& fileName, TclString& gradientGradientName) const
void classifyFile(const TclString& fileName, TclString& classifyName) const
void updateForceImages()

Documentation

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

constructors

RangeInrimage2D(Inrimage *inr, Scene2D *scene, Inrimage *gradient = 0, Inrimage *gradientdir = 0, Inrimage *edge = 0, Inrimage *gradient2 = 0, Inrimage *classified = 0) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
builds a range inrimage from intensity image
Parameters:
inr - intensity inrimage
scene - scene to create range image in
gradient - gradient image
gradientdir - gradient direction image
edge - edge image
gradient2 - gradient derivative image
classify - classified image

RangeInrimage2D(const TclString& fileName, Scene2D *scene) throw(Inrimage::ImageNotFound, Inrimage::UnknownImageType, Inrimage::InvalidHeader, Inrimage::InvalidData, Inrimage::UnknownType)
Builds a range inrimage from intensity image file name. Given file name is used as intensity image. 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.
Parameters:
fileName - intensity image file name
scene - scene to create range image in

destructor

virtual ~RangeInrimage2D()
empty

virtual RangeInrimage2D::IMAGE_KIND display(IMAGE_KIND kind)
changes displayed inrimage
Parameters:
kind - image kind to display

bool getClosestPoint(const Vec2 &position, const Vec2 &normal, const double range, Vec2 &closest, const RangeInformation *clientData) const
RangeData2D closest point computation callback
Returns:
true if some data point was found, false otherwise
Parameters:
position - vertex position
normal - vertex normal
range - search range
closest - returned closest data point found
clientData - vertex local information

virtual bool getClosestPoint(const Vec2 &position, const Vec2 &normalDirection, const double rangeSearchDistance, Vec2 &closestPoint, SliceCamera::SLICE_ORIENTATION geometry=SliceCamera::SLICE_Z, double sliceNumber=0, const RangeInformation *clientData=0) const
routine that computes the closest point on a 3D image given the slice number and slice geometry
Returns:
a boolean equal to true if a closest Point were found and false otherwise
Parameters:
position - the position of the point from which the closest point should be computed
normalDirection - the normal direction of the point from which the closest point should be computed
rangeSearchDistance - the maximum distance (= cut-off distance) along the normal direction at which we should search for the closest point
closestPoint - the closestPoint of the dataset from a given position and normal direction. This output value is only set if a closest point were found. Otherwise it is undetermined
geometry - slice geometry used to define the slice where the computation is performed
sliceNumber - slice number used to define the slice where the computation is performed
clientData - a data structure that can be used to constrain the search of the closest point. This pointer may be 0

void getSpeed(const Vec2 &position, double &mul, double &add, const RangeInformation *clientData) const
compute level set speed as 1/|\nabla I| truncated function
Parameters:
position - the position of a 2D point in the image
mult - returned multiplicative speed term
add - returned additive speed term
clientData - range information associated for finding the boundary point

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


This class has no child classes.

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