lsst.obs.base  20.0.0-19-g935fffe
Public Member Functions | Static Public Attributes | List of all members
lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase Class Reference
Inheritance diagram for lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase:
lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter

Public Member Functions

def __init__ (self, *args, **kwargs)
 
def fromMetadata (cls, metadata, obsInfo=None, storageClass=None, location=None)
 
def translatorClass (self)
 
def filterDefinitions (self)
 
def readImage (self)
 
def readMask (self)
 
def readVariance (self)
 
def isOnSky (self)
 
def stripMetadata (self)
 
def makeVisitInfo (self)
 
def getDetector (self, id)
 
def makeWcs (self, visitInfo, detector)
 
def makeFilter (self)
 
def readComponent (self, component, parameters=None)
 
def readFull (self, parameters=None)
 
def readRawHeaderWcs (self, parameters=None)
 
def write (self, inMemoryDataset)
 
def observationInfo (self)
 
def metadata (self)
 
def readMetadata (self)
 
def read (self, component=None)
 
def getImageCompressionSettings (self, recipeName)
 
def validateWriteRecipes (cls, recipes)
 

Static Public Attributes

 supportedExtensions = frozenset({".fits", ".fits.gz", ".fits.fz"})
 
string extension = ".fits"
 
 supportedWriteParameters = frozenset({"recipe"})
 

Detailed Description

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

Definition at line 39 of file _fitsRawFormatterBase.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.__init__ (   self,
args,
**  kwargs 
)

Definition at line 44 of file _fitsRawFormatterBase.py.

Member Function Documentation

◆ filterDefinitions()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.filterDefinitions (   self)
`~lsst.obs.base.FilterDefinitions`, defining the filters for this
instrument.

Definition at line 93 of file _fitsRawFormatterBase.py.

