LSST Applications  21.0.0+04719a4bac,21.0.0-1-ga51b5d4+ae94e5adf4,21.0.0-10-g2408eff+ad7fe00a3b,21.0.0-10-g560fb7b+5d30037bff,21.0.0-10-gcf60f90+7fd8e8fd04,21.0.0-11-g25eff31+491f1498e8,21.0.0-11-gd78879e+d13a45ff19,21.0.0-12-g1e69a3f+69d54d99d8,21.0.0-17-g6590b197+c8c705a94e,21.0.0-2-g103fe59+29086b68f8,21.0.0-2-g1367e85+d793a9824f,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+d793a9824f,21.0.0-2-g7f82c8f+7178d1fb8b,21.0.0-2-g8f08a60+fd0b970de5,21.0.0-2-g8faa9b5+3b24369756,21.0.0-2-ga326454+7178d1fb8b,21.0.0-2-gde069b7+ca45a81b40,21.0.0-2-gecfae73+3609a557ba,21.0.0-2-gfc62afb+d793a9824f,21.0.0-22-g2a5702db6+f385fa6f38,21.0.0-3-g357aad2+673ab9f056,21.0.0-3-g4be5c26+d793a9824f,21.0.0-3-g65f322c+45176dc65e,21.0.0-3-g7d9da8d+3b24369756,21.0.0-3-ge02ed75+d05e6d1be4,21.0.0-4-g591bb35+d05e6d1be4,21.0.0-4-g65b4814+5d30037bff,21.0.0-4-gccdca77+a631590478,21.0.0-4-ge8a399c+7f1b116a8b,21.0.0-5-gb7b9a9f+d793a9824f,21.0.0-5-gd00fb1e+de3bd29da1,21.0.0-55-g0be6b205+66ae927d20,21.0.0-6-g2d4f3f3+04719a4bac,21.0.0-7-g04766d7+510a52a951,21.0.0-7-g98eecf7+adb4d61a8d,21.0.0-9-g39e06b5+d05e6d1be4,master-gac4afde19b+d05e6d1be4,w.2021.12
LSST Data Management Base Package
Functions
lsst.afw.cameraGeom.assembleImage Namespace Reference

Functions

def assembleAmplifierImage (destImage, rawImage, amplifier)
 
def assembleAmplifierRawImage (destImage, rawImage, amplifier)
 
def makeUpdatedDetector (ccd)
 

Function Documentation

◆ assembleAmplifierImage()

def lsst.afw.cameraGeom.assembleImage.assembleAmplifierImage (   destImage,
  rawImage,
  amplifier 
)
Assemble the amplifier region of an image from a raw image.

Parameters
----------
destImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
    Assembled image; the region amplifier.getBBox() is overwritten with
    the assembled amplifier image.
rawImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
    Raw image (same type as destImage).
amplifier : `lsst.afw.cameraGeom.Amplifier`
    Amplifier geometry, with raw amplifier info.

Raises
------
RuntimeError
    Raised if image types do not match or amplifier has no raw amplifier info.

Definition at line 54 of file assembleImage.py.

54 def assembleAmplifierImage(destImage, rawImage, amplifier):
55  """Assemble the amplifier region of an image from a raw image.
56 
57  Parameters
58  ----------
59  destImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
60  Assembled image; the region amplifier.getBBox() is overwritten with
61  the assembled amplifier image.
62  rawImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
63  Raw image (same type as destImage).
64  amplifier : `lsst.afw.cameraGeom.Amplifier`
65  Amplifier geometry, with raw amplifier info.
66 
67  Raises
68  ------
69  RuntimeError
70  Raised if image types do not match or amplifier has no raw amplifier info.
71  """
72  if type(destImage.Factory) != type(rawImage.Factory): # noqa: E721
73  raise RuntimeError(f"destImage type = {type(destImage.Factory).__name__} != "
74  f"{type(rawImage.Factory).__name__} = rawImage type")
75  inView = rawImage.Factory(rawImage, amplifier.getRawDataBBox())
76  outView = destImage.Factory(destImage, amplifier.getBBox())
77 
78  _insertPixelChunk(outView, inView, amplifier,
79  hasattr(rawImage, "getArrays"))
80 
81 
def assembleAmplifierImage(destImage, rawImage, amplifier)
table::Key< int > type
Definition: Detector.cc:163

◆ assembleAmplifierRawImage()

