当前位置: 首页>>代码示例>>C++>>正文


C++ Pointer::ImportParameters方法代码示例

本文整理汇总了C++中transformtype::Pointer::ImportParameters方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::ImportParameters方法的具体用法?C++ Pointer::ImportParameters怎么用?C++ Pointer::ImportParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在transformtype::Pointer的用法示例。


在下文中一共展示了Pointer::ImportParameters方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main (int argc, char **argv)
{
  int verbose=0, clobber=0,skip_grid=0;
  double max=5.0;
  double extent=300;

  static struct option long_options[] = {
		{"verbose", no_argument,       &verbose, 1},
		{"quiet",   no_argument,       &verbose, 0},
		{"clobber", no_argument,       &clobber, 1},
		{"spacing", required_argument, 0, 's'},
		{"max",     required_argument, 0, 'm'},
		{"version", no_argument,       0, 'v'},
    {"extent", required_argument,  0, 'e'},
		{0, 0, 0, 0}
		};
  
  double spacing=4.0;
  for (;;) {
      /* getopt_long stores the option index here. */
      int option_index = 0;

      int c = getopt_long (argc, argv, "s:m:v", long_options, &option_index);

      /* Detect the end of the options. */
      if (c == -1) break;

      switch (c)
			{
			case 0:
				break;
			case 's':
				spacing=atof(optarg);
				break;
			case 'v':
				cout << "Version: 1.0" << endl;
				return 0;
      case 'm':
        max=atof(optarg); break;
      case 'e':
        extent=atof(optarg); break;
			case '?':
				/* getopt_long already printed an error message. */
			default:
				show_usage ();
				return 1;
			}
    }

	if ((argc - optind) < 2) {
		show_usage ();
		return 1;
	}
  std::string input=argv[optind];
  std::string output=argv[optind+1];
	try
  {
    gsl_rng_env_setup();
    
		typedef minc::SphericalHarmonicsTransform TransformType;
    
		TransformType::ParametersType finalParameters;
		load_parameters(input.c_str(),finalParameters);
		TransformType::Pointer finalTransform = TransformType::New();
    cout<<"Loaded parameters:"<<finalParameters<<endl;
		finalTransform->ImportParameters( finalParameters , true);
    
    cout<<"Imported!"<<endl;
		minc::def3d::Pointer grid(minc::def3d::New());
    
    allocate_image3d<minc::def3d>(grid, 
                      fixed_vec<3, unsigned int>(extent/spacing), 
                      fixed_vec<3, double>(spacing), 
                      fixed_vec<3, double>(-extent/2));
		
		if(verbose) 
		{
			cout<<"Generating a grid file, ";
			cout<<"extent: "<<extent<<" spacing: "<<spacing<<" ..."<<std::flush;
		}
		
    def3d_iterator it(grid,grid->GetLargestPossibleRegion());
		for(it.GoToBegin();!it.IsAtEnd();++it) 
    {
      tag_point p,p2;
      grid->TransformIndexToPhysicalPoint(it.GetIndex(),p);
			p2=finalTransform->TransformPointUnCached(p);
      def_vector moved;
			moved[0]=p2[0]-p[0];
			moved[1]=p2[1]-p[1];
			moved[2]=p2[2]-p[2];
      if(fabs(moved[0])>max || fabs(moved[1])>max ||fabs(moved[2])>max)
        moved[0]=moved[1]=moved[2]=0.0;
			
      it.Value()=moved;
    }
		if(verbose)
			cout<<"Done!"<<endl;
    save_minc<def3d>(output.c_str(), grid);
		
//.........这里部分代码省略.........
开发者ID:BIC-MNI,项目名称:EZminc,代码行数:101,代码来源:sph_par2grid.cpp


注:本文中的transformtype::Pointer::ImportParameters方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。