Skip to content
Snippets Groups Projects
Commit 0beeb91c 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 ...@@ -533,35 +533,87 @@ pro metis_l1_prep
journal, 'Fits file created:' journal, 'Fits file created:'
journal, ' file name = ' + out_file_name 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 applicable, save the data binary-table extension as it is
if isa(data_bin_table) then begin if isa(data_bin_table) then begin
if datatype lt 9 then fits_add_checksum, data_extension_header, data_bin_table extension_header = base_header
mwrfits, data_bin_table, out_file_name, data_extension_header, /no_comment, /silent 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 endif
; save the quality matrix ; save the quality matrix
if datatype le 6 and isa(quality_matrix) then begin if datatype le 6 and isa(quality_matrix) then begin
quality_matrix_header = !null extension_header = base_header
fxaddpar, quality_matrix_header, 'PCOUNT', 0, 'parameter count' sxdelpar, extension_header, 'BLANK'
fxaddpar, quality_matrix_header, 'GCOUNT', 1, 'group count' fxaddpar, extension_header, 'XTENSION', 'IMAGE', 'image extension', before = 'BITPIX'
fxaddpar, quality_matrix_header, 'EXTNAME', 'Quality matrix', 'extension name' fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
fits_add_checksum, quality_matrix_header, quality_matrix fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
mwrfits, quality_matrix, out_file_name, quality_matrix_header, /no_comment, /silent 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.' journal, 'Quality-matrix extension correctly added.'
endif endif
; build the telemetry extension ; 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) 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.' 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