diff --git a/metis_l2_prep_vl_polariz.pro b/metis_l2_prep_vl_polariz.pro index ed38bdfa1e1bbadd4f31b15ab8e9bb7184f3316f..ddbc6987f67d8978c023e175f0335e10b43f61c5 100755 --- a/metis_l2_prep_vl_polariz.pro +++ b/metis_l2_prep_vl_polariz.pro @@ -118,9 +118,9 @@ pro metis_l2_prep_vl_polariz ; ==================================== ; for data already subtracted of dark ; file = file_basename(header.parent, '.fits') + '_subdark.fits' - ; image_subdark = mrdfits('input/VL_subdark/' + file, 0, /silent) - ; image_subdark = rebin(image_subdark, header.naxis1, header.naxis2) - ; image_subdark = image_subdark * header.nbin * header.ndit + ; image_subdark = mrdfits('input/subdark/' + file, 0, /silent) + ; image_subdark = rebin(image_subdark, header.naxis1, header.naxis2) * header.nbin + ; image_subdark = image_subdark * header.ndit ; tb_history = ['Dark correction: ', ' ' + file] ; ==================================== @@ -249,6 +249,11 @@ pro metis_l2_prep_vl_polariz pb_image = metis_vignetting(pb_image, header, cal_pack, history = pb_history) pb_image = metis_rad_cal(pb_image, header, cal_pack, /polarimetric, history = pb_history) + ; ==================================== + ; for simple radiometric calibration + ; cal_pack.vl_channel.cal_units = 'DN/s' + ; ==================================== + ; compute the polarization angle from the stokes q and u pol_angle = 0.5D0 * atan(stokes[*, *, 2], stokes[*, *, 1]) * !radeg @@ -267,7 +272,7 @@ pro metis_l2_prep_vl_polariz ; adjust the primary header fxaddpar, primary_header, 'PARENT', strjoin(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_polariz.pro' fxaddpar, primary_header, 'VERS_SW', input.sw_version @@ -303,6 +308,7 @@ pro metis_l2_prep_vl_polariz ; delete useless keywords + sxdelpar, primary_header, 'BLANK' sxdelpar, primary_header, 'OBJ_CNT' sxdelpar, primary_header, 'POL_ID' sxdelpar, primary_header, 'SNRMIN' @@ -342,7 +348,6 @@ pro metis_l2_prep_vl_polariz fxaddpar, primary_pb_header, 'BUNIT', cal_pack.vl_channel.cal_units fxaddpar, primary_pb_header, 'DATAMIN', min(pb_image, /nan) fxaddpar, primary_pb_header, 'DATAMAX', max(pb_image, /nan) - sxdelpar, primary_pb_header, 'BLANK' ; add the history keyword @@ -398,7 +403,6 @@ pro metis_l2_prep_vl_polariz fxaddpar, primary_tb_header, 'BUNIT', cal_pack.vl_channel.cal_units fxaddpar, primary_tb_header, 'DATAMIN', min(tb_image, /nan) fxaddpar, primary_tb_header, 'DATAMAX', max(tb_image, /nan) - sxdelpar, primary_tb_header, 'BLANK' ; add the history keyword @@ -454,7 +458,6 @@ pro metis_l2_prep_vl_polariz fxaddpar, primary_polangle_header, 'BUNIT', 'deg' fxaddpar, primary_polangle_header, 'DATAMIN', min(pol_angle, /nan) fxaddpar, primary_polangle_header, 'DATAMAX', max(pol_angle, /nan) - sxdelpar, primary_polangle_header, 'BLANK' ; add the history keyword @@ -533,7 +536,6 @@ pro metis_l2_prep_vl_polariz fxaddpar, primary_stokes_header, 'BUNIT', cal_pack.vl_channel.cal_units fxaddpar, primary_stokes_header, 'DATAMIN', min(i, /nan) fxaddpar, primary_stokes_header, 'DATAMAX', max(i, /nan) - sxdelpar, primary_stokes_header, 'BLANK' ; add the history keyword @@ -559,6 +561,7 @@ pro metis_l2_prep_vl_polariz fxaddpar, extension_header, 'BUNIT', cal_pack.vl_channel.cal_units fxaddpar, extension_header, 'DATAMIN', min(q, /nan) fxaddpar, extension_header, 'DATAMAX', max(q, /nan) + if not ref_detector then q = metis_rectify(q, 'VL') fits_add_checksum, extension_header, q mwrfits, q, out_file_name[3], extension_header, /no_comment, /silent @@ -575,6 +578,7 @@ pro metis_l2_prep_vl_polariz fxaddpar, extension_header, 'BUNIT', cal_pack.vl_channel.cal_units fxaddpar, extension_header, 'DATAMIN', min(u, /nan) fxaddpar, extension_header, 'DATAMAX', max(u, /nan) + if not ref_detector then u = metis_rectify(u, 'VL') fits_add_checksum, extension_header, u mwrfits, u, out_file_name[3], extension_header, /no_comment, /silent @@ -587,6 +591,7 @@ pro metis_l2_prep_vl_polariz fxaddpar, extension_header, 'PCOUNT', 0, 'Parameter count' fxaddpar, extension_header, 'GCOUNT', 1, 'Group count' fxaddpar, extension_header, 'EXTNAME', 'Quality matrix', 'Extension name' + if not ref_detector then quality_matrix = metis_rectify(quality_matrix, 'VL') fits_add_checksum, extension_header, quality_matrix mwrfits, quality_matrix, out_file_name[3], extension_header, /no_comment, /silent @@ -600,6 +605,7 @@ pro metis_l2_prep_vl_polariz fxaddpar, extension_header, 'GCOUNT', 1, 'Group count' fxaddpar, extension_header, 'EXTNAME', 'Error matrix', 'Extension name' error_matrix = intarr(header.naxis1, header.naxis2) + if not ref_detector then error_matrix = metis_rectify(error_matrix, 'VL') fits_add_checksum, extension_header, error_matrix mwrfits, error_matrix, out_file_name[3], extension_header, /no_comment, /silent