メインコンテンツ

matlab.io.fits.deleteHDU

FITS ファイルの現在の HDU の削除

構文

HDU_TYPE = deleteHDU(fptr)

説明

HDU_TYPE = deleteHDU(fptr) は、FITS ファイルの現在の HDU を削除します。ファイル内の以降のすべての HDU が前方にシフトされ、削除された HDU により作成されたギャップが埋められます。削除対象がプライマリ配列 (ファイルの最初の HDU) の場合、現在のプライマリ配列は、必要なキーワードの最小セットのみでデータを含まない null のプライマリ配列によって置き換えられます。ファイル内の削除される HDU の後に他の HDU がある場合、現在の HDU が次の HDU を指し示すよう再定義されます。次に続く HDU がない場合、現在の HDU が前の HDU を指し示すよう再定義されます。HDU_TYPE は新しい現在の HDU のタイプを返します。

この関数は、CFITSIO ライブラリ C API の関数 fits_delete_hdu (ffdhdu) に相当します。

FITS ファイルの 2 番目の HDU を削除します。

import matlab.io.*
srcFile = fullfile(matlabroot,"toolbox","matlab", ...
                   "demos","tst0012.fits");
copyfile(srcFile,"myfile.fits")
fileattrib("myfile.fits","+w")
fitsdisp("myfile.fits",Mode="min")
fptr = fits.openFile("myfile.fits","readwrite");
fits.movAbsHDU(fptr,2);
new_current_hdu = fits.deleteHDU(fptr);
fits.closeFile(fptr)
fitsdisp("myfile.fits",Mode="min")

参考