Ejemplo n.º 1
0
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);


}
Ejemplo n.º 2
0
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);
}