54) -> None:
55 """Write a simple FITS file with no extensions.
56
57 Parameters
58 ----------
59 file : `str` or `int`
60 Path to a file or a file descriptor.
61 data : `lsst.afw.Image` or `lsst.afw.Mask`
62 Data to be displayed.
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.
70 """
71 ps = PropertyList()
72
73
74 if metadata:
76 ps.update(metadata)
77
78
79 _add_wcs("B", ps)
80
81 if not wcs:
82 _add_wcs("", ps)
83 else:
84 shift = Extent2D(-data.getX0(), -data.getY0())
85 new_wcs = wcs.copyAtShiftedPixelOrigin(shift)
86 wcs_metadata = new_wcs.getFitsMetadata()
87 ps.update(wcs_metadata)
88
89 if title:
90 ps.set("OBJECT", title, "Image being displayed")
91
92 if isinstance(file, str):
93 data.writeFits(file, metadata=ps)
94 else:
96 data.writeFits(manager=mem, metadata=ps)
97 if isinstance(file, int):
98
99
100 with os.fdopen(os.dup(file), "wb") as fh:
101 fh.write(mem.getData())
102 elif isinstance(file, subprocess.Popen):
103 file.communicate(input=mem.getData())
104 else:
105
106 file.write(mem.getData())
Lifetime-management for memory that goes into FITS memory files.
void stripWcsMetadata(daf::base::PropertySet &metadata)