本文整理汇总了C++中volmagick::Volume::ZMax方法的典型用法代码示例。如果您正苦于以下问题:C++ Volume::ZMax方法的具体用法?C++ Volume::ZMax怎么用?C++ Volume::ZMax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类volmagick::Volume
的用法示例。
在下文中一共展示了Volume::ZMax方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc,char *argv[])
{
VolMagick::Volume v;
VolMagick::readVolumeFile(v,argv[1]);
UniformGrid ugrid(1,1,1);
ugrid.importVolume(v);
Point min,max;
min.x=v.XMin();
min.y=v.YMin();
min.z=v.ZMin();
max.x=v.XMax();
max.y=v.YMax();
max.z=v.ZMax();
//generateGridFile(min,max,v.XDim(),v.YDim(),v.ZDim());
Mesh *mesh=new Mesh();
float iso_val=atof(argv[2]);
Mesher mesher;
mesher.setGrid((Grid &)(ugrid));
mesher.setMesh(mesh);
mesher.generateMesh(iso_val);
// mesh->correctNormals();
mesher.saveMesh(string(argv[3]),&v);
delete mesh;
return 0;
}
示例2: main
int main(int argc, char **argv)
{
if(argc < 3)
{
std:: cerr <<
"Usage: " << argv[0] <<
" <first volume> <output volume>. \n";
return 1;
}
try
{
VolMagick::Volume inputVol;
VolMagick::Volume outputVol;
VolMagick::readVolumeFile(inputVol,argv[1]); ///first argument is input volume
VolMagick::VolumeFileInfo volinfo1;
volinfo1.read(argv[1]);
std::cout << volinfo1.filename() << ":" <<std::endl;
std::cout<<"minVol1 , maxVol1: "<<volinfo1.min()<<" "<<volinfo1.max()<<std::endl;;
VolMagick::BoundingBox bbox;
bbox.minx = inputVol.XMin();
bbox.maxx = inputVol.XMax();
bbox.miny = inputVol.YMin();
bbox.maxy = inputVol.YMax();
bbox.minz = 2.0*inputVol.ZMin() - inputVol.ZMax();
bbox.maxz = inputVol.ZMax();
VolMagick::Dimension dim;
dim.xdim = inputVol.XDim();
dim.ydim = inputVol.YDim();
dim.zdim = (int)((bbox.maxz -bbox.minz)/inputVol.ZSpan())+1;
// cout<<bbox.minz <<" " << bbox.maxz<<" "<< bbox.maxy <<endl;
// cout<<dim.zdim <<" " << dim.ydim << endl;
outputVol.voxelType(inputVol.voxelType());
outputVol.dimension(dim);
outputVol.boundingBox(bbox);
for( int kz = 0; kz<outputVol.ZDim()/2; kz++)
for( int jy = 0; jy<inputVol.YDim(); jy++)
for( int ix = 0; ix<inputVol.XDim(); ix++)
outputVol(ix, jy, kz, inputVol(inputVol.XDim()-1-ix, inputVol.YDim()-1-jy, inputVol.ZDim()-1-kz));
for( int kz=outputVol.ZDim()/2; kz < outputVol.ZDim(); kz++)
for( int jy = 0; jy<inputVol.YDim(); jy++)
for( int ix = 0; ix<inputVol.XDim(); ix++)
outputVol(ix, jy, kz, inputVol(ix, jy, kz+1-inputVol.ZDim()));
VolMagick::createVolumeFile(outputVol, argv[2]);
cout<<"done!"<<endl;
}
catch(VolMagick::Exception &e)
{
std:: cerr << e.what() << std::endl;
}
catch(std::exception &e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}
示例3: main
int main(int argc, char **argv)
{
if(argc < 3)
{
std:: cerr <<
"Usage: " << argv[0] <<
" <first volume> <output volume> [ bool 0/1 ]. \n";
cerr<<"bool 1 keeps the original volume, bool 0 only the reflection, default 0." << endl;
return 1;
}
try
{
VolMagick::Volume inputVol;
VolMagick::Volume outputVol;
VolMagick::readVolumeFile(inputVol,argv[1]); ///first argument is input volume
VolMagick::VolumeFileInfo volinfo1;
volinfo1.read(argv[1]);
std::cout << volinfo1.filename() << ":" <<std::endl;
std::cout<<"minVol1 , maxVol1: "<<volinfo1.min()<<" "<<volinfo1.max()<<std::endl;;
VolMagick::BoundingBox bbox;
bbox.minx = inputVol.XMin();
bbox.maxx = inputVol.XMax();
bbox.miny = inputVol.YMin();
bbox.maxy = inputVol.YMax();
bbox.minz = inputVol.ZMin();
bbox.maxz = inputVol.ZMax();
VolMagick::Dimension dim;
dim.xdim = inputVol.XDim();
dim.ydim = inputVol.YDim();
dim.zdim = inputVol.ZDim();
// cout<<bbox.minz <<" " << bbox.maxz<<" "<< bbox.maxy <<endl;
// cout<<dim.zdim <<" " << dim.ydim << endl;
outputVol.voxelType(inputVol.voxelType());
outputVol.dimension(dim);
outputVol.boundingBox(bbox);
//Works for GroEL4.2
for( int kz = 0; kz<outputVol.ZDim(); kz++)
for( int jy = 0; jy<inputVol.YDim(); jy++)
for( int ix = 0; ix<inputVol.XDim(); ix++)
{
float temp=0.0;
if(inputVol.ZDim() >= kz && inputVol.ZDim() - kz < inputVol.ZDim()
&& inputVol.YDim() >= jy && inputVol.YDim() - jy < inputVol.YDim() )
temp = inputVol(ix, inputVol.YDim()-jy, inputVol.ZDim()-kz);
outputVol(ix, jy, kz, temp);
}
if(argc==4 && atoi(argv[3])== 1)
{
for( int kz = 0; kz<inputVol.ZDim(); kz++)
for( int jy = 0; jy<inputVol.YDim(); jy++)
for( int ix = 0; ix<inputVol.XDim(); ix++)
{
outputVol(ix, jy, kz, outputVol(ix,jy,kz)+inputVol(ix,jy,kz));
}
}
VolMagick::createVolumeFile(outputVol, argv[2]);
cout<<"done!"<<endl;
}
catch(VolMagick::Exception &e)
{
std:: cerr << e.what() << std::endl;
}
catch(std::exception &e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}