Вставка таблицы ASCII после текущего HDU
insertATbl(fptr,rowlen,nrows,ttype,tbcol,tform,tunit,extname)
insertATbl(fptr,rowlen,nrows,ttype,tbcol,tform,tunit,extname) вставляет новое расширение таблицы ASCII сразу после текущего HDU. Все следующие внутренние линии смещаются вниз, чтобы освободить место для новой внутренней линии. Если нет других следующих расширений, то новое расширение таблицы просто добавляется в конец файла. Если файл FITS в данный момент пуст, то эта подпрограмма создает фиктивный первичный массив перед добавлением к нему таблицы. Новый внутренний номер становится текущим HDU. Если rowlen равно 0, то CFITSIO вычисляет значение по умолчанию rowlen на основе tbcol и ttype значения.
Определить tform как массив ячеек символьных векторов или строковый массив, который может принимать следующие формы. В каждом случае 'w' и 'ww' представляют ширину столбцов ASCII.
| 'Iw' | int16 колонка |
| 'Ай' | Столбец ASCII |
| 'Fww.dd' | Фиксированная точка с 'dd' цифры после десятичной запятой |
| 'Eww.dd' | Единая точность с 'dd' цифры точности |
| 'Dww.dd' | Двойная точность с 'dd' цифры точности |
Вместо таблиц ASCII рекомендуется использовать двоичные таблицы.
Эта функция соответствует fits_insert_atbl(ffitab) в API библиотеки CFITSIO.
Создайте таблицу 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');