◆ fromMetadata()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.fromMetadata (   cls,
  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``.

Definition at line 50 of file _fitsRawFormatterBase.py.

◆ getDetector()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.getDetector (   self,
  id 
)
Return the detector that acquired this raw exposure.

Parameters
----------
id : `int`
    The identifying number of the detector to get.

Returns
-------
detector : `~lsst.afw.cameraGeom.Detector`
    The detector associated with that ``id``.

Definition at line 179 of file _fitsRawFormatterBase.py.

◆ getImageCompressionSettings()

def lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.getImageCompressionSettings (   self,
  recipeName 
)
inherited
Retrieve the relevant compression settings for this recipe.

Parameters
----------
recipeName : `str`
    Label associated with the collection of compression parameters
    to select.

Returns
-------
settings : `dict`
    The selected settings.

Definition at line 298 of file fitsExposure.py.

◆ isOnSky()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.isOnSky (   self)
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.

Definition at line 139 of file _fitsRawFormatterBase.py.

◆ makeFilter()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.makeFilter (   self)
Construct a Filter from metadata.

Returns
-------
filter : `~lsst.afw.image.Filter`
    Object that identifies the filter for this image.

Raises
------
NotFoundError
    Raised if the physical filter was not registered via
    `~lsst.afw.image.utils.defineFilter`.

Definition at line 258 of file _fitsRawFormatterBase.py.

◆ makeVisitInfo()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.makeVisitInfo (   self)
Construct a VisitInfo from metadata.

Returns
-------
visitInfo : `~lsst.afw.image.VisitInfo`
    Structured metadata about the observation.

Definition at line 168 of file _fitsRawFormatterBase.py.

◆ makeWcs()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.makeWcs (   self,
  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 : `~lsst.afw.image.VisitInfo`
    The information about the telescope boresight and camera
    orientation angle for this exposure.
detector : `~lsst.afw.cameraGeom.Detector`
    The detector used to acquire this exposure.

Returns
-------
skyWcs : `~lsst.afw.geom.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.

Definition at line 194 of file _fitsRawFormatterBase.py.

◆ metadata()

def lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.metadata (   self)
inherited
The metadata read from this file. It will be stripped as
components are extracted from it
(`lsst.daf.base.PropertyList`).

Definition at line 84 of file fitsExposure.py.

◆ observationInfo()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.observationInfo (   self)
The `~astro_metadata_translator.ObservationInfo` extracted from
this file's metadata (`~astro_metadata_translator.ObservationInfo`,
read-only).

Definition at line 364 of file _fitsRawFormatterBase.py.

◆ read()

def lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.read (   self,
  component = None 
)
inherited
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.

Definition at line 230 of file fitsExposure.py.

◆ readComponent()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readComponent (   self,
  component,
  parameters = None 
)
Read a component held by the Exposure.

Parameters
----------
component : `str`, optional
    Component to read from the file.
parameters : `dict`, optional
    If specified, a dictionary of slicing parameters that
    overrides those in ``fileDescriptor``.

Returns
-------
obj : component-dependent
    In-memory component object.

Raises
------
KeyError
    Raised if the requested component cannot be handled.

Reimplemented from lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.

Definition at line 274 of file _fitsRawFormatterBase.py.

◆ readFull()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readFull (   self,
  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 : `~lsst.afw.image.Exposure`
    Complete in-memory exposure.

Reimplemented from lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.

Definition at line 311 of file _fitsRawFormatterBase.py.

◆ readImage()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readImage (   self)
Read just the image component of the Exposure.

Returns
-------
image : `~lsst.afw.image.Image`
    In-memory image component.

Definition at line 99 of file _fitsRawFormatterBase.py.

◆ readMask()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readMask (   self)
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 : `~lsst.afw.image.Mask`
    In-memory mask component.

Definition at line 109 of file _fitsRawFormatterBase.py.

◆ readMetadata()

def lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.readMetadata (   self)
inherited
Read all header metadata directly into a PropertyList.

Returns
-------
metadata : `~lsst.daf.base.PropertyList`
    Header metadata.

Definition at line 93 of file fitsExposure.py.

◆ readRawHeaderWcs()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readRawHeaderWcs (   self,
  parameters = None 
)
Read the SkyWcs stored in the un-modified raw FITS WCS header keys.

Definition at line 343 of file _fitsRawFormatterBase.py.

◆ readVariance()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.readVariance (   self)
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 : `~lsst.afw.image.Image`
    In-memory variance component.

Definition at line 124 of file _fitsRawFormatterBase.py.

◆ stripMetadata()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.stripMetadata (   self)
Remove metadata entries that are parsed into components.

Reimplemented from lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.

Definition at line 159 of file _fitsRawFormatterBase.py.

◆ translatorClass()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.translatorClass (   self)
`~astro_metadata_translator.MetadataTranslator` to translate
metadata header to `~astro_metadata_translator.ObservationInfo`.

Definition at line 83 of file _fitsRawFormatterBase.py.

◆ validateWriteRecipes()

def lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.validateWriteRecipes (   cls,
  recipes 
)
inherited
Validate supplied recipes for this formatter.

The recipes are supplemented with default values where appropriate.

TODO: replace this custom validation code with Cerberus (DM-11846)

Parameters
----------
recipes : `dict`
    Recipes to validate. Can be empty dict or `None`.

Returns
-------
validated : `dict`
    Validated recipes. Returns what was given if there are no
    recipes listed.

Raises
------
RuntimeError
    Raised if validation fails.

Definition at line 335 of file fitsExposure.py.

◆ write()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.write (   self,
  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.

Reimplemented from lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.

Definition at line 348 of file _fitsRawFormatterBase.py.

Member Data Documentation

◆ extension

string lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.extension = ".fits"
staticinherited

Definition at line 79 of file fitsExposure.py.

◆ supportedExtensions

lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.supportedExtensions = frozenset({".fits", ".fits.gz", ".fits.fz"})
staticinherited

Definition at line 78 of file fitsExposure.py.

◆ supportedWriteParameters

lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.supportedWriteParameters = frozenset({"recipe"})
staticinherited

Definition at line 81 of file fitsExposure.py.


The documentation for this class was generated from the following file: