added a sphere test data, the upsample codes works well on it too

This commit is contained in:
Shihao Wu 2013-07-14 23:41:15 +08:00
parent d8ea879471
commit bed181be5c
3 changed files with 1060 additions and 6 deletions

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,8 @@ int main(void)
{
// Reads a .xyz point set file in points[].
std::vector<PointVectorPair> points;
std::ifstream stream("data/before_upsample.xyz");
//std::ifstream stream("data/before_upsample.xyz");
std::ifstream stream("data/sphere_1k_after_regularization2.xyz");
if (!stream ||
!CGAL::read_xyz_points_and_normals(stream,
@ -36,10 +37,10 @@ int main(void)
}
//Algorithm parameters
const double sharpness_sigma = 30; //control sharpness of the result.
const double sharpness_sigma = 90; //control sharpness of the result.
const double edge_senstivity = 0; // more points will up-sample on edge.
const double neighbor_radius = 0.2; // initial neighbors size.
const unsigned int number_of_output_points = points.size() * 70;
const unsigned int number_of_output_points = points.size() * 100;
CGAL::Timer task_timer;
@ -67,7 +68,10 @@ int main(void)
// Note: write_xyz_points_and_normals() requires an output iterator
// over points as well as property maps to access each
// point position and normal.
std::ofstream out("data/after_upsample.xyz");
//std::ofstream out("data/after_upsample.xyz");
std::ofstream out("data/sphere_after_upsample.xyz");
if (!out ||
!CGAL::write_xyz_points_and_normals(
out, points.begin(), points.end(),

View File

@ -387,7 +387,7 @@ upsample_point_set(
if (iter_time == 0)
{
//estimate density threshold
//estimate density threshold for the first time
for (i = 0; i < rich_point_set.size() * 0.05; i++)
{
Rich_point& v = rich_point_set[i];
@ -420,7 +420,7 @@ upsample_point_set(
density_pass_threshold;
std::cout << "pass_threshold: " << density_pass_threshold2 << std::endl;
std::cout << "pass_threshold: " << density_pass_threshold << std::endl;
// insert new points until all the points' density pass the threshold
unsigned int max_loop_time = 3;