FitsRawFormatterBase¶
- class lsst.obs.base.FitsRawFormatterBase(*args, **kwargs)¶
Bases:
FitsImageFormatterBase
Abstract base class for reading and writing raw data to and from FITS files.
Attributes Summary
The parameters passed by the butler user, after checking them against the storage class and transforming
None
into an emptydict
(dict
).Return Data ID associated with this formatter (
DataCoordinate
).File descriptor associated with this formatter (
FileDescriptor
).FilterDefinitions
, defining the filters for this instrument.The metadata read from this file.
The
ObservationInfo
extracted from this file's metadata (ObservationInfo
, read-only).Set of all extensions supported by this formatter.
Parameters understood by this formatter that can be used to control how a dataset is serialized.
MetadataTranslator
to translate metadata header toObservationInfo
.Support all parameters.
Control whether the WCS is flipped in the X-direction (
bool
)Parameters to use when writing out datasets.
Detailed write Recipes indexed by recipe name.
Methods Summary
attachComponentsFromMetadata
(exposure)Attach all
lsst.afw.image.Exposure
components derived from metadata (including the stripped metadata itself).Indicate if this formatter can format from bytes.
fromBytes
(serializedDataset[, component])Read serialized data into a Dataset or its component.
fromMetadata
(metadata[, obsInfo, ...])Construct a possibly-limited formatter from known metadata.
getDetector
(id)Return the detector that acquired this raw exposure.
isOnSky
()Boolean to determine if the exposure is thought to be on the sky.
Construct a FilterLabel from metadata.
makeRawSkyWcsFromBoresight
(boresight, ...)Class method to make a raw sky WCS from boresight and detector.
makeUpdatedLocation
(location)Return a new
Location
updated with this formatter's extension.Construct a VisitInfo from metadata.
makeWcs
(visitInfo, detector)Create a SkyWcs from information about the exposure.
name
()Return the fully qualified name of the formatter.
Return the path that would be returned by write.
read
([component])Read a Dataset.
readComponent
(component)Read a component dataset.
readFull
()Read the full dataset (while still accounting for parameters).
Read just the image component of the Exposure.
Read all header metadata directly into a PropertyList.
segregateParameters
([parameters])Segregate the supplied parameters.
Remove metadata entries that are parsed into components.
toBytes
(inMemoryDataset)Serialize the Dataset to bytes based on formatter.
validateExtension
(location)Check the extension of the provided location for compatibility.
validateWriteRecipes
(recipes)Validate supplied recipes for this formatter.
write
(inMemoryDataset)Write a Python object to a file.
Attributes Documentation
- checked_parameters¶
- dataId¶
Return Data ID associated with this formatter (
DataCoordinate
).
- extension = '.fits'¶
- fileDescriptor¶
File descriptor associated with this formatter (
FileDescriptor
).Read-only property.
- filterDefinitions¶
FilterDefinitions
, defining the filters for this instrument.
- metadata¶
The metadata read from this file. It will be stripped as components are extracted from it (
lsst.daf.base.PropertyList
).
- observationInfo¶
The
ObservationInfo
extracted from this file’s metadata (ObservationInfo
, read-only).
- supportedExtensions: ClassVar[Set[str]] = frozenset({'.fit', '.fits', '.fits.fz', '.fits.gz', '.fz'})¶
Set of all extensions supported by this formatter.
Only expected to be populated by Formatters that write files. Any extension assigned to the
extension
property will be automatically included in the list of supported extensions.
- supportedWriteParameters: ClassVar[Set[str] | None] = None¶
Parameters understood by this formatter that can be used to control how a dataset is serialized.
None
indicates that no parameters are supported.
- translatorClass¶
MetadataTranslator
to translate metadata header toObservationInfo
.
- writeParameters¶
Parameters to use when writing out datasets.
- writeRecipes¶
Detailed write Recipes indexed by recipe name.
Methods Documentation
- attachComponentsFromMetadata(exposure)¶
Attach all
lsst.afw.image.Exposure
components derived from metadata (including the stripped metadata itself).- Parameters:
- exposure
lsst.afw.image.Exposure
Exposure to attach components to (modified in place). Must already have a detector attached.
- exposure
- fromBytes(serializedDataset: bytes, component: str | None = None) object ¶
Read serialized data into a Dataset or its component.
- Parameters:
- Returns:
- inMemoryDataset
object
The requested data as a Python object. The type of object is controlled by the specific formatter.
- inMemoryDataset
- classmethod fromMetadata(metadata, obsInfo=None, storageClass=None, location=None)¶
Construct a possibly-limited formatter from known metadata.
- Parameters:
- metadata
lsst.daf.base.PropertyList
Raw header metadata, with any fixes (see
astro_metadata_translator.fix_header
) applied but nothing stripped.- obsInfo
astro_metadata_translator.ObservationInfo
, optional Structured information already extracted from
metadata
. If not provided, will be read frommetadata
on first use.- storageClass
lsst.daf.butler.StorageClass
, optional StorageClass for this file. If not provided, the formatter will only support
makeWcs
,makeVisitInfo
,makeFilter
, and other operations that operate purely on metadata and not the actual file.- location
lsst.daf.butler.Location
, optional. Location of the file. If not provided, the formatter will only support
makeWcs
,makeVisitInfo
,makeFilter
, and other operations that operate purely on metadata and not the actual file.
- metadata
- Returns:
- formatter
FitsRawFormatterBase
An instance of
cls
.
- formatter
- abstract getDetector(id)¶
Return the detector that acquired this raw exposure.
- isOnSky()¶
Boolean to determine if the exposure is thought to be on the sky.
- Returns:
Notes
If there is tracking RA/Dec information associated with the observation it is assumed that the observation is on sky. Currently the observation type is not checked.
- makeFilterLabel()¶
Construct a FilterLabel from metadata.
- Returns:
- filter
FilterLabel
Object that identifies the filter for this image.
- filter
- classmethod makeRawSkyWcsFromBoresight(boresight, orientation, detector)¶
Class method to make a raw sky WCS from boresight and detector.
- Parameters:
- boresight
lsst.geom.SpherePoint
The ICRS boresight RA/Dec
- orientation
lsst.geom.Angle
The rotation angle of the focal plane on the sky.
- detector
lsst.afw.cameraGeom.Detector
Where to get the camera geometry from.
- boresight
- Returns:
- skyWcs
SkyWcs
Reversible mapping from pixel coordinates to sky coordinates.
- skyWcs
- makeUpdatedLocation(location: Location) Location ¶
Return a new
Location
updated with this formatter’s extension.- Parameters:
- location
Location
The location to update.
- location
- Returns:
- updated
Location
A new
Location
with a new file extension applied.
- updated
- Raises:
- NotImplementedError
Raised if there is no
extension
attribute associated with this formatter.
Notes
This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an
extension
attribute containing the file extension used when writing files. Ifextension
isNone
the supplied file will not be updated. Not all formatters write files so this is not defined in the base class.
- makeVisitInfo()¶
Construct a VisitInfo from metadata.
- Returns:
- visitInfo
VisitInfo
Structured metadata about the observation.
- visitInfo
- makeWcs(visitInfo, detector)¶
Create a SkyWcs from information about the exposure.
If VisitInfo is not None, use it and the detector to create a SkyWcs, otherwise return the metadata-based SkyWcs (always created, so that the relevant metadata keywords are stripped).
- Parameters:
- visitInfo
VisitInfo
The information about the telescope boresight and camera orientation angle for this exposure.
- detector
Detector
The detector used to acquire this exposure.
- visitInfo
- Returns:
- skyWcs
SkyWcs
Reversible mapping from pixel coordinates to sky coordinates.
- skyWcs
- Raises:
- InitialSkyWcsError
Raised if there is an error generating the SkyWcs, chained from the lower-level exception if available.
- classmethod name() str ¶
Return the fully qualified name of the formatter.
- Returns:
- name
str
Fully-qualified name of formatter class.
- name
- predictPath() str ¶
Return the path that would be returned by write.
Does not write any data file.
Uses the
FileDescriptor
associated with the instance.- Returns:
- path
str
Path within datastore that would be associated with the location stored in this
Formatter
.
- path
- read(component=None)¶
Read a Dataset.
- readComponent(component)¶
Read a component dataset.
- Parameters:
- component
str
, optional Component to read from the file.
- component
- Returns:
- objcomponent-dependent
In-memory component object.
- Raises:
- KeyError
Raised if the requested component cannot be handled.
- readFull()¶
Read the full dataset (while still accounting for parameters).
- Returns:
- objcomponent-dependent
In-memory component object.
- readImage()¶
Read just the image component of the Exposure.
- Returns:
- image
Image
In-memory image component.
- image
- readMetadata()¶
Read all header metadata directly into a PropertyList.
- Returns:
- metadata
PropertyList
Header metadata.
- metadata
- segregateParameters(parameters: dict[str, Any] | None = None) tuple[dict, dict] ¶
Segregate the supplied parameters.
This splits the parameters into those understood by the formatter and those not understood by the formatter.
Any unsupported parameters are assumed to be usable by associated assemblers.
- Parameters:
- Returns:
- stripMetadata()¶
Remove metadata entries that are parsed into components.
- classmethod validateExtension(location: Location) None ¶
Check the extension of the provided location for compatibility.
- Parameters:
- location
Location
Location from which to extract a file extension.
- location
- Raises:
- NotImplementedError
Raised if file extensions are a concept not understood by this formatter.
- ValueError
Raised if the formatter does not understand this extension.
Notes
This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an
extension
attribute containing the file extension used when writing files. Ifextension
isNone
only the set of supported extensions will be examined.