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言語に読み込むことができるようになると便利なことが多いです。

是非、使って見てくださいね!!