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

VoxelCoding.hpp File Reference

#include <ImLib3D/MorphologicalOperators.hpp>
#include <ImLib3D/Threshold.hpp>

Include dependency graph for VoxelCoding.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  IP3D
namespace  IP3D::ShortestPathExtractionHelpers

Typedefs

typedef bool(* StopFctType )(void *dat, const Vect3Di &p)
 argh, call fct. FIXME, this would be prettier with libsigc++
typedef pair< StopFctType,
void * > 
StopCBType
 argh, call fct + data. FIXME, this would be prettier with libsigc++

Functions

void VoxelCode (const Mask3D &shape, const Mask3D &seeds, int m0, int m1, int m2, LabelImage3D &res, const Vect3Di *stopPoint=NULL)
void SSCode (const Mask3D &shape, const Vect3Di &sourcePoint, int m0, int m1, int m2, LabelImage3D &res, const Vect3Di *stopPoint=NULL)
void BSCode (const Mask3D &shape, int m0, int m1, int m2, LabelImage3D &res)
void ShortestPathExtraction (const Mask3D &shape, const Vect3Di &start, const Vect3Di &end, vector< Vect3Di > &path, Mask3D *pres=NULL, StructureElement *psel=NULL, const LabelImage3D *pssCode0=NULL, ShortestPathExtractionHelpers::StopCBType stopCB=ShortestPathExtractionHelpers::StopCBType(NULL, NULL))
void Skeleton (const Mask3D &shape, Mask3D &res)


Detailed Description

Definition in file VoxelCoding.hpp.


Function Documentation

void IP3D::VoxelCode const Mask3D shape,
const Mask3D seeds,
int  m0,
int  m1,
int  m2,
LabelImage3D res,
const Vect3Di stopPoint = NULL
 

#&VoxelCode&# Sort of distance transform of a shape, starting from seed points, and using an integer metric m0 is the "distance" associated with F-Neighbors (Cross7). m1 is the "distance" associated with e-Neighbors (Planar19). m2 is the "distance" associated with v-Neighbors (Cubic27). Example values are m0=1,m1=2,m2=3, or m0=3,m1=4,m2=5.

Shape type:Mask3D Seed type:Mask3D m0 type:int m1 type:int m2 type:int resulting codes type:Image3Dlinear<int> ~

Referenced by IP3D::BSCode(), and IP3D::SSCode().

void IP3D::SSCode const Mask3D shape,
const Vect3Di sourcePoint,
int  m0,
int  m1,
int  m2,
LabelImage3D res,
const Vect3Di stopPoint = NULL
[inline]
 

#&SSCode&# VoxelCode starting from a single seed point For example, this is usefull for shortest path extraction

Shape type:Mask3D p0 type:Vect3Di m0 type:int m1 type:int m2 type:int resulting codes type:Image3Dlinear<int> start type:Vect3Di ~

Definition at line 61 of file VoxelCoding.hpp.

References Container3D< Im3DValue >::Fill(), Image3D::Size(), and IP3D::VoxelCode().

Referenced by IP3D::ShortestPathExtraction().

void IP3D::BSCode const Mask3D shape,
int  m0,
int  m1,
int  m2,
LabelImage3D res
[inline]
 

#&BSCode&# VoxelCode starting from boundary points of shape This is pretty much like a distance transform

Shape type:Mask3D m0 type:int m1 type:int m2 type:int resulting codes type:Image3Dlinear<int> ~

Definition at line 82 of file VoxelCoding.hpp.

References IP3D::Erosion(), MORPHO_Cross7, and IP3D::VoxelCode().

void IP3D::ShortestPathExtraction const Mask3D shape,
const Vect3Di start,
const Vect3Di end,
vector< Vect3Di > &  path,
Mask3D pres = NULL,
StructureElement psel = NULL,
const LabelImage3D pssCode0 = NULL,
ShortestPathExtractionHelpers::StopCBType  stopCB = ShortestPathExtractionHelpers::StopCBType(NULL, NULL)
 

#&ShortestPathExtraction&# Shortest path between two points using VoxelCoding

Shape type:Mask3D start type:Vect3Di end type:Vect3Di path type:vector<Vect3Di> res image type:Mask3D sel type:StructureElement ssCode type:Image3Dlinear<int> ~

void IP3D::Skeleton const Mask3D shape,
Mask3D res
[inline]
 

#&Skeleton&# Centerline (1-D Skeleton) of a 3D shape The algorithm is described in Zhou and Toga 99. WARNING: this implementation is still a bit buggy, and the algo doesn't seem to be very good anyways.

Shape type:Mask3D Skeleton type:Mask3D ~

Definition at line 349 of file VoxelCoding.hpp.

References Container3D< Im3DValue >::Fill(), Container3D< Im3DValue >::Resize(), and Image3D::Size().


Generated on Fri Jun 17 13:36:17 2005 for ImLib3D by  doxygen 1.4.2