From 9623fde114a5c754bca4d85d59c313c7538a4505 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Tue, 16 Jul 2024 00:38:55 -0700 Subject: [PATCH 1/6] In ``base_make_calibrations.py``, fix issue with ``take_image_type`` method trying to set ``self.group_id``. This is a class property and cannot be changed. Instead, use a local variable. --- python/lsst/ts/externalscripts/base_make_calibrations.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/lsst/ts/externalscripts/base_make_calibrations.py b/python/lsst/ts/externalscripts/base_make_calibrations.py index 0347c1fe1..967dd2920 100644 --- a/python/lsst/ts/externalscripts/base_make_calibrations.py +++ b/python/lsst/ts/externalscripts/base_make_calibrations.py @@ -462,7 +462,7 @@ async def take_image_type(self, image_type, exp_times): """ self.note = getattr(self.config, "note", None) - self.group_id = self.group_id if self.obs_id is None else self.obs_id + group_id = self.group_id if self.obs_id is None else self.obs_id return tuple( [ @@ -474,7 +474,7 @@ async def take_image_type(self, image_type, exp_times): reason=self.reason, program=self.program, note=self.note, - group_id=self.group_id, + group_id=group_id, ) )[0] for exp_time in exp_times From 54faa66e94191cee7a8c032b89c22178a77cc25b Mon Sep 17 00:00:00 2001 From: David Sanmartim Date: Fri, 26 Jul 2024 15:36:53 -0400 Subject: [PATCH 2/6] In ``take_ptc_flats_comcam`` add ``StateTransition`` usage to Camera instance. --- python/lsst/ts/externalscripts/base_take_ptc_flats.py | 6 +++--- .../ts/externalscripts/maintel/take_ptc_flats_comcam.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/python/lsst/ts/externalscripts/base_take_ptc_flats.py b/python/lsst/ts/externalscripts/base_take_ptc_flats.py index e230c2d41..dc941775d 100644 --- a/python/lsst/ts/externalscripts/base_take_ptc_flats.py +++ b/python/lsst/ts/externalscripts/base_take_ptc_flats.py @@ -392,7 +392,7 @@ async def take_ptc_flats(self): flat_task = self.camera.take_flats( exptime=time, - n=1, + nflats=1, group_id=self.group_id, program=self.program, reason=self.reason, @@ -407,7 +407,7 @@ async def take_ptc_flats(self): ) await self.camera.take_flats( exptime=time, - n=1, + nflats=1, group_id=self.group_id, program=self.program, reason=self.reason, @@ -424,7 +424,7 @@ async def take_ptc_flats(self): ) await self.camera.take_darks( exptime=dark_exp_time, - n=1, + ndarks=1, group_id=self.group_id, program=self.program, reason=self.reason, diff --git a/python/lsst/ts/externalscripts/maintel/take_ptc_flats_comcam.py b/python/lsst/ts/externalscripts/maintel/take_ptc_flats_comcam.py index a74c442fb..b5ba73392 100644 --- a/python/lsst/ts/externalscripts/maintel/take_ptc_flats_comcam.py +++ b/python/lsst/ts/externalscripts/maintel/take_ptc_flats_comcam.py @@ -44,7 +44,9 @@ async def configure_camera(self) -> None: if self.comcam is None: self.log.debug("Creating Camera.") self.comcam = ComCam( - self.domain, intended_usage=ComCamUsages.TakeImage, log=self.log + self.domain, + intended_usage=ComCamUsages.TakeImage + ComCamUsages.StateTransition, + log=self.log, ) await self.comcam.start_task else: From c7d2b12c202dfbf2564a5772d67a57107f09aaa0 Mon Sep 17 00:00:00 2001 From: David Sanmartim Date: Fri, 26 Jul 2024 16:52:34 -0400 Subject: [PATCH 3/6] In ``take_ptc_flats_comcam`` add a setup_instrument to change filter. This is needed because ComCam is still returning an error when we tell it to select a filter that is already selected. --- python/lsst/ts/externalscripts/base_take_ptc_flats.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/python/lsst/ts/externalscripts/base_take_ptc_flats.py b/python/lsst/ts/externalscripts/base_take_ptc_flats.py index dc941775d..0d7140c58 100644 --- a/python/lsst/ts/externalscripts/base_take_ptc_flats.py +++ b/python/lsst/ts/externalscripts/base_take_ptc_flats.py @@ -372,6 +372,15 @@ async def take_ptc_flats(self): integration_time=self.config.electrometer_scan["integration_time"], ) + # Setup instrument filter + try: + await self.camera.setup_instrument(filter=self.get_instrument_filter()) + except salobj.AckError: + self.log.warning( + f"Filter is already set to {self.get_instrument_filter()}. " + f"Continuing." + ) + for i, exp_time in enumerate(self.config.flats_exp_times): exp_time_pair = [exp_time, exp_time] @@ -396,7 +405,6 @@ async def take_ptc_flats(self): group_id=self.group_id, program=self.program, reason=self.reason, - **self.get_instrument_configuration(), ) await asyncio.gather(electrometer_task, flat_task) @@ -411,7 +419,6 @@ async def take_ptc_flats(self): group_id=self.group_id, program=self.program, reason=self.reason, - **self.get_instrument_configuration(), ) if hasattr(self.config, "interleave_darks"): From 9a8bec0daa4a77a31c6d3f3afb86862ee6493696 Mon Sep 17 00:00:00 2001 From: David Sanmartim Date: Fri, 26 Jul 2024 17:42:14 -0400 Subject: [PATCH 4/6] In ``take_ptc_flats_comcam`` remove default value from schema. --- python/lsst/ts/externalscripts/base_take_ptc_flats.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/python/lsst/ts/externalscripts/base_take_ptc_flats.py b/python/lsst/ts/externalscripts/base_take_ptc_flats.py index 0d7140c58..061890813 100644 --- a/python/lsst/ts/externalscripts/base_take_ptc_flats.py +++ b/python/lsst/ts/externalscripts/base_take_ptc_flats.py @@ -102,13 +102,11 @@ def get_schema(cls): type: number minimum: 0 minItems: 1 - default: 30 n_darks: description: > Number of dark images to interleave between flat pairs. type: integer minimum: 1 - default: 2 electrometer_scan: description: Electrometer scan settings. type: object @@ -123,17 +121,14 @@ def get_schema(cls): are "CURRENT" and "CHARGE". type: string enum: ["CURRENT", "CHARGE"] - default: "CURRENT" range: description: > Electrometer measurement range. -1 for autorange. type: number - default: -1 integration_time: description: Electrometer integration time. type: number exclusiveMinimum: 0 - default: 0.1 ignore: description: >- CSCs from the camera group to ignore in status check. From fba671a12ac448f94384b8dcc18c651af616350d Mon Sep 17 00:00:00 2001 From: David Sanmartim Date: Mon, 29 Jul 2024 14:14:59 -0400 Subject: [PATCH 5/6] In take_ptc_flats_comcam.py, fix issue with take_image_type method trying to set self.group_id. --- python/lsst/ts/externalscripts/base_take_ptc_flats.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/python/lsst/ts/externalscripts/base_take_ptc_flats.py b/python/lsst/ts/externalscripts/base_take_ptc_flats.py index 061890813..73cac8005 100644 --- a/python/lsst/ts/externalscripts/base_take_ptc_flats.py +++ b/python/lsst/ts/externalscripts/base_take_ptc_flats.py @@ -376,6 +376,8 @@ async def take_ptc_flats(self): f"Continuing." ) + group_id = self.group_id if self.obs_id is None else self.obs_id + for i, exp_time in enumerate(self.config.flats_exp_times): exp_time_pair = [exp_time, exp_time] @@ -397,7 +399,7 @@ async def take_ptc_flats(self): flat_task = self.camera.take_flats( exptime=time, nflats=1, - group_id=self.group_id, + group_id=group_id, program=self.program, reason=self.reason, ) @@ -411,7 +413,7 @@ async def take_ptc_flats(self): await self.camera.take_flats( exptime=time, nflats=1, - group_id=self.group_id, + group_id=group_id, program=self.program, reason=self.reason, ) @@ -427,7 +429,7 @@ async def take_ptc_flats(self): await self.camera.take_darks( exptime=dark_exp_time, ndarks=1, - group_id=self.group_id, + group_id=group_id, program=self.program, reason=self.reason, ) From 5afaf32c0493eb1180f6651b7841790c1dd729fe Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 29 Jul 2024 13:40:09 -0700 Subject: [PATCH 6/6] Add news fragment. --- doc/news/DM-45232.bugfix | 5 +++++ doc/news/DM-45232.bugfix.1 | 2 ++ doc/news/DM-45232.bugfix.2 | 4 ++++ doc/news/DM-45232.bugfix.3 | 2 ++ doc/news/DM-45232.bugfix.4 | 2 ++ 5 files changed, 15 insertions(+) create mode 100644 doc/news/DM-45232.bugfix create mode 100644 doc/news/DM-45232.bugfix.1 create mode 100644 doc/news/DM-45232.bugfix.2 create mode 100644 doc/news/DM-45232.bugfix.3 create mode 100644 doc/news/DM-45232.bugfix.4 diff --git a/doc/news/DM-45232.bugfix b/doc/news/DM-45232.bugfix new file mode 100644 index 000000000..36e4edd32 --- /dev/null +++ b/doc/news/DM-45232.bugfix @@ -0,0 +1,5 @@ +In ``base_make_calibrations.py``, fix issue with ``take_image_type`` method trying to set ``self.group_id``. + +This is a class property and cannot be changed. +Instead, use a local variable.Add your info here + diff --git a/doc/news/DM-45232.bugfix.1 b/doc/news/DM-45232.bugfix.1 new file mode 100644 index 000000000..5e9aa48a2 --- /dev/null +++ b/doc/news/DM-45232.bugfix.1 @@ -0,0 +1,2 @@ +In ``take_ptc_flats_comcam`` add ``StateTransition`` usage to Camera instance. + diff --git a/doc/news/DM-45232.bugfix.2 b/doc/news/DM-45232.bugfix.2 new file mode 100644 index 000000000..ca09408b6 --- /dev/null +++ b/doc/news/DM-45232.bugfix.2 @@ -0,0 +1,4 @@ +In ``take_ptc_flats_comcam`` add a setup_instrument to change filter. + +This is needed because ComCam is still returning an error when we tell it to select a filter that is already selected. + diff --git a/doc/news/DM-45232.bugfix.3 b/doc/news/DM-45232.bugfix.3 new file mode 100644 index 000000000..ea11f613a --- /dev/null +++ b/doc/news/DM-45232.bugfix.3 @@ -0,0 +1,2 @@ +In ``take_ptc_flats_comcam`` remove default value from schema. + diff --git a/doc/news/DM-45232.bugfix.4 b/doc/news/DM-45232.bugfix.4 new file mode 100644 index 000000000..4010700b0 --- /dev/null +++ b/doc/news/DM-45232.bugfix.4 @@ -0,0 +1,2 @@ +In take_ptc_flats_comcam.py, fix issue with take_image_type method trying to set self.group_id. +