def lsst.afw.cameraGeom.assembleImage.assembleAmplifierRawImage (   destImage,
  rawImage,
  amplifier 
)
Assemble the amplifier region of a raw CCD image.

For most cameras this is a no-op: the raw image already is an assembled
CCD image.
However, it is useful for camera such as LSST for which each amplifier
image is a separate image.

Parameters
----------
destImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
    CCD Image; the region amplifier.getRawAmplifier().getBBox()
    is overwritten with the raw amplifier image.
rawImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
    Raw image (same type as destImage).
amplifier : `lsst.afw.cameraGeom.Amplifier`
    Amplifier geometry with raw amplifier info

Raises
------
RuntimeError
    Raised if image types do not match or amplifier has no raw amplifier info.

Definition at line 82 of file assembleImage.py.

82 def assembleAmplifierRawImage(destImage, rawImage, amplifier):
83  """Assemble the amplifier region of a raw CCD image.
84 
85  For most cameras this is a no-op: the raw image already is an assembled
86  CCD image.
87  However, it is useful for camera such as LSST for which each amplifier
88  image is a separate image.
89 
90  Parameters
91  ----------
92  destImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
93  CCD Image; the region amplifier.getRawAmplifier().getBBox()
94  is overwritten with the raw amplifier image.
95  rawImage : `lsst.afw.image.Image` or `lsst.afw.image.MaskedImage`
96  Raw image (same type as destImage).
97  amplifier : `lsst.afw.cameraGeom.Amplifier`
98  Amplifier geometry with raw amplifier info
99 
100  Raises
101  ------
102  RuntimeError
103  Raised if image types do not match or amplifier has no raw amplifier info.
104  """
105  if type(destImage.Factory) != type(rawImage.Factory): # noqa: E721
106  raise RuntimeError(f"destImage type = {type(destImage.Factory).__name__} != "
107  f"{type(rawImage.Factory).__name__} = rawImage type")
108  inBBox = amplifier.getRawBBox()
109  inView = rawImage.Factory(rawImage, inBBox)
110  outBBox = amplifier.getRawBBox()
111  outBBox.shift(amplifier.getRawXYOffset())
112  outView = destImage.Factory(destImage, outBBox)
113 
114  _insertPixelChunk(outView, inView, amplifier,
115  hasattr(rawImage, "getArrays"))
116 
117 
def assembleAmplifierRawImage(destImage, rawImage, amplifier)

◆ makeUpdatedDetector()

def lsst.afw.cameraGeom.assembleImage.makeUpdatedDetector (   ccd)
Return a Detector that has had the definitions of amplifier geometry
updated post assembly.

Parameters
----------
ccd : `lsst.afw.image.Detector`
    The detector to copy and update.

Definition at line 118 of file assembleImage.py.

118 def makeUpdatedDetector(ccd):
119  """Return a Detector that has had the definitions of amplifier geometry
120  updated post assembly.
121 
122  Parameters
123  ----------
124  ccd : `lsst.afw.image.Detector`
125  The detector to copy and update.
126  """
127  builder = ccd.rebuild()
128  for amp in builder.getAmplifiers():
129  bbox = amp.getRawBBox()
130  awidth, aheight = bbox.getDimensions()
131  #
132  # Figure out how far flipping the amp LR and/or TB offsets the bboxes
133  #
134  boxMin0 = bbox.getMin() # initial position of rawBBox's LLC corner
135  if amp.getRawFlipX():
136  bbox.flipLR(awidth)
137  if amp.getRawFlipY():
138  bbox.flipTB(aheight)
139  shift = boxMin0 - bbox.getMin()
140 
141  for bboxName in ("",
142  "HorizontalOverscan",
143  "Data",
144  "VerticalOverscan",
145  "Prescan"):
146  bbox = getattr(amp, f"getRaw{bboxName}BBox")()
147  if amp.getRawFlipX():
148  bbox.flipLR(awidth)
149  if amp.getRawFlipY():
150  bbox.flipTB(aheight)
151  bbox.shift(amp.getRawXYOffset() + shift)
152 
153  getattr(amp, f"setRaw{bboxName}BBox")(bbox)
154  #
155  # All of these have now been transferred to the per-amp geometry
156  #
157  amp.setRawXYOffset(lsst.geom.ExtentI(0, 0))
158  amp.setRawFlipX(False)
159  amp.setRawFlipY(False)
160 
161  return builder.finish()