matlab.io.fits.writeImg
FITS イメージに書き込む
構文
writeImg(fptr,data)
writeImg(fptr,data,fpixel)
説明
writeImg(fptr,data)
は、イメージ全体を FITS データ配列に書き込みます。data
の行と列の数はそれぞれ、NAXIS2 と NAXIS1 のキーワードの値に等しくなければなりません。以降の範囲はそれぞれ、NAXIS3、NAXIS4 ...NAXISn キーワードに対応していなければなりません。
writeImg(fptr,data,fpixel)
は、イメージのサブセットを FITS データ配列に書き込みます。fpixel
は、イメージ領域の最初のピクセルの座標を提供します。
この関数は、CFITSIO ライブラリ C API の関数 fits_write_subset (ffpss)
に相当します。
例
import matlab.io.* fptr = fits.createFile('myfile.fits'); fits.createImg(fptr,'long_img',[256 512]); data = reshape(1:256*512,[256 512]); data = int32(data); fits.writeImg(fptr,data); fits.closeFile(fptr);
80 行 40 列の uint8
のイメージを作成し、最も外側のピクセル以外のすべてのピクセルを 1 に設定します。
import matlab.io.* fptr = fits.createFile('myfile.fits'); fits.createImg(fptr,'uint8',[80 40]); data = ones(78,38); fits.writeImg(fptr,data,[1 1]); fits.closeFile(fptr);
ヒント
MATLAB® は生の FITS イメージ データを指定された順番で書き込みますが、FITS イメージ データの読み取りと書き込みを行うソフトウェア パッケージの中には、イメージ データが最下行から順番に格納されていることを前提としているものがあります。その結果、MATLAB で書き込まれた FITS イメージ データは、他のソフトウェア パッケージを使用して表示した場合、上下方向、すなわち水平軸回りに反転して表示されることがあります。MATLAB でイメージを反転させるには、イメージ データに対して関数
flipud
を使用してから、matlab.io.fits.writeImg
を使用してイメージを書き込みます。