Skip to content
Snippets Groups Projects
Commit 2567e084 authored by Roberto Susino's avatar Roberto Susino
Browse files

Fix headers in FITS extensions

parent da65e35e
No related branches found
No related tags found
No related merge requests found
......@@ -533,35 +533,87 @@ pro metis_l1_prep
journal, 'Fits file created:'
journal, ' file name = ' + out_file_name
base_header = primary_header
sxdelpar, base_header, 'SIMPLE'
sxdelpar, base_header, 'EXTEND'
sxdelpar, base_header, 'COMMENT'
sxdelpar, base_header, 'HISTORY'
; if applicable, save the data binary-table extension as it is
if isa(data_bin_table) then begin
if datatype lt 9 then fits_add_checksum, data_extension_header, data_bin_table
mwrfits, data_bin_table, out_file_name, data_extension_header, /no_comment, /silent
extension_header = base_header
sxdelpar, extension_header, 'BSCALE'
sxdelpar, extension_header, 'BZERO'
sxdelpar, extension_header, 'BUNIT'
sxdelpar, extension_header, 'BTYPE'
sxdelpar, extension_header, 'BLANK'
sxdelpar, extension_header, 'DATAMIN'
sxdelpar, extension_header, 'DATAMAX'
fxaddpar, extension_header, 'XTENSION', 'BINTABLE', 'binary table extension', before = 'BITPIX'
fxaddpar, extension_header, 'NAXIS', 2, 'number of data axes'
fxaddpar, extension_header, 'NAXIS1', 0, 'length of dimension 1', after = 'NAXIS'
fxaddpar, extension_header, 'NAXIS2', 0, 'length of dimension 2', after = 'NAXIS1'
fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
fxaddpar, extension_header, 'TFIELDS', 0, 'number of columns in table', before = 'LONGSTRN'
fxaddpar, extension_header, 'EXTNAME', fxpar(data_extension_header, 'EXTNAME'), 'extension name', before = 'LONGSTRN'
; add the extension to the fits file
mwrfits, data_bin_table, out_file_name, extension_header, /no_comment, /silent
endif
; save the quality matrix
if datatype le 6 and isa(quality_matrix) then begin
quality_matrix_header = !null
fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'parameter count'
fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'group count'
fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'extension name'
fits_add_checksum, quality_matrix_header, quality_matrix
mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent
extension_header = base_header
sxdelpar, extension_header, 'BLANK'
fxaddpar, extension_header, 'XTENSION', 'IMAGE', 'image extension', before = 'BITPIX'
fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
fxaddpar, extension_header, 'EXTNAME', 'Quality matrix', 'extension name', before = 'LONGSTRN'
fxaddpar, extension_header, 'BTYPE', 'Pixel quality'
fxaddpar, extension_header, 'BUNIT', 'None'
fxaddpar, extension_header, 'DATAMIN', min(quality_matrix, /nan)
fxaddpar, extension_header, 'DATAMAX', max(quality_matrix, /nan)
fxaddpar, extension_header, 'COMMENT', 'Quality matrix values:'
fxaddpar, extension_header, 'COMMENT', ' NaN = saturated or null L0 pixel counts'
fxaddpar, extension_header, 'COMMENT', ' 0 = unreliable pixel value'
fxaddpar, extension_header, 'COMMENT', ' 1 = good pixel'
; add the extension to the fits file
fits_add_checksum, extension_header, quality_matrix
mwrfits, quality_matrix, out_file_name, extension_header, /no_comment, /silent
journal, 'Quality-matrix extension correctly added.'
endif
; build the telemetry extension
hk_extension_header = !null
fxaddpar, hk_extension_header, 'PCOUNT', 0, 'parameter count'
fxaddpar, hk_extension_header, 'GCOUNT', 1, 'group count'
fxaddpar, hk_extension_header, 'EXTNAME', 'House-keeping', 'extension name'
hk_bin_table = make_bin_table(hk_table)
mwrfits, hk_bin_table, out_file_name, hk_extension_header, /no_comment, /silent
extension_header = base_header
sxdelpar, extension_header, 'BSCALE'
sxdelpar, extension_header, 'BZERO'
sxdelpar, extension_header, 'BUNIT'
sxdelpar, extension_header, 'BTYPE'
sxdelpar, extension_header, 'BLANK'
sxdelpar, extension_header, 'DATAMIN'
sxdelpar, extension_header, 'DATAMAX'
fxaddpar, extension_header, 'XTENSION', 'BINTABLE', 'binary table extension', before = 'BITPIX'
fxaddpar, extension_header, 'NAXIS', 2, 'number of data axes'
fxaddpar, extension_header, 'NAXIS1', 0, 'length of dimension 1', after = 'NAXIS'
fxaddpar, extension_header, 'NAXIS2', 0, 'length of dimension 2', after = 'NAXIS1'
fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
fxaddpar, extension_header, 'TFIELDS', 0, 'number of columns in table', before = 'LONGSTRN'
fxaddpar, extension_header, 'EXTNAME', 'House-keeping', 'extension name', before = 'LONGSTRN'
; add the extension to the fits file
mwrfits, hk_bin_table, out_file_name, extension_header, /no_comment, /silent
journal, 'HK binary-table extension correctly added.'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment