From 1b83ea2f2376e814a85e21e7b723573bcae3f716 Mon Sep 17 00:00:00 2001 From: Chris Suberlak Date: Wed, 5 Feb 2025 17:29:49 +0000 Subject: [PATCH 1/3] Add S11 mode only --- python/lsst/donut/viz/plot_aos_task.py | 35 ++++++++++++++++++-------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/python/lsst/donut/viz/plot_aos_task.py b/python/lsst/donut/viz/plot_aos_task.py index 22e9dcf..50db643 100644 --- a/python/lsst/donut/viz/plot_aos_task.py +++ b/python/lsst/donut/viz/plot_aos_task.py @@ -242,6 +242,12 @@ class PlotDonutTaskConfig( doc="Upload to RubinTV", default=False, ) + doS11only = pexConfig.Field( + dtype=bool, + doc="Use only S11 in FAM mode", + default=False + ) + class PlotDonutTask(pipeBase.PipelineTask): @@ -309,10 +315,19 @@ def run( q = donutStampsExtra.metadata["BORESIGHT_PAR_ANGLE_RAD"] rotAngle = donutStampsExtra.metadata["BORESIGHT_ROT_ANGLE_RAD"] rtp = q - rotAngle - np.pi / 2 + + # Default multiplication factor and offset + factor = 3 + offset = 7 + match inst: case "LSSTCam" | "LSSTCamSim": nacross = 15 fp_size = 0.55 # 55% of horizontal space + if self.config.doS11only: + factor = 1 + offset = 3 + nacross = 5 case "LSSTComCam" | "LSSTComCamSim": nacross = 3 fp_size = 0.50 # 50% of horizontal space @@ -320,6 +335,7 @@ def run( raise ValueError(f"Unknown instrument {inst}") det_size = fp_size / nacross fp_center = 0.5, 0.475 + fig_dict = dict() for donutStampSet, visit in zip( @@ -330,16 +346,15 @@ def run( aspect = fig.get_size_inches()[0] / fig.get_size_inches()[1] for donut in donutStampSet: det_name = donut.detector_name - # if 'R30' in det_name: - # continue - # if 'S00' in det_name: - # continue - # if 'S01' in det_name: - # continue - i = 3 * int(det_name[1]) + int(det_name[5]) - j = 3 * int(det_name[2]) + int(det_name[6]) - x = i - 7 - y = 7 - j + # For FAM mode, if plotting only S11 corner, do not + # plot anything else + if self.config.doS11only: + if det_name[-2:] != '11': + continue + i = factor * int(det_name[1]) + int(det_name[5]) + j = factor * int(det_name[2]) + int(det_name[6]) + x = i - offset + y = offset - j xp = np.cos(rtp) * x + np.sin(rtp) * y yp = -np.sin(rtp) * x + np.cos(rtp) * y ax, aux_ax = add_rotated_axis( From 3537d5e3a54f613dd30a229faf6c06ddf3975690 Mon Sep 17 00:00:00 2001 From: Chris Suberlak Date: Wed, 5 Feb 2025 18:27:58 +0000 Subject: [PATCH 2/3] run black on plot_aos_task --- python/lsst/donut/viz/plot_aos_task.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/python/lsst/donut/viz/plot_aos_task.py b/python/lsst/donut/viz/plot_aos_task.py index 50db643..2ca84a0 100644 --- a/python/lsst/donut/viz/plot_aos_task.py +++ b/python/lsst/donut/viz/plot_aos_task.py @@ -243,13 +243,10 @@ class PlotDonutTaskConfig( default=False, ) doS11only = pexConfig.Field( - dtype=bool, - doc="Use only S11 in FAM mode", - default=False + dtype=bool, doc="Use only S11 in FAM mode", default=False ) - class PlotDonutTask(pipeBase.PipelineTask): ConfigClass = PlotDonutTaskConfig _DefaultName = "plotDonutTask" @@ -316,7 +313,7 @@ def run( rotAngle = donutStampsExtra.metadata["BORESIGHT_ROT_ANGLE_RAD"] rtp = q - rotAngle - np.pi / 2 - # Default multiplication factor and offset + # Default multiplication factor and offset factor = 3 offset = 7 @@ -349,7 +346,7 @@ def run( # For FAM mode, if plotting only S11 corner, do not # plot anything else if self.config.doS11only: - if det_name[-2:] != '11': + if det_name[-2:] != "11": continue i = factor * int(det_name[1]) + int(det_name[5]) j = factor * int(det_name[2]) + int(det_name[6]) From 0105ed42d52d0fee7d2660e82e94dfce8da0d421 Mon Sep 17 00:00:00 2001 From: Chris Suberlak Date: Wed, 5 Feb 2025 18:39:29 +0000 Subject: [PATCH 3/3] update versionHistory --- doc/versionHistory.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/versionHistory.rst b/doc/versionHistory.rst index 45a0547..c650b72 100644 --- a/doc/versionHistory.rst +++ b/doc/versionHistory.rst @@ -3,6 +3,13 @@ ################## Version History ################## +.._lsst.ts.donut.viz-1.4.0 + +------------- +1.4.0 +------------- + +* Add S11-only mode for LsstCam Full Array Mode .._lsst.ts.donut.viz-1.3.0