Main Content

matlab.io.fits.insertATbl

현재 HDU 다음에 ASCII 테이블 삽입

구문

insertATbl(fptr,rowlen,nrows,ttype,tbcol,tform,tunit,extname)

설명

insertATbl(fptr,rowlen,nrows,ttype,tbcol,tform,tunit,extname)은 현재 HDU 바로 다음에 새 ASCII 테이블 확장을 삽입합니다. 이후의 모든 확장은 새 확장을 위한 공간을 만들기 위해 아래쪽으로 이동됩니다. 이후의 확장이 더 없는 경우 새 테이블 확장은 단순히 파일 끝에 추가됩니다. FITS 파일이 현재 비어 있는 경우 이 루틴은 더미 주 배열(Primary Array)을 만들고 그 끝에 테이블을 추가합니다. 새 확장이 현재 HDU가 됩니다. rowlen이 0이면 CFITSIO는 tbcol 값과 ttype 값을 기반으로 하여 디폴트 rowlen을 계산합니다.

tform을 다음 형식을 가질 수 있는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정합니다. 각각의 경우 'w''ww'는 ASCII 열의 너비를 나타냅니다.

'Iw'int16형 열
'Aw'ASCII 열
'Fww.dd'고정소수점(소수점 이하 'dd'자리)
'Eww.dd''dd'자리 정밀도를 가지는 단정밀도
'Dww.dd''dd'자리 정밀도를 가지는 배정밀도

ASCII 테이블 보다는 Binary 테이블이 권장됩니다.

이 함수는 CFITSIO 라이브러리 C API의 fits_insert_atbl(ffitab) 함수에 대응합니다.

예제

두 이미지 사이에 ASCII 테이블을 만듭니다.

import matlab.io.*
fptr = fits.createFile('myfile.fits');
fits.createImg(fptr,'uint8',[20 30]);
fits.createImg(fptr,'int16',[30 40]);
fits.movRelHDU(fptr,-1);
ttype = {'Name','Short','Fix','Double'};
tbcol = [1 17 28 43];
tform = {'A15','I10','F14.2','D12.4'};
tunit = {'','m**2','cm','km/s'};
fits.insertATbl(fptr,0,0,ttype,tbcol,tform,tunit,'my-table');
fits.writeCol(fptr,1,1,char('abracadabra','hocus-pocus'));
fits.writeCol(fptr,2,1,int16([0; 1]));
fits.writeCol(fptr,3,1,[12.4; 4/3]);
fits.writeCol(fptr,4,1,[12.4; 4e8/3]);
fits.closeFile(fptr);
fitsdisp('myfile.fits','mode','min');

참고 항목

|