c言語でcfitsioを用い、fitsファイルのヘッダーの読み込み
c言語でcfitsioを用い、fitsファイルのヘッダーを読み込ませるプログラムについて紹介します。
fitsファイルの読み込みは以前記載したので、そちらを参考にしていただき、ここまではできているものとして話を進めさせていただきますね〜〜
narimonogashira.hatenablog.com
char comment[FLEN_CARD]
を追加して、
fits_open_file (&fptr, fname1, READONLY, &status);
fits_get_num_hdus(fptr,&hdunum,&status);
fits_get_hdu_num(fptr,&hdunum);
fits_get_hdu_type(fptr,&hdutype,&status);
fits_get_img_type(fptr,&bitpix,&status);
fits_get_hdrspace(fptr, &nkeys, NULL, &status);
fits_get_img_dim(fptr,&naxis,&status);
fits_get_img_size(fptr,naxis,&naxes[0],&status);
fits_read_key(fptr, TFLOAT, "LTV1", &x_pix, comment, &status);
fits_read_key(fptr, TFLOAT, "LTV2", &y_pix, comment, &status);
とします。変わったところは赤の場所です。
1つめは「header」を見に行く的なコマンドです。
read_keyの部分がヘッダーを見に行きます。ヘッダーの中身はds9のdisplay headerで確認しておきます。その名前を""の間に挟むと、読み込むことができます。
これの便利なところは、ヘッダーには中心座標のRA,Decの情報が入っていたりして、ピクセルとRA,Decを対応させたい時などが出てきます。
それ以外にもヘッダーの情報をc言語に読み込むことができるようになると便利なことが多いです。
是非、使って見てくださいね!!