GeneralizedImage#
- class lsst.images.GeneralizedImage(metadata=None)#
Bases:
DescribableMixin,ABCA base class for types that represent one or more 2-d image-like arrays with the same pixel grid and sky projection.
- Parameters:
metadata (
Mapping[str,TypeAliasType] |MetadataView|None, default:None) – Arbitrary flexible metadata to associate with the image. Adict, or the native metadata of aMetadataView, is shared by reference rather than copied, unlike assignment tometadata; any other mapping is copied.
Attributes Summary
A proxy object for slicing a generalized image using absolute pixel coordinates.
An Astropy WCS for this image's pixel array.
Bounding box for the image (
Box).The butler dataset reference for this image (
lsst.daf.butler.SerializedDatasetRef|None).The butler inputs and ID of the task quantum that produced this dataset (
lsst.daf.butler.DatasetProvenance|None).An Astropy FITS WCS for this image's pixel array.
A proxy object for slicing a generalized image using "local" or "array" pixel coordinates.
Flexible metadata associated with the image (
MetadataView).The projection that maps this image's pixel grid to the sky (
SkyProjection|None).The coordinates of the first pixel in the array (
YX[int]).Methods Summary
bbox_from_sky_circle(center, radius[, clip])Calculate the bounding box on this image corresponding to a circular region on the sky.
copy()Deep-copy the image and metadata.
describe(*[, brief, detail, exclude])Return a
Reportdescribing this object.read(path, **kwargs)Read an instance of this class from a file.
write(path, **kwargs)Write this object to a file.
Attributes Documentation
- absolute#
A proxy object for slicing a generalized image using absolute pixel coordinates.
Notes
In this convention, the first row and column of the pixel grid is
bbox.start. A subimage and its parent image share the same absolute pixel coordinate system, and mostlsst.imagestypes (e.g.Box,SkyProjection,PointSpreadFunction) operate exclusively in this system.Note that
astropy.wcsandnumpy.ndarrayare not aware of thebbox.startoffset that defines tihs coordinates system; uselocalslicing for indices obtained from those.
- astropy_wcs#
An Astropy WCS for this image’s pixel array.
Notes
As expected for Astropy WCS objects, this defines pixel coordinates such that the first row and column in any associated arrays are
(0, 0), notbbox.start, as is the case forsky_projection.This object satisfies the
astropy.wcs.wcsapi.BaseHighLevelWCSandastropy.wcs.wcsapi.BaseLowLevelWCSinterfaces, but it is not anastropy.wcs.WCS(usefits_wcsfor that).
- butler_dataset#
The butler dataset reference for this image (
lsst.daf.butler.SerializedDatasetRef|None).
- butler_provenance#
The butler inputs and ID of the task quantum that produced this dataset (
lsst.daf.butler.DatasetProvenance|None).
- fits_wcs#
An Astropy FITS WCS for this image’s pixel array.
Notes
As expected for Astropy WCS objects, this defines pixel coordinates such that the first row and column in any associated arrays are
(0, 0), notbbox.start, as is the case forsky_projection.This may be an approximation or absent if
sky_projectionis not naturally representable as a FITS WCS.
- local#
A proxy object for slicing a generalized image using “local” or “array” pixel coordinates.
Notes
In this convention, the first row and column of the pixel grid is always at
(0, 0). This is also the convention used byastropy.wcsobjects. When a subimage is created from a parent image, its “local” coordinate system is offset from the coordinate systems of the parent image.Note that most
lsst.imagestypes (e.g.Box,SkyProjection,PointSpreadFunction) operate instead in “absolute” coordinates, which is shared by subimage and their parents.
- metadata#
Flexible metadata associated with the image (
MetadataView).Notes
The view combines two sources:
metadata.native: metadata that is part of the image’s data model and is saved with it. Keys are case-sensitive.metadata.external: read-only metadata carried in from the file the image was read from, such as the primary FITS header. Keys are case-insensitive, andCOMMENTandHISTORYcards are not included.
Lookups check native metadata first, matching case exactly, and then external metadata. Writes go to native metadata; adding a new key that case-insensitively matches an external key raises
KeyError. When an external key is repeated, which of its values is returned is unspecified; useget_allto obtain every value.Native metadata is shared with subimages and other views. Assigning a mapping replaces the native metadata with a shallow copy of it (of just its native metadata, for a
MetadataView), disconnecting this image from any others it was shared with while leaving external metadata readable. To disconnect while keeping the current contents, or to start empty:image.metadata = image.metadata image.metadata = {}
Assignment does not check for keys that shadow external metadata.
- sky_projection#
The projection that maps this image’s pixel grid to the sky (
SkyProjection|None).Notes
The pixel coordinates used by this projection account for the bounding box
start; they are not just array indices.
Methods Documentation
- bbox_from_sky_circle(center, radius, clip=False)#
Calculate the bounding box on this image corresponding to a circular region on the sky.
- Parameters:
center (
SkyCoord) – The center of the circle, as a scalarastropy.coordinates.SkyCoordin any frame.radius (
Angle) – Radius of the circle, as a scalarastropy.coordinates.Angle.clip (
bool, default:False) – IfTrue(Falseis default), clip pixel bounds when the circle extends outside the image. IfFalsean exception is raised if any part of the circle is off the image.
- Returns:
Bounding box enclosing the circle in this image’s pixel coordinates.
- Return type:
- Raises:
NotContainedError – Raised if the requested region is entirely off the image or if any part of the region is off the image and clipping is
False.ValueError – Raised if
centerorradiusis not scalar, or if this image has no sky projection.
- abstract copy()#
Deep-copy the image and metadata.
Attached immutable objects (like
SkyProjectioninstances) are not copied.- Return type:
Self
- describe(*, brief=False, detail=False, exclude=())#
Return a
Reportdescribing this object.- Parameters:
brief (
bool, optional) – Whether to build only whatreprandstrread.detail (
bool, optional) – Whether to include extras that are too expensive for a default report, such as per-plane set-pixel counts.exclude (
Collection[str], optional) – Names of report elements to omit.
- Returns:
report – Report describing this object.
- Return type:
- classmethod read(path, **kwargs)#
Read an instance of this class from a file.
A thin convenience wrapper around
lsst.images.serialization.read_archivethat fixes the expected in-memory type to this class. The container format is inferred frompath’s extension.- Parameters:
path (
str|ParseResult|ResourcePath|Path) – File to read; convertible tolsst.resources.ResourcePath.**kwargs (
Any) – Forwarded toread_archive(e.g.bboxto read a subimage).
- Return type:
Self
- write(path, **kwargs)#
Write this object to a file.
A thin convenience wrapper around
lsst.images.serialization.write_archive. The container format is chosen frompath’s extension.- Parameters:
path (
str) – Destination file path. Must not already exist.**kwargs (
Any) – Forwarded towrite_archive(e.g.compression_optionsandcompression_seedfor FITS).
- Return type: