Main Content

fitswrite

イメージを FITS ファイルに書き込む

説明

fitswrite(imagedata,filename) は、指定されたイメージ データを filename で指定された Flexible Image Transport System (FITS) ファイルに書き込みます。ファイルが存在する場合、fitswrite はそのファイルを上書きします。

fitswrite(imagedata,filename,Name,Value) は、1 つ以上の名前と値のペアの引数で指定された追加オプションを使用してファイルを作成します。たとえば、'Compression','rice' は Rice 圧縮アルゴリズムを指定します。

すべて折りたたむ

RGB イメージの赤チャネルを含む FITS ファイルを作成します。赤チャネルは最終イメージでグレースケールで表現されます。

サンプル イメージを読み取り、赤チャネルを分離します。

X = imread('ngc6543a.jpg');
R = X(:,:,1);

赤チャネルのデータを FITS ファイルに書き込みます。

fitswrite(R,'myfile.fits');

FITS のメタデータを表示します。

fitsdisp('myfile.fits');
HDU:  1 (Primary HDU)
	SIMPLE  =                    T / file does conform to FITS standard
	BITPIX  =                    8 / number of bits per data pixel
	NAXIS   =                    2 / number of data axes
	NAXIS1  =                  600 / length of data axis 1
	NAXIS2  =                  650 / length of data axis 2
	EXTEND  =                    T / FITS dataset may contain extensions
	COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
	COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H

RGB イメージのチャネルから構成した 3 つのイメージをもつ圧縮された FITS ファイルを作成します。最初に 1 つのチャネルを含むファイルを作成し、そのファイルに他の 2 つを追加します。

サンプル イメージを読み取り、赤、緑、青のチャネルを分離します。

X = imread('ngc6543a.jpg');
R = X(:,:,1);
G = X(:,:,2);
B = X(:,:,3);

赤チャネルのデータを FITS ファイルに Rice 圧縮を使用して書き込みます。

fitswrite(R,'myfile.fits','Compression','rice');

緑と青のチャネルのデータを FITS ファイルに Rice 圧縮を使用して追加します。

fitswrite(G,'myfile.fits','WriteMode','append','Compression','rice');
fitswrite(B,'myfile.fits','WriteMode','append','Compression','rice');

FITS ファイルを表示します。

fitsdisp('myfile.fits');
HDU:  1 (Primary HDU)
	SIMPLE  =                    T / file does conform to FITS standard
	BITPIX  =                   16 / number of bits per data pixel
	NAXIS   =                    0 / number of data axes
	EXTEND  =                    T / FITS dataset may contain extensions
	COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
	COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H

HDU:  2 
	XTENSION= 'BINTABLE'           / binary table extension
	BITPIX  =                    8 / 8-bit bytes
	NAXIS   =                    2 / 2-dimensional binary table
	NAXIS1  =                    8 / width of table in bytes
	NAXIS2  =                  650 / number of rows in table
	PCOUNT  =               101902 / size of special data area
	GCOUNT  =                    1 / one data group (required keyword)
	TFIELDS =                    1 / number of fields in each row
	TTYPE1  = 'COMPRESSED_DATA'    / label for field   1
	TFORM1  = '1PB(470)'           / data format of field: variable length array

HDU:  3 
	XTENSION= 'BINTABLE'           / binary table extension
	BITPIX  =                    8 / 8-bit bytes
	NAXIS   =                    2 / 2-dimensional binary table
	NAXIS1  =                    8 / width of table in bytes
	NAXIS2  =                  650 / number of rows in table
	PCOUNT  =                95976 / size of special data area
	GCOUNT  =                    1 / one data group (required keyword)
	TFIELDS =                    1 / number of fields in each row
	TTYPE1  = 'COMPRESSED_DATA'    / label for field   1
	TFORM1  = '1PB(470)'           / data format of field: variable length array

HDU:  4 
	XTENSION= 'BINTABLE'           / binary table extension
	BITPIX  =                    8 / 8-bit bytes
	NAXIS   =                    2 / 2-dimensional binary table
	NAXIS1  =                    8 / width of table in bytes
	NAXIS2  =                  650 / number of rows in table
	PCOUNT  =                96255 / size of special data area
	GCOUNT  =                    1 / one data group (required keyword)
	TFIELDS =                    1 / number of fields in each row
	TTYPE1  = 'COMPRESSED_DATA'    / label for field   1
	TFORM1  = '1PB(470)'           / data format of field: variable length array

入力引数

すべて折りたたむ

入力イメージ データ。1 次元配列または多次元配列として指定します。

ファイル名。文字ベクトルまたは string スカラーとして指定します。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: fitswrite(R,'myfile.fits','WriteMode','append')

書き込みモード。文字ベクトルまたは string スカラーとして指定します。指定したファイルが既に存在する場合、書き込みモードによって fitswrite の動作が決まります。

書き込みモード

説明

'overwrite'

既存のファイルを上書きします。これは既定の動作です。

'append'

イメージ データを既存のファイルに追加します。

ファイルが存在しない場合、fitswrite は書き込みモードに関係なく新しいファイルを作成します。

FITS イメージを書き込む際に使用する圧縮アルゴリズム。次の値のいずれかとして指定します。

説明

'none'

圧縮なしこれは既定の動作です。

'gzip'

イメージ データを GNU ZIP ファイルとして圧縮します。

'rice'

イメージ データを Rice アルゴリズムを使用して圧縮します。

'hcompress'

イメージ データを HCOMPRESS アルゴリズムを使用して圧縮します。

'plio'イメージ データを PLIO アルゴリズムを使用して圧縮します。

ヒント

  • MATLAB® は生の FITS イメージ データを指定された順番で書き込みますが、FITS イメージ データの読み取りと書き込みを行うソフトウェア パッケージの中には、イメージ データが最下行から順番に格納されていることを前提としているものがあります。その結果、MATLAB で書き込まれた FITS イメージ データは、他のソフトウェア パッケージを使用して表示した場合、上下方向、すなわち水平軸回りに反転して表示されることがあります。MATLAB でイメージを反転させるには、イメージ データに対して関数 flipud を使用してから、fitswrite を使用してイメージを書き込みます。

バージョン履歴

R2012a で導入