Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用ccfits创建非方形图像?_C++_C_Arrays_Fits - Fatal编程技术网

C++ 如何使用ccfits创建非方形图像?

C++ 如何使用ccfits创建非方形图像?,c++,c,arrays,fits,C++,C,Arrays,Fits,我想使用ccfits创建一组非平方的图像。我可以在primaryHDU中制作一个,如下所示: long axes[2] = { jmax, imax }; std::auto_ptr<CCfits::FITS> pFits(0); pFits.reset ( new CCfits::FITS ( "fitfile.fits", FLOAT_IMG, 2, axes ) ); std::valarray<double> h2a0array ( jmax * imax

我想使用ccfits创建一组非平方的图像。我可以在primaryHDU中制作一个,如下所示:

long axes[2] = { jmax, imax };   
std::auto_ptr<CCfits::FITS> pFits(0);
pFits.reset ( new CCfits::FITS ( "fitfile.fits", FLOAT_IMG, 2, axes ) );

std::valarray<double> h2a0array ( jmax * imax );
for ( int i = 0 ; i < imax ; i++ 
  for ( int j = 0 ; j < jmax ; j++ )
    h2a0array [ j + jmax * i ] = i + j;  

pFits->pHDU().write  ( fpixel, imax * jmax, h2a0array );
但我不知道如何将其他非方形图像添加到我的FITS文件中。我想我必须使用CCFITS::addImage函数,但只能使用它获得平方图像:

long fpixel ( 1 );
std::vector<long> extAx ( 2, dim );
CCfits::ExtHDU* imageExt2 = pFits->addImage ( "h2a0array", FLOAT_IMG, extAx );
imageExt2->write ( fpixel, imax * jmax, h2a0array );
extAx向量只包含两个值,第一个是要添加到FITS文件的图像的一维、二维和三维尺寸,第二个是其大小。我不知道还有什么其他方法可以将图像添加到FITS文件中。如果有人这样做,我们非常欢迎你的帮助

谢谢,
Arnaud.

addImage最后一个参数的向量可以有任何维度 以及不同尺寸的轴长度。没有要求 轴的长度与您所说的相同:

vector<long> extAx ;
extAx.push_back(imax) ; 
extAx.push_back(jmax) ;
extAx.push_back(kmax) ;

pFits->addImage("h2a0array", FLOAT_IMG, extAx );