ETRI IVCL 1.0.0
Acceleration SW Platform for Ondevice
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Public Attributes | List of all members
VoxelSurface Class Reference

#include <VoxelSurface.h>

Classes

struct  BSphere
 
class  Filter
 

Public Member Functions

 VoxelSurface (void)
 
 VoxelSurface (float dx, int *N, float *min)
 
 VoxelSurface (const char *path)
 
 ~VoxelSurface (void)
 
void Save (const char *path)
 
void SetOccupancy (void)
 
void UpdateBdpoint (void)
 
void MakeSurface (void)
 
void DistanceTransform (void)
 
void DistanceUpdateForward (int i, int j, int k)
 
void DistanceUpdateBackward (int i, int j, int k)
 
void MakeNormal (int mode, int r, double alpha0)
 
bool AngularCriterion (vec3 n1, vec3 n2, double alpha)
 
ivec3 SymmetricPoint (vec3 normal, ivec3 p, ivec3 q)
 
void MakePrewittFilters (bool show)
 compute gradient using 3D Prewitt mask More...
 
void ComputeGradientMap (int r, unsigned char *gMap)
 
unsigned char ComputeGradient (int i, int j, int k)
 
bool IsSurface (int i, int j, int k)
 
unsigned char IsInside (float *X)
 
point Index2Point (int index)
 

Public Attributes

unsigned char * m_occupancy
 voxel occupancy array More...
 
list< int > m_bdpoint
 boundary point index list More...
 
vector< int > m_ivoxel
 surface voxel index vector More...
 
vector< point > m_voxel
 surface voxel point vector More...
 
vector< vec3 > m_normal
 surface voxel normal vector More...
 
vector< vec3 > m_color
 surface voxel color vector More...
 
float m_dx
 delta_x; variables for grid structure More...
 
int m_N [3]
 resolution array; variables for grid structure More...
 
float m_min [3]
 min array; variables for grid structure More...
 
float m_max [3]
 max array; variables for grid structure More...
 
BSphere bsphere
 bounding structures More...
 
int * m_distance
 distance array More...
 
vector< point > m_direction
 Prewitt direction. More...
 
vector< Filterm_Prewitt
 Prewitt filters. More...
 

Constructor & Destructor Documentation

◆ VoxelSurface() [1/3]

VoxelSurface::VoxelSurface ( void  )

◆ VoxelSurface() [2/3]

VoxelSurface::VoxelSurface ( float  dx,
int *  N,
float *  min 
)

◆ VoxelSurface() [3/3]

VoxelSurface::VoxelSurface ( const char *  path)

◆ ~VoxelSurface()

VoxelSurface::~VoxelSurface ( void  )

Member Function Documentation

◆ AngularCriterion()

bool VoxelSurface::AngularCriterion ( vec3  n1,
vec3  n2,
double  alpha 
)

◆ ComputeGradient()

unsigned char VoxelSurface::ComputeGradient ( int  i,
int  j,
int  k 
)

◆ ComputeGradientMap()

void VoxelSurface::ComputeGradientMap ( int  r,
unsigned char *  gMap 
)

◆ DistanceTransform()

void VoxelSurface::DistanceTransform ( void  )

two pass distance transform using first-neighbor Chamfer distance (3-4-5)
refer G. Borgefors, "Distance transformations in arbitrary dimensions," CVGIP 1984.

◆ DistanceUpdateBackward()

void VoxelSurface::DistanceUpdateBackward ( int  i,
int  j,
int  k 
)
inline

◆ DistanceUpdateForward()

void VoxelSurface::DistanceUpdateForward ( int  i,
int  j,
int  k 
)
inline

◆ Index2Point()

point VoxelSurface::Index2Point ( int  index)

◆ IsInside()

unsigned char VoxelSurface::IsInside ( float *  X)

◆ IsSurface()

bool VoxelSurface::IsSurface ( int  i,
int  j,
int  k 
)

◆ MakeNormal()

void VoxelSurface::MakeNormal ( int  mode,
int  r,
double  alpha0 
)

normal estimation by adaptive distance gradient filtering (ADGF)
refer F. Flin et al., "Adaptive estimation of normals and surface area for discrete \n 3D objects: Application to snow binary data from X-ray tomography," IP 2005.

◆ MakePrewittFilters()

void VoxelSurface::MakePrewittFilters ( bool  show)

compute gradient using 3D Prewitt mask

◆ MakeSurface()

void VoxelSurface::MakeSurface ( void  )

◆ Save()

void VoxelSurface::Save ( const char *  path)

◆ SetOccupancy()

void VoxelSurface::SetOccupancy ( void  )

◆ SymmetricPoint()

ivec3 VoxelSurface::SymmetricPoint ( vec3  normal,
ivec3  p,
ivec3  q 
)

◆ UpdateBdpoint()

void VoxelSurface::UpdateBdpoint ( void  )

Member Data Documentation

◆ bsphere

BSphere VoxelSurface::bsphere

bounding structures

◆ m_bdpoint

list<int> VoxelSurface::m_bdpoint

boundary point index list

◆ m_color

vector<vec3> VoxelSurface::m_color

surface voxel color vector

◆ m_direction

vector<point> VoxelSurface::m_direction

Prewitt direction.

◆ m_distance

int* VoxelSurface::m_distance

distance array

◆ m_dx

float VoxelSurface::m_dx

delta_x; variables for grid structure

◆ m_ivoxel

vector<int> VoxelSurface::m_ivoxel

surface voxel index vector

◆ m_max

float VoxelSurface::m_max[3]

max array; variables for grid structure

◆ m_min

float VoxelSurface::m_min[3]

min array; variables for grid structure

◆ m_N

int VoxelSurface::m_N[3]

resolution array; variables for grid structure

◆ m_normal

vector<vec3> VoxelSurface::m_normal

surface voxel normal vector

◆ m_occupancy

unsigned char* VoxelSurface::m_occupancy

voxel occupancy array

◆ m_Prewitt

vector<Filter> VoxelSurface::m_Prewitt

Prewitt filters.

◆ m_voxel

vector<point> VoxelSurface::m_voxel

surface voxel point vector


The documentation for this class was generated from the following files: