void OpenSnakeTracer::Cast_Open_Snake_3D() { float alpha = 0; int iter_num = 50; int ITER = 5; int pt_distance = 2; float beta = 0.05; float kappa = 1; float gamma = 1; float stretchingRatio = 3; Point3D seed = IM->SeedPt.Pt[seed_num]; seed_num++; std::cout<<"#Seeds Left:"<< IM->SeedPt.GetSize() - seed_num << std::endl; SnakeClass snake; snake.Set_Seed_Point(seed); snake.SetImage(IM); snake.Expand_Seed_Point(3); int i = 0; while( i < iter_num ) { std::cout<<"iteration#"<<i<<std::endl; snake.OpenSnakeStretch( alpha, ITER, pt_distance, beta, kappa, gamma, stretchingRatio ); i++; } SnakeList.AddSnake(snake); }
void OpenSnakeTracer::Cast_Open_Snake_3D() { float alpha = 0; int iter_num = 50; int ITER = 5; int pt_distance = 2; float beta = 0.05; float kappa = 1; float gamma = 1; float stretchingRatio = 3; int collision_dist = 1; int minimum_length = 5; bool automatic_merging = 0; int max_angle = 99; bool freeze_body = 0; int s_force = 1; int snake_id = 0; int tracing_model = 0; int coding_method = 0; float sigma_ratio = 1; int border = 0; Point3D seed = IM->SeedPt.Pt[seed_num]; seed_num++; // std::cout<<"#Seeds Left:"<< IM->SeedPt.GetSize() - seed_num << std::endl; SnakeClass snake; snake.Set_Seed_Point(seed); snake.SetImage(IM); snake.Expand_Seed_Point(3); for( int j = 0; j < snake.Cu.GetSize(); j++ ) { snake.Ru.push_back(2); } int i = 0; while( i < iter_num ) { // std::cout<<"iteration#"<<i<<std::endl; snake.OpenSnakeStretch_4D(alpha, ITER, pt_distance, beta, kappa, gamma, stretchingRatio,collision_dist,minimum_length, automatic_merging,max_angle,freeze_body,s_force,snake_id,tracing_model,coding_method,sigma_ratio,border); // snake.OpenSnake_Init_4D(alpha,ITER,beta,kappa,gamma,pt_distance); i++; } //Point3D a = snake.Cu.GetFirstPt(); //std::cout<< a.x << a.y << a.z << std::endl; SnakeList.AddSnake(snake); }