fitswrite
イメージを FITS ファイルに書き込む
説明
例
FITS ファイルの作成
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
圧縮された FITS ファイルの作成とデータの追加
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
入力引数
imagedata
— 入力イメージ データ
1 次元配列 | 多次元配列
入力イメージ データ。1 次元配列または多次元配列として指定します。
filename
— ファイル名
文字ベクトル | string スカラー
ファイル名。文字ベクトルまたは string スカラーとして指定します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: fitswrite(R,'myfile.fits','WriteMode','append')
WriteMode
— 書き込みモード
'overwrite'
(既定) | 'append'
書き込みモード。文字ベクトルまたは string スカラーとして指定します。指定したファイルが既に存在する場合、書き込みモードによって fitswrite
の動作が決まります。
書き込みモード | 説明 |
---|---|
| 既存のファイルを上書きします。これは既定の動作です。 |
| イメージ データを既存のファイルに追加します。 |
ファイルが存在しない場合、fitswrite
は書き込みモードに関係なく新しいファイルを作成します。
Compression
— 圧縮アルゴリズム
'none'
(既定) | 'gzip'
| 'rice'
| 'hcompress'
| 'plio'
FITS イメージを書き込む際に使用する圧縮アルゴリズム。次の値のいずれかとして指定します。
値 | 説明 |
---|---|
| 圧縮なしこれは既定の動作です。 |
| イメージ データを GNU ZIP ファイルとして圧縮します。 |
| イメージ データを Rice アルゴリズムを使用して圧縮します。 |
| イメージ データを HCOMPRESS アルゴリズムを使用して圧縮します。 |
'plio' | イメージ データを PLIO アルゴリズムを使用して圧縮します。 |
ヒント
MATLAB® は生の FITS イメージ データを指定された順番で書き込みますが、FITS イメージ データの読み取りと書き込みを行うソフトウェア パッケージの中には、イメージ データが最下行から順番に格納されていることを前提としているものがあります。その結果、MATLAB で書き込まれた FITS イメージ データは、他のソフトウェア パッケージを使用して表示した場合、上下方向、すなわち水平軸回りに反転して表示されることがあります。MATLAB でイメージを反転させるには、イメージ データに対して関数
flipud
を使用してから、fitswrite
を使用してイメージを書き込みます。
バージョン履歴
R2012a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)