lsst.obs.base  21.0.0-10-g193f6d6+841aaaaed1
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 makeRawSkyWcsFromBoresight (cls, boresight, orientation, 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

bool wcsFlipX = False
 
 supportedExtensions = frozenset({".fits", ".fits.gz", ".fits.fz", ".fz", ".fit"})
 
string extension = ".fits"
 
 supportedWriteParameters = frozenset({"recipe"})
 
dictionary unsupportedParameters = {}
 

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 48 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 97 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 54 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 183 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 299 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 143 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 283 of file _fitsRawFormatterBase.py.

◆ makeRawSkyWcsFromBoresight()

def lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.makeRawSkyWcsFromBoresight (   cls,
  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 geomtry from.

Returns
-------
skyWcs : `~lsst.afw.geom.SkyWcs`
    Reversible mapping from pixel coordinates to sky coordinates.

Definition at line 244 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 172 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 198 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 94 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 389 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 237 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 299 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 336 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 103 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 113 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 103 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 368 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 128 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 163 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 87 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 336 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 373 of file _fitsRawFormatterBase.py.

Member Data Documentation

◆ extension

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

Definition at line 85 of file fitsExposure.py.

◆ supportedExtensions

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

Definition at line 84 of file fitsExposure.py.

◆ supportedWriteParameters

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

Definition at line 87 of file fitsExposure.py.

◆ unsupportedParameters

dictionary lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.unsupportedParameters = {}
staticinherited

Definition at line 90 of file fitsExposure.py.

◆ wcsFlipX

bool lsst.obs.base._fitsRawFormatterBase.FitsRawFormatterBase.wcsFlipX = False
static

Definition at line 45 of file _fitsRawFormatterBase.py.


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