22__all__ = [
"imageReadFitsWithOptions",
23 "imageWriteFitsWithOptions",
"exposureWriteFitsWithOptions"]
28from ._imageLib
import ImageOrigin
30_LOG = logging.getLogger(
"lsst.afw.image")
39 """Read an Image, Mask, MaskedImage or Exposure from a FITS file,
45 Fits file path from which to read image, mask, masked image
47 options : `lsst.daf.base.PropertySet` or `dict`
50 - llcX: bbox minimum x (int)
51 - llcY: bbox minimum y (int, must be present if llcX is present)
52 - width: bbox width (int, must be present if llcX is present)
53 - height: bbox height (int, must be present if llcX is present)
54 - imageOrigin: one of "LOCAL" or "PARENT" (has no effect unless
55 a bbox is specified by llcX, etc.)
57 Alternatively, a bounding box () can be passed on with the
58 ``"bbox"'' (`lsst.geom.Box2I`) key.
63 If options contains an unknown value for "imageOrigin"
64 lsst.pex.exceptions.NotFoundError
65 If options contains "llcX" and is missing any of
66 "llcY", "width", or "height".
68 origin = ImageOrigin.PARENT
71 bbox = options[
"bbox"]
72 elif "llcX" in options:
73 llcX = int(options[
"llcX"])
74 llcY = int(options[
"llcY"])
75 width = int(options[
"width"])
76 height = int(options[
"height"])
78 if "imageOrigin" in options:
79 originStr = str(options[
"imageOrigin"])
80 if (originStr ==
"LOCAL"):
81 origin = ImageOrigin.LOCAL
82 elif (originStr ==
"PARENT"):
83 origin = ImageOrigin.PARENT
85 raise RuntimeError(
"Unknown ImageOrigin type {}".format(originStr))
87 return cls(source, bbox=bbox, origin=origin)
91 """Write an Image or Mask to FITS, with options
96 Fits file path to which to write the image or mask.
97 options : `lsst.daf.base.PropertySet`
98 Write options. The item ``item`` is read (which defaults to "image").
99 It must contain an `lsst.daf.base.PropertySet` with data for
100 ``lsst.afw.fits.ImageWriteOptions``.
101 item : `str`, optional
102 Item to read from the ``options`` parameter.
104 if options
is not None:
108 _LOG.exception(
"Could not parse item %s from options; writing with defaults.", item)
110 self.writeFits(dest, writeOptions)
116 """Write an Exposure or MaskedImage to FITS, with options
121 Fits file path to which to write the exposure or masked image.
122 options : `lsst.daf.base.PropertySet`
123 Write options. The items "image", "mask" and "variance" are read.
124 Each must be an `lsst.daf.base.PropertySet` with data for
125 ``lsst.afw.fits.ImageWriteOptions``.
127 if options
is not None:
129 writeOptionDict = {name +
"Options":
ImageWriteOptions(options.getPropertySet(name))
130 for name
in (
"image",
"mask",
"variance")}
132 _LOG.exception(
"Could not parse options; writing with defaults.")
134 self.writeFits(dest, **writeOptionDict)
imageWriteFitsWithOptions(self, dest, options, item="image")
exposureWriteFitsWithOptions(self, dest, options)
imageReadFitsWithOptions(cls, source, options)
Options for writing an image to FITS.