diff --git a/METIS/METIS_DET_IFU.yaml b/METIS/METIS_DET_IFU.yaml index c3387675..0297ae02 100644 --- a/METIS/METIS_DET_IFU.yaml +++ b/METIS/METIS_DET_IFU.yaml @@ -78,6 +78,12 @@ effects: noise_std: "!DET.readout_noise" n_channels: 32 + - name: exposure_output + description: Return average or sum over NDIT subexposures + class: ExposureOutput + kwargs: + mode: average + - name: ad_conversion description: Apply gain and convert electron count into integers class: ADConversion diff --git a/METIS/METIS_DET_IMG_LM.yaml b/METIS/METIS_DET_IMG_LM.yaml index 55229dc0..e65c2b46 100644 --- a/METIS/METIS_DET_IMG_LM.yaml +++ b/METIS/METIS_DET_IMG_LM.yaml @@ -95,6 +95,13 @@ effects: noise_std: "!DET.readout_noise" n_channels: 32 + + - name: exposure_output + description: Return average or sum over NDIT subexposures + class: ExposureOutput + kwargs: + mode: average + - name: ad_conversion description: Apply gain and convert electron counts into integers class: ADConversion diff --git a/METIS/METIS_DET_IMG_N_Aquarius.yaml b/METIS/METIS_DET_IMG_N_Aquarius.yaml index 9ea8c294..b2b00653 100644 --- a/METIS/METIS_DET_IMG_N_Aquarius.yaml +++ b/METIS/METIS_DET_IMG_N_Aquarius.yaml @@ -92,14 +92,11 @@ effects: noise_std: "!DET.readout_noise" n_channels: 64 - - name: chop_nod - descriptions: chopping and nodding - class: ChopNodCombiner - include: false + - name: exposure_output + description: Return average or sum over NDIT subexposures + class: ExposureOutput kwargs: - chop_offsets: "!OBS.chop_offsets" - nod_offsets: "!OBS.nod_offsets" - pixel_scale: "!INST.pixel_scale" + mode: average - name: ad_conversion description: Apply gain and convert electron count into integers @@ -107,3 +104,12 @@ effects: kwargs: dtype: uint16 gain: "!DET.gain" + + - name: chop_nod + descriptions: chopping and nodding + class: ChopNodCombiner + include: false + kwargs: + chop_offsets: "!OBS.chop_offsets" + nod_offsets: "!OBS.nod_offsets" + pixel_scale: "!INST.pixel_scale" diff --git a/METIS/METIS_DET_IMG_N_GeoSnap.yaml b/METIS/METIS_DET_IMG_N_GeoSnap.yaml index d810ab32..12b54723 100644 --- a/METIS/METIS_DET_IMG_N_GeoSnap.yaml +++ b/METIS/METIS_DET_IMG_N_GeoSnap.yaml @@ -100,14 +100,11 @@ effects: noise_std: "!DET.readout_noise" n_channels: 8 - - name: chop_nod - descriptions: chopping and nodding - class: ChopNodCombiner - include: false + - name: exposure_output + description: Return average or sum over NDIT subexposures + class: ExposureOutput kwargs: - chop_offsets: "!OBS.chop_offsets" - nod_offsets: "!OBS.nod_offsets" - pixel_scale: "!INST.pixel_scale" + mode: average - name: ad_conversion description: Apply gain and convert electron count into integers @@ -116,6 +113,15 @@ effects: dtype: uint16 gain: "!DET.gain" + - name: chop_nod + descriptions: chopping and nodding + class: ChopNodCombiner + include: false + kwargs: + chop_offsets: "!OBS.chop_offsets" + nod_offsets: "!OBS.nod_offsets" + pixel_scale: "!INST.pixel_scale" + - name: det_n_fits_keywords descriptions: FITS keywords specific to N detector class: ExtraFitsKeywords diff --git a/METIS/tests/test_readout_exptime.py b/METIS/tests/test_readout_exptime.py index f8183fab..a9d461e1 100644 --- a/METIS/tests/test_readout_exptime.py +++ b/METIS/tests/test_readout_exptime.py @@ -1,3 +1,4 @@ +"""Test whether giving exptime in readout() is respected.""" import copy import os from matplotlib import pyplot as plt @@ -34,6 +35,7 @@ def test_readout_exptime(): # The first readout might ignore the exptime. metis_l = sim.OpticalTrain(cmd_l) + metis_l["exposure_output"].set_mode("sum") metis_l.observe(star, update=True) result_first = metis_l.readout(exptime=0.1)[0] # We need to copy the first readeout, because @@ -42,6 +44,7 @@ def test_readout_exptime(): # The second readout might not properly have the detector reset. metis_l = sim.OpticalTrain(cmd_l) + metis_l["exposure_output"].set_mode("sum") metis_l.observe(star, update=True) result_temp = metis_l.readout(exptime=.1)[0] result_temp_copy = copy.deepcopy(result_temp)