Loading metis_l2_prep_vl_polariz.pro +14 −8 Original line number Diff line number Diff line Loading @@ -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] ; ==================================== Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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' Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading Loading
metis_l2_prep_vl_polariz.pro +14 −8 Original line number Diff line number Diff line Loading @@ -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] ; ==================================== Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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' Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading