FitsRawFormatterBase

class lsst.obs.base.FitsRawFormatterBase(*args, **kwargs)

Bases: lsst.daf.butler.formatters.fitsExposureFormatter.FitsExposureFormatter

Abstract base class for reading and writing raw data to and from FITS files.

Attributes Summary

extension
fileDescriptor FileDescriptor associated with this formatter (FileDescriptor, read-only)
filterDefinitions FilterDefinitions, defining the filters for this instrument.
metadata The metadata read from this file.
observationInfo The ObservationInfo extracted from this file’s metadata (ObservationInfo, read-only).
translatorClass MetadataTranslator to translate metadata header to ObservationInfo.
unsupportedParameters

Methods Summary

fromBytes(serializedDataset, component) Reads 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.
makeFilter() Construct a Filter from metadata.
makeVisitInfo() Construct a VisitInfo from metadata.
makeWcs(visitInfo, detector) Create a SkyWcs from information about the exposure.
name() Returns the fully qualified name of the formatter.
predictPath() Return the path that would be returned by write, without actually writing.
predictPathFromLocation(location) Return the path that would be returned by write, without actually writing.
read([component]) Read data from a file.
readFull([parameters]) Read the full Exposure object.
readImage() Read just the image component of the Exposure.
readImageComponent(component) Read the image, mask, or variance component of an Exposure.
readInfoComponent(component) Read a component held by ExposureInfo.
readMask() Read just the mask component of the Exposure.
readMetadata() Read all header metadata directly into a PropertyList.
readRawHeaderWcs([parameters]) Read the SkyWcs stored in the un-modified raw FITS WCS header keys.
readVariance() Read just the variance component of the Exposure.
segregateParameters(parameters, Any]] = None) Segregate the supplied parameters into those understood by the formatter and those not understood by the formatter.
stripMetadata() Remove metadata entries that are parsed into components.
toBytes(inMemoryDataset) Serialize the Dataset to bytes based on formatter.
write(inMemoryDataset) Write a Python object to a file.

Attributes Documentation

extension = '.fits'
fileDescriptor

FileDescriptor associated with this formatter (FileDescriptor, read-only)

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).

translatorClass

MetadataTranslator to translate metadata header to ObservationInfo.

unsupportedParameters = frozenset()

Methods Documentation

fromBytes(serializedDataset: bytes, component: Optional[str] = None) → object

Reads serialized data into a Dataset or its component.

Parameters:
serializedDataset : bytes

Bytes object to unserialize.

component : str, optional

Component to read from the Dataset. Only used if the StorageClass for reading differed from the StorageClass used to write the file.

Returns:
inMemoryDataset : object

The requested data as a Python object. The type of object is controlled by the specific formatter.

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 from metadata 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.

Returns:
formatter : FitsRawFormatterBase

An instance of cls.

getDetector(id)

Return the detector that acquired this raw exposure.

Parameters:
id : int

The identifying number of the detector to get.

Returns:
detector : Detector

The detector associated with that id.

isOnSky()

Boolean to determine if the exposure is thought to be on the sky.

Returns:
onSky : bool

Returns True if the observation looks like it was taken on the sky. Returns False if this observation looks like a calibration observation.

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.

makeFilter()

Construct a Filter from metadata.

Returns:
filter : Filter

Object that identifies the filter for this image.

Raises:
NotFoundError

Raised if the physical filter was not registered via defineFilter.

makeVisitInfo()

Construct a VisitInfo from metadata.

Returns:
visitInfo : VisitInfo

Structured metadata about the observation.

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.

Returns:
skyWcs : SkyWcs

Reversible mapping from pixel coordinates to sky coordinates.

Raises:
InitialSkyWcsError

Raised if there is an error generating the SkyWcs, chained from the lower-level exception if available.

classmethod name() → str

Returns the fully qualified name of the formatter.

Returns:
name : str

Fully-qualified name of formatter class.

predictPath() → str

Return the path that would be returned by write, without actually writing.

Uses the FileDescriptor associated with the instance.

Returns:
path : str

Path within datastore that would be associated with the location stored in this Formatter.

classmethod predictPathFromLocation(location)

Return the path that would be returned by write, without actually writing.

Parameters:
location : Location,

Location of file for which path prediction is required.

Returns:
path : str

Path within datastore that would be associated with this location.

read(component=None)

Read data from a file.

Parameters:
component : str, optional

Component to read from the file. Only used if the StorageClass for reading differed from the StorageClass used to write the file.

Returns:
inMemoryDataset : object

The requested data as a Python object. The type of object is controlled by the specific formatter.

Raises:
ValueError

Component requested but this file does not seem to be a concrete composite.

KeyError

Raised when parameters passed with fileDescriptor are not supported.

readFull(parameters=None)

Read the full Exposure object.

Parameters:
parameters : dict, optional

If specified, a dictionary of slicing parameters that overrides those in the fileDescriptor attribute.

Returns:
exposure : Exposure

Complete in-memory exposure.

readImage()

Read just the image component of the Exposure.

Returns:
image : Image

In-memory image component.

readImageComponent(component)

Read the image, mask, or variance component of an Exposure.

Parameters:
component : str, optional

Component to read from the file. Always one of “image”, “variance”, or “mask”.

Returns:
image : Image or Mask

In-memory image, variance, or mask component.

readInfoComponent(component)

Read a component held by ExposureInfo.

The implementation provided by FitsRawFormatter provides only “wcs” and “visitInfo”. When adding support for other components, subclasses should delegate to super() for those and update readFull with similar logic.

Parameters:
component : str, optional

Component to read from the file.

Returns:
obj : component-dependent

In-memory component object.

readMask()

Read just the mask component of the Exposure.

May return None (as the default implementation does) to indicate that there is no mask information to be extracted (at least not trivially) from the raw data. This will prohibit direct reading of just the mask, and set the mask of the full Exposure to zeros.

Returns:
mask : Mask

In-memory mask component.

readMetadata()

Read all header metadata directly into a PropertyList.

Returns:
metadata : PropertyList

Header metadata.

readRawHeaderWcs(parameters=None)

Read the SkyWcs stored in the un-modified raw FITS WCS header keys.

readVariance()

Read just the variance component of the Exposure.

May return None (as the default implementation does) to indicate that there is no variance information to be extracted (at least not trivially) from the raw data. This will prohibit direct reading of just the variance, and set the variance of the full Exposure to zeros.

Returns:
image : Image

In-memory variance component.

segregateParameters(parameters: Optional[Dict[str, Any]] = None) → Tuple[Dict[KT, VT], Dict[KT, VT]]

Segregate the supplied 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:
parameters : dict, optional

Parameters with values that have been supplied by the caller and which might be relevant for the formatter. If None parameters will be read from the registered FileDescriptor.

Returns:
supported : dict

Those parameters supported by this formatter.

unsupported : dict

Those parameters not supported by this formatter.

stripMetadata()

Remove metadata entries that are parsed into components.

toBytes(inMemoryDataset: Any) → bytes

Serialize the Dataset to bytes based on formatter.

Parameters:
inMemoryDataset : object

The Python object to serialize.

Returns:
serializedDataset : bytes

Bytes representing the serialized dataset.

write(inMemoryDataset)

Write a Python object to a file.

Parameters:
inMemoryDataset : object

The Python object to store.

Returns:
path : str

The URI where the primary file is stored.