本文整理汇总了C++中volmagick::Volume::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ Volume::resize方法的具体用法?C++ Volume::resize怎么用?C++ Volume::resize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类volmagick::Volume
的用法示例。
在下文中一共展示了Volume::resize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
if(argc < 2)
{
cerr << "Usage: " << argv[0] << " <volume file>" << endl;
return 1;
}
try
{
VolMagick::VolumeFileInfo volinfo;
VolMagick::VolumeCache volcache;
VolMagickOpStatus status;
VolMagick::setDefaultMessenger(&status);
#if 0
VolMagick::Volume sphereVol;
sphereVol.dimension(VolMagick::Dimension(128,128,128));//256,256,256));
sphereVol.voxelType(VolMagick::UChar);
double center_x = sphereVol.XDim()/2.0;
double center_y = sphereVol.YDim()/2.0;
double center_z = sphereVol.ZDim()/2.0;
double distance;
for(unsigned int k=0; k<sphereVol.ZDim(); k++)
for(unsigned int j=0; j<sphereVol.YDim(); j++)
for(unsigned int i=0; i<sphereVol.XDim(); i++)
{
distance = sqrt(double((i-center_x)*(i-center_x)+
(j-center_y)*(j-center_y)+
(k-center_z)*(k-center_z)));
//sphereVol(i,j,k, distance);
if((distance > 15.0) && (distance < 20.0))
sphereVol(i,j,k, 20);//20.0+10*(distance-15.0)/(20.0-15.0));
if((distance >= 20.0) && (distance < 25.0))
sphereVol(i,j,k, 30);//50.0+10*(distance-50.0)/(55.0-50.0));
}
VolMagick::writeVolumeFile(sphereVol, argv[1]);
#endif
#if 0
volinfo.read(argv[1]);
cout << volinfo.filename() << ":" <<endl;
cout << "Num Variables: " << volinfo.numVariables() << endl;
cout << "Num Timesteps: " << volinfo.numTimesteps() << endl;
cout << "Dimension: " << volinfo.XDim() << "x" << volinfo.YDim() << "x" << volinfo.ZDim() << endl;
cout << "Bounding box: ";
cout << "(" << volinfo.boundingBox().minx << "," << volinfo.boundingBox().miny << "," << volinfo.boundingBox().minz << ") ";
cout << "(" << volinfo.boundingBox().maxx << "," << volinfo.boundingBox().maxy << "," << volinfo.boundingBox().maxz << ") ";
cout << endl;
double volmin = volinfo.min(), volmax = volinfo.max();
cout << "Min voxel value: " << volmin << endl;
cout << "Max voxel value: " << volmax << endl;
cout << "Voxel type: " << volinfo.voxelTypeStr() << endl;
cout << "Volume name: " << volinfo.name() << endl << endl;
#endif
/*
vol.dimension(VolMagick::Dimension(128,128,128));
vol.voxelType(VolMagick::Float);
for(unsigned int i=0; i<128; i++)
for(unsigned int j=0; j<128; j++)
for(unsigned int k=0; k<128; k++)
vol(i,j,k,double(i)/128.0);
*/
#if 0
if(argc > 2)
{
VolMagick::Volume vol;
readVolumeFile(vol,argv[1]);
vol.min(volinfo.min());
vol.max(volinfo.max());
//vol.map(0.0,255.0);
//vol.voxelType(VolMagick::UChar);
vol.resize(VolMagick::Dimension(512,512,512));
writeVolumeFile(vol,argv[2]);
}
#endif
#if 0
if(argc > 2)
{
double realmin, realmax;
VolMagick::Volume vol;
std::vector<VolMagick::VolumeFileInfo> volinfos(argc-2);
volinfos[0].read(argv[1]);
realmin = volinfos[0].min();
realmax = volinfos[0].max();
for(unsigned int i=0; i<argc-2; i++)
{
volinfos[i].read(argv[i+1]);
//.........这里部分代码省略.........