![]() |
ETRI IVCL 1.0.0
Acceleration SW Platform for Ondevice
|
#include <SurfelCut.h>
Public Member Functions | |
SurfelCut (Cameras *cameras, BoundingBox *bbox, int resolution, int nbin, float sigma, float lambda, VoxelSurface *vsurface=NULL) | |
~SurfelCut (void) | |
void | ConstructInitialSurfels (short *idx_sel, float *cost_min) |
construct initial surfel candidates (Native) More... | |
void | oclConstructInitialSurfels (short *idx_sel, float *cost_min) |
construct initial surfel candidates (OpenCL) More... | |
void | RefineSurfels (int METHOD) |
refine surfels More... | |
void | SurfelFiltering (void) |
void | ComputeNormalSamples (void) |
float | ComputeCost (int surfelIdx, int normalIdx) |
void | SmoothSurfelNormals (void) |
void | ExtractOptimalSurfels (int METHOD) |
extract optimal surfels More... | |
void | ComputePhotoConsistencyArray (float *pc) |
STEP 1. More... | |
void | MakeGraph (float *pc) |
STEP 2. More... | |
void | Reconstruct (void) |
void | Reconstruct (unsigned char *h_nodeLabel) |
void | SaveSurfel (const char *path, bool isFull=false) |
save output surfels More... | |
void | SaveNPTS (const char *path, bool isFull=false) |
void | oclRefineSurfels1 (int *numSurfel, int *index, float *x, float *y, float *z, float *nx, float *ny, float *nz, int *refCam, int *supportCam, float *score, float *samples, unsigned char *sampleCam, float sigma, Cameras *cameras) |
void | oclRefineSurfels2 (int *numSurfel, int *index, float *x, float *y, float *z, float *nx, float *ny, float *nz, int *refCam, int *supportCam, float *score, float *samples, unsigned char *sampleCam, float sigma, Cameras *cameras) |
Public Attributes | |
Cameras * | m_cameras |
input cameras More... | |
int | m_nbin |
parameters for initial surfel construction More... | |
float | m_sigma |
parameters for optimal surfel extraction; sigma More... | |
float | m_lambda |
parameters for optimal surfel extraction; lambda More... | |
VoxelSurface * | m_vsurface |
input voxel surface (optional) More... | |
int m_width int | m_height |
the image width 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... | |
int | m_numSurfel |
number of surfels More... | |
int | m_numSurfelFull |
number of reconstructed surfels More... | |
int | m_index [SURFEL_MAX] |
grid index More... | |
float | m_x [SURFEL_MAX] |
position X More... | |
float | m_y [SURFEL_MAX] |
position Y More... | |
float | m_z [SURFEL_MAX] |
position Z More... | |
float | m_nx [SURFEL_MAX] |
normal vector x direction More... | |
float | m_ny [SURFEL_MAX] |
normal vector y direction More... | |
float | m_nz [SURFEL_MAX] |
normal vector z direction More... | |
int | m_refCam [SURFEL_MAX] |
reference camera More... | |
int | m_supportCam [SURFEL_MAX *SUPPORT_MAX] |
support cameras More... | |
float | m_score [SURFEL_MAX] |
score More... | |
float * | _nx |
normal vector x direction (regular grid) More... | |
float * | _ny |
normal vector y direction (regular grid) More... | |
float * | _nz |
normal vector z direction (regular grid) More... | |
float * | _score |
score (regular grid) More... | |
float | m_samples [NUM_NORMAL *3] |
normal samples for discrete surfel refinement More... | |
uchar * | m_sampleCam |
possible cameras for each normal sample More... | |
GraphCutAL::Graph::node_id * | m_nodes |
variables for graph cuts (nodes) More... | |
GraphCutAL::Graph * | m_g |
variables for graph cuts (g) More... | |
SurfelCut::SurfelCut | ( | Cameras * | cameras, |
BoundingBox * | bbox, | ||
int | resolution, | ||
int | nbin, | ||
float | sigma, | ||
float | lambda, | ||
VoxelSurface * | vsurface = NULL |
||
) |
SurfelCut::~SurfelCut | ( | void | ) |
float SurfelCut::ComputeCost | ( | int | surfelIdx, |
int | normalIdx | ||
) |
void SurfelCut::ComputeNormalSamples | ( | void | ) |
void SurfelCut::ComputePhotoConsistencyArray | ( | float * | pc | ) |
STEP 1.
void SurfelCut::ConstructInitialSurfels | ( | short * | idx_sel, |
float * | cost_min | ||
) |
construct initial surfel candidates (Native)
void SurfelCut::ExtractOptimalSurfels | ( | int | METHOD | ) |
extract optimal surfels
void SurfelCut::MakeGraph | ( | float * | pc | ) |
STEP 2.
void SurfelCut::oclConstructInitialSurfels | ( | short * | idx_sel, |
float * | cost_min | ||
) |
construct initial surfel candidates (OpenCL)
void SurfelCut::oclRefineSurfels1 | ( | int * | numSurfel, |
int * | index, | ||
float * | x, | ||
float * | y, | ||
float * | z, | ||
float * | nx, | ||
float * | ny, | ||
float * | nz, | ||
int * | refCam, | ||
int * | supportCam, | ||
float * | score, | ||
float * | samples, | ||
unsigned char * | sampleCam, | ||
float | sigma, | ||
Cameras * | cameras | ||
) |
void SurfelCut::oclRefineSurfels2 | ( | int * | numSurfel, |
int * | index, | ||
float * | x, | ||
float * | y, | ||
float * | z, | ||
float * | nx, | ||
float * | ny, | ||
float * | nz, | ||
int * | refCam, | ||
int * | supportCam, | ||
float * | score, | ||
float * | samples, | ||
unsigned char * | sampleCam, | ||
float | sigma, | ||
Cameras * | cameras | ||
) |
void SurfelCut::Reconstruct | ( | unsigned char * | h_nodeLabel | ) |
void SurfelCut::Reconstruct | ( | void | ) |
void SurfelCut::RefineSurfels | ( | int | METHOD | ) |
refine surfels
void SurfelCut::SaveNPTS | ( | const char * | path, |
bool | isFull = false |
||
) |
void SurfelCut::SaveSurfel | ( | const char * | path, |
bool | isFull = false |
||
) |
save output surfels
void SurfelCut::SmoothSurfelNormals | ( | void | ) |
void SurfelCut::SurfelFiltering | ( | void | ) |
float* SurfelCut::_nx |
normal vector x direction (regular grid)
float* SurfelCut::_ny |
normal vector y direction (regular grid)
float* SurfelCut::_nz |
normal vector z direction (regular grid)
float* SurfelCut::_score |
score (regular grid)
Cameras* SurfelCut::m_cameras |
input cameras
float SurfelCut::m_dx |
delta_x; variables for grid structure
GraphCutAL::Graph* SurfelCut::m_g |
variables for graph cuts (g)
int m_width int SurfelCut::m_height |
the image width
the image height
int SurfelCut::m_index[SURFEL_MAX] |
grid index
float SurfelCut::m_lambda |
parameters for optimal surfel extraction; lambda
float SurfelCut::m_max[3] |
max array; variables for grid structure
float SurfelCut::m_min[3] |
min array; variables for grid structure
int SurfelCut::m_N[3] |
resolution array; variables for grid structure
int SurfelCut::m_nbin |
parameters for initial surfel construction
GraphCutAL::Graph::node_id* SurfelCut::m_nodes |
variables for graph cuts (nodes)
int SurfelCut::m_numSurfel |
number of surfels
int SurfelCut::m_numSurfelFull |
number of reconstructed surfels
float SurfelCut::m_nx[SURFEL_MAX] |
normal vector x direction
float SurfelCut::m_ny[SURFEL_MAX] |
normal vector y direction
float SurfelCut::m_nz[SURFEL_MAX] |
normal vector z direction
int SurfelCut::m_refCam[SURFEL_MAX] |
reference camera
uchar* SurfelCut::m_sampleCam |
possible cameras for each normal sample
float SurfelCut::m_samples[NUM_NORMAL *3] |
normal samples for discrete surfel refinement
float SurfelCut::m_score[SURFEL_MAX] |
score
float SurfelCut::m_sigma |
parameters for optimal surfel extraction; sigma
int SurfelCut::m_supportCam[SURFEL_MAX *SUPPORT_MAX] |
support cameras
VoxelSurface* SurfelCut::m_vsurface |
input voxel surface (optional)
float SurfelCut::m_x[SURFEL_MAX] |
position X
float SurfelCut::m_y[SURFEL_MAX] |
position Y
float SurfelCut::m_z[SURFEL_MAX] |
position Z