49 file: str | int | io.BytesIO,
53 metadata: PropertySet |
None =
None,
55 """Write a simple FITS file with no extensions.
60 Path to a file or a file descriptor.
61 data : `lsst.afw.Image` or `lsst.afw.Mask`
63 wcs : `lsst.afw.geom.SkyWcs` or `None`, optional
64 WCS to be written to header to FITS file.
65 title : `str`, optional
66 If defined, the value to be stored in the ``OBJECT`` header.
67 Overrides any value found in ``metadata``.
68 metadata : `lsst.daf.base.PropertySet` or `None`, optional
69 Additional information to be written to FITS header.
84 shift =
Extent2D(-data.getX0(), -data.getY0())
85 if wcs.hasFitsApproximation():
86 wcs = wcs.getFitsApproximation()
87 new_wcs = wcs.copyAtShiftedPixelOrigin(shift)
88 wcs_metadata = new_wcs.getFitsMetadata()
89 ps.update(wcs_metadata)
92 ps.set(
"OBJECT", title,
"Image being displayed")
94 if isinstance(file, str):
95 data.writeFits(file, metadata=ps)
98 data.writeFits(manager=mem, metadata=ps)
99 if isinstance(file, int):
102 with os.fdopen(os.dup(file),
"wb")
as fh:
103 fh.write(mem.getData())
104 elif isinstance(file, subprocess.Popen):
105 file.communicate(input=mem.getData())
108 file.write(mem.getData())