Пример #1
0
int main(int argc, char **argv) {

  struct arguments args;
  args.theta_file = "";
  args.phi_file = "";
  args.scale_file = "";
  args.cube_name = "";
  args.neuron_name = "";
  args.output_name = "output";
  args.min_width = 0;
  args.renderScale = 1;

  argp_parse(&argp, argc, argv, 0, 0, &args);

  printf("The arguments are:\n  cube_name: %s\n  neuron_name: %s\n"
         "  output_name: %s\n  theta_file: %s\n  phi_file: %s\n  scale_name: %s\n"
         "  min_width: %f\n renderScale = %f\n",
         args.cube_name.c_str(), args.neuron_name.c_str(), args.output_name.c_str(),
         args.theta_file.c_str(), args.phi_file.c_str(), args.scale_file.c_str(),
         args.min_width, args.renderScale);
  // exit(0);

  Neuron* neuron = new Neuron(args.neuron_name);

  Cube<uchar, ulong>* orig = new Cube<uchar,ulong>(args.cube_name);
  Cube<uchar,ulong>* rendered = orig->create_blank_cube_uchar(args.output_name);

  Cube<float, double>* theta = NULL;
  Cube<float, double>* phi   = NULL;
  Cube<float, double>* scale = NULL;

  if(args.theta_file != "")
    theta = orig->create_blank_cube(args.theta_file);
  if(args.phi_file != "")
    phi = orig->create_blank_cube(args.phi_file);
  if(args.scale_file != "")
    scale = orig->create_blank_cube(args.scale_file);

  neuron->renderInCube(rendered, theta, phi, scale, args.min_width, args.renderScale);
  // rendered->put_all(255);
  // neuron->renderSegmentInCube(neuron->dendrites[0],rendered, theta, phi, scale, args.min_width, args.renderScale);
}