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

Add management of errors in VL generic pipeline

parent 77bf37fa
No related branches found
No related tags found
No related merge requests found
......@@ -53,6 +53,12 @@ pro metis_l2_prep_vl_generic
; calibration block
file_name_fields = strsplit(header.filename, '_', /extract)
; error is the quadratic relative error
error = 0.
case header.datatype of
0 : begin
data = double(data)
......@@ -64,7 +70,7 @@ pro metis_l2_prep_vl_generic
; header.nsumexp = header.ndit
; ====================================
data = metis_dark_vlda(data, header, cal_pack, history = history)
data = metis_dark_vlda(data, header, cal_pack, error = error, quality_matrix = quality_matrix, history = history)
; ====================================
; for data already subtracted of dark
......@@ -75,24 +81,31 @@ pro metis_l2_prep_vl_generic
; history = ['Dark correction: ', ' ' + file]
; ====================================
data = metis_flat_field(data, header, cal_pack, history = history)
data = metis_vignetting(data, header, cal_pack, history = history)
data = metis_rad_cal(data, header, cal_pack, history = history, /polarimetric)
if header.pol_id eq 0 then begin
btype = 'VL fixed-polarization intensity'
descriptor = 'metis-vl-image'
polarimetric = 1
endif else if header.pol_id ge 1 and header.pol_id le 4 then begin
btype = 'VL fixed-polarization intensity'
descriptor = 'metis-vl-image'
polarimetric = 1
endif else begin
btype = 'VL total brightness'
descriptor = 'metis-vl-tb'
polarimetric = 0
endelse
data = metis_flat_field(data, header, cal_pack, error = error, quality_matrix = quality_matrix, history = history)
data = metis_vignetting(data, header, cal_pack, error = error, quality_matrix = quality_matrix, history = history)
data = metis_rad_cal(data, header, cal_pack, polarimetric = polarimetric, error = error, quality_matrix = quality_matrix, history = history)
bunit = cal_pack.vl_channel.cal_units
end
3 : begin
; calibration of temporal noise images
btype = 'VL temporal standard deviation'
descriptor = file_name_fields[2]
bunit = 'DN'
history = !null
end
......@@ -100,6 +113,7 @@ pro metis_l2_prep_vl_generic
5 : begin
; calibration of cr/sep log matrices
btype = 'VL cosmic-ray matrix'
descriptor = file_name_fields[2]
bunit = 'DN'
history = !null
end
......@@ -122,15 +136,14 @@ pro metis_l2_prep_vl_generic
; name of the fits file
file_name_fields = strsplit(header.filename, '_', /extract)
file_name = 'solo_L2_' + file_name_fields[2] + '_' + file_name_fields[3] + '_V' + version + '.fits'
file_name = 'solo_L2_' + descriptor + '_' + file_name_fields[3] + '_V' + version + '.fits'
out_file_name = 'output/' + file_name
; adjust the primary header
fxaddpar, primary_header, 'FILENAME', file_name
fxaddpar, primary_header, 'PARENT', file_basename(input.file_name)
fxaddpar, primary_header, 'LEVEL', 'L2-draft'
fxaddpar, primary_header, 'LEVEL', 'L2'
fxaddpar, primary_header, 'ORIGIN', ''
fxaddpar, primary_header, 'CREATOR', 'metis_l2_prep_vl_generic.pro'
fxaddpar, primary_header, 'VERS_SW', input.sw_version
......@@ -143,6 +156,8 @@ pro metis_l2_prep_vl_generic
fxaddpar, primary_header, 'XPOSURE', header.xposure
fxaddpar, primary_header, 'NSUMEXP', header.nsumexp
sxdelpar, primary_header, 'BLANK'
; append wcs keywords
wcs = metis_wcs(header, cal_pack, ref_detector = ref_detector)
......@@ -155,10 +170,6 @@ pro metis_l2_prep_vl_generic
history = [history, 'Update WCS and solar ephemeris:', ' SKD version = ' + kernel_version]
; delete useless keywords
sxdelpar, primary_header, 'BLANK'
; add the history keyword
for k = 0, n_elements(history) - 1 do $
......@@ -192,7 +203,7 @@ pro metis_l2_prep_vl_generic
fxaddpar, extension_header, 'PCOUNT', 0, 'Parameter count'
fxaddpar, extension_header, 'GCOUNT', 1, 'Group count'
fxaddpar, extension_header, 'EXTNAME', 'Error matrix', 'Extension name'
error_matrix = intarr(header.naxis1, header.naxis2)
error_matrix = data * sqrt(error)
if not ref_detector then data = metis_rectify(error_matrix, 'VL')
fits_add_checksum, extension_header, intarr(header.naxis1, header.naxis2)
mwrfits, error_matrix, out_file_name, extension_header, /no_comment, /silent
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment