Commit b7057200 authored by Roberto Susino's avatar Roberto Susino
Browse files

Minor fixes to dark subtraction procedures

parent 6291b19e
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -116,12 +116,13 @@ function metis_dark_uvda_new, data, header, cal_pack, err_info, quality_matrix =
    delta = min(abs(obt_beg - obt_available), j)
    i = where(dark.obt_beg eq obt_available[j])

    transient = where(dark[i].filename.cnt_1 ne '', n)

    if n_elements(dark[i].filename.cnt_1) gt 1 then begin
        ; select the dark matrix corresponding to the correct transient phase
        transient = where(dark[i].filename.cnt_1 ne '', n)
        if obj_cnt le n then $
            dark_file = dark[i].filename.cnt_1[obj_cnt - 1] else $
            dark_file = dark[i].filename.cnt_2
    endif else dark_file = dark[i].filename.cnt_2

    dark_image = float(readfits(cal_pack.path + dark_file, /silent))

+25 −24
Original line number Diff line number Diff line
function metis_dark_vlda, data, header, cal_pack, err_info, quality_matrix = quality_matrix, history = history
    compile_opt idl2

    bias = cal_pack.vl_channel.bias
    dark = cal_pack.vl_channel.dark
    bias_dark = cal_pack.vl_channel.bias_dark

    dit = header.dit / 1000.0d0
    ndit = header.ndit
    nbin = header.nbin
    xposure = dit * ndit
    tsensor = header.tsensor
    obt_beg = header.obt_beg / 1000.0d0 ; check why obt_beg must be divided by 1000.

    gain = cal_pack.vl_channel.radiometry.gain.value
    obt_beg = header.obt_beg

    journal, 'Bias and dark-current correction:'
    journal, '  dit = ' + string(dit, format = '(F0)') + ' s'
@@ -21,6 +15,10 @@ function metis_dark_vlda, data, header, cal_pack, err_info, quality_matrix = qua
    journal, '  tsensor = ' + string(tsensor, format = '(F0)') + ' degC'

    ; check if one or more bias+dark matrices with same dit, binning, and tsensor exist

    if tag_exist(cal_pack, 'bias_dark') then begin
        bias_dark = cal_pack.vl_channel.bias_dark

        for i = 0, n_elements(bias_dark) - 1 do begin
            if $
                bias_dark[i].dit eq dit and $
@@ -38,6 +36,9 @@ function metis_dark_vlda, data, header, cal_pack, err_info, quality_matrix = qua
                    goto, jump
                endif
        endfor
    endif
    bias = cal_pack.vl_channel.bias
    dark = cal_pack.vl_channel.dark

    bias_obt_available = !null