Documentation Center

  • Trial Software
  • Product Updates

matlab.io.fits.insertATbl

Insert ASCII table after current HDU

Syntax

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

Description

insertATbl(fptr,rowlen,nrows,ttype,tbcol,tform,tunit,extname) inserts a new ASCII table extension immediately following the current HDU. Any following extensions are shifted down to make room for the new extension. If there are no other following extensions, then the new table extension is simply appended to the end of the file. If the FITS file is currently empty then this routine creates a dummy primary array before appending the table to it. The new extension becomes the current HDU. If rowlen is 0, then CFITSIO calculates the default rowlen based on the tbcol and ttype values.

tform can take the following forms. In each case, 'w' and 'ww' represent the widths of the ASCII columns.

Iwint16 column
AwASCII column
Fww.ddFixed point with 'dd' digits after the decimal point
Eww.dd Single precision with 'dd' digits of precision
Dww.ddDouble precision with 'dd' digits of precision

Binary tables are recommended instead of ASCII tables.

This function corresponds to the fits_insert_atbl (ffitab) function in the CFITSIO library C API.

Examples

Create an ASCII table between two images.

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');

See Also

|

Was this topic helpful?