lsst.obs.base¶
The lsst.obs.base
module provides the framework and common API for telescope/camera specific “obs” packages.
New cameras will derive from the classes defined here.
lsst.obs.base.tests
provides the tests that all “obs” packages should pass.
Changes¶
Using lsst.obs.base¶
Contributing¶
lsst.obs.base
is developed at https://github.com/lsst/obs_base.
You can find Jira issues for this module under the obs_base component.
Command Line Interface¶
daf_butler
implements a command line interface command called butler
. The following subcommands are
implemented by this package and available to the butler
command when this package is setup.
butler¶
Run the command.
butler [OPTIONS] COMMAND [ARGS]...
convert¶
Convert one or more Butler gen 2 repositories into a gen 3 repository.
REPO is the URI or path to the gen3 repository. Will be created if it does not already exist
This is a highly simplified interface that should only be used to convert suites of gen 2 repositories that contain at most one calibration repo and has no chained reruns. Custom scripts that call ConvertRepoTask should be used on more complex suites of repositories.
butler convert [OPTIONS] REPO
Options
- --gen2root <gen2root>¶
Required Root path of the gen 2 repo to be converted.
- --skymap-name <skymap_name>¶
Name of the new gen3 skymap (e.g. ‘discrete/ci_hsc’).
- --skymap-config <skymap_config>¶
Path to skymap config file defining the new gen3 skymap.
- --calibs <calibs>¶
Path to the gen 2 calibration repo. It can be absolute or relative to gen2root.
- --reruns <TEXT ...>¶
List of rerun paths to convert. Output collection names will be guessed, which can fail if the Gen2 repository paths do not follow a recognized convention. In this case, the command-line interface cannot be used.
- -t, --transfer <transfer>¶
Mode to use to transfer files into the new repository.
- Options:
auto | link | symlink | hardlink | copy | move | relsymlink | direct
- -j, --processes <processes>¶
Number of processes to use.
- -C, --config-file <config_file>¶
Path to a
ConvertRepoConfig
override to be included after the Instrument config overrides are applied.
- -@, --options-file <options_file>¶
URI to YAML file containing overrides of command line options. The YAML should be organized as a hierarchy with subcommand names at the top level options for that subcommand below.
Arguments
- REPO¶
Required argument
See ‘butler –help’ for more options.
define-visits¶
Define visits from exposures in the butler registry.
REPO is the URI or path to the gen3 repository. Will be created if it does not already exist
The name or fully-qualified class name of an instrument.
The calibration collection containing the camera geometry can not be specified.
butler define-visits [OPTIONS] REPO INSTRUMENT
Options
- -C, --config-file <config_file>¶
Path to a pex_config override to be included after the Instrument config overrides are applied.
- --collections <TEXT ...>¶
The collections to be searched (in order) when reading datasets.
- --where <where>¶
A string expression similar to a SQL WHERE clause.
- --update-records, --no-update-records¶
Use this option to force updates to the visit definition record. Should only be used if you know that there has been a change to the exposure records, such as a change to the metadata translator.
- --incremental, --no-incremental¶
Use this option to force updates to the visit definition record when multi-snap visits are being ingested incrementally and so you might encounter partial visits. Implies –update-records.
- -@, --options-file <options_file>¶
URI to YAML file containing overrides of command line options. The YAML should be organized as a hierarchy with subcommand names at the top level options for that subcommand below.
Arguments
- REPO¶
Required argument
- INSTRUMENT¶
Required argument
See ‘butler –help’ for more options.
ingest-raws¶
Ingest raw frames into from a directory into the butler registry.
REPO is the URI or path to the gen3 repository. Will be created if it does not already exist
LOCATIONS specifies files to ingest and/or locations to search for files.
butler ingest-raws [OPTIONS] REPO LOCATIONS ...
Options
- --regex <regex>¶
Regex string used to find files in directories listed in LOCATIONS. Searches for fits files by default.
- -c, --config <TEXT=TEXT>¶
Config override, as a key-value pair.
- -C, --config-file <config_file>¶
Path to a pex config override to be included after the Instrument config overrides are applied.
- --output-run <output_run>¶
The name of the run datasets should be output to.
- -t, --transfer <transfer>¶
The external data transfer mode.
- Options:
auto | link | symlink | hardlink | copy | move | relsymlink | direct
- -j, --processes <processes>¶
Number of processes to use.
- --ingest-task <ingest_task>¶
The fully qualified class name of the ingest task to use.
- --track-file-attrs, --no-track-file-attrs¶
Indicate to the datastore whether file attributes such as file size or checksum should be tracked or not. Whether this parameter is honored depends on the specific datastore implentation.
- --fail-fast¶
Stop ingest as soon as any problem is encountered with any file. Otherwise problem files will be skipped and logged and a report issued at completion.
- -@, --options-file <options_file>¶
URI to YAML file containing overrides of command line options. The YAML should be organized as a hierarchy with subcommand names at the top level options for that subcommand below.
Arguments
- REPO¶
Required argument
- LOCATIONS¶
Required argument(s)
See ‘butler –help’ for more options.
write-curated-calibrations¶
Add an instrument’s curated calibrations to the data repository.
REPO is the URI or path to the gen3 repository. Will be created if it does not already exist
The name or fully-qualified class name of an instrument.
butler write-curated-calibrations [OPTIONS] REPO INSTRUMENT
Options
- --collection <collection>¶
Name of the calibration collection that associates datasets with validity ranges.
- --label <labels>¶
Extra strings to include (with automatic delimiters) in all RUN collection names, as well as the calibration collection name if it is not provided via –collection.
- -@, --options-file <options_file>¶
URI to YAML file containing overrides of command line options. The YAML should be organized as a hierarchy with subcommand names at the top level options for that subcommand below.
Arguments
- REPO¶
Required argument
- INSTRUMENT¶
Required argument
See ‘butler –help’ for more options.
Python API reference¶
lsst.obs.base Package¶
Functions¶
|
Return a Box2I corresponding to an IRAF-style BBOX. |
|
Create a SkyWcs from the visit information and detector geometry. |
|
Create a SkyWcs from the telescope boresight and detector geometry. |
|
Attempt to load versioned camera geometry from a butler, but fall back to obtaining a nominal camera from the |
|
Construct an exposure DimensionRecord from |
|
Create a Config field with options for transferring data between repos. |
Classes¶
|
Configure visit definition. |
|
Driver Task for defining visits (and their spatial regions) in Gen3 Butler repositories. |
|
The definition of an instrument's filter bandpass. |
|
An order-preserving collection of multiple |
|
Abstract base class for reading and writing raw data to and from FITS files. |
|
Configure exposure grouping. |
|
Abstract base class for the subtask of |
For handling failures when creating a SkyWcs from a camera geometry and boresight. |
|
|
Rubin-specified base for instrument-specific logic for the Gen3 Butler. |
|
Base class functor to make a VisitInfo from the FITS header of a raw image using |
|
Configuration class for RawIngestTask. |
|
Driver Task for ingesting raw data into Gen3 Butler repositories. |
|
Struct representing a group of exposures that will be used to define a visit. |
|
Enumeration used to label different visit systems. |
Class Inheritance Diagram¶
digraph inheritance9fad31bb8c { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Collection" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "Sized" -> "Collection" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Iterable" -> "Collection" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Container" -> "Collection" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Config" [URL="../../../py-api/lsst.pex.config.Config.html#lsst.pex.config.Config",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for configuration (*config*) objects."]; "Container" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "DefineVisitsConfig" [URL="../../../py-api/lsst.obs.base.DefineVisitsConfig.html#lsst.obs.base.DefineVisitsConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Configure visit definition."]; "Config" -> "DefineVisitsConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DefineVisitsTask" [URL="../../../py-api/lsst.obs.base.DefineVisitsTask.html#lsst.obs.base.DefineVisitsTask",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Driver Task for defining visits (and their spatial regions) in Gen3"]; "Task" -> "DefineVisitsTask" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Enum" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Create a collection of name/value pairs."]; "FilterDefinition" [URL="../../../py-api/lsst.obs.base.FilterDefinition.html#lsst.obs.base.FilterDefinition",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The definition of an instrument's filter bandpass."]; "FilterDefinitionCollection" [URL="../../../py-api/lsst.obs.base.FilterDefinitionCollection.html#lsst.obs.base.FilterDefinitionCollection",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="An order-preserving collection of multiple `FilterDefinition`."]; "Sequence" -> "FilterDefinitionCollection" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsImageFormatterBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class formatter for image-like storage classes stored via FITS."]; "Formatter" -> "FitsImageFormatterBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsRawFormatterBase" [URL="../../../py-api/lsst.obs.base.FitsRawFormatterBase.html#lsst.obs.base.FitsRawFormatterBase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for reading and writing raw data to and from"]; "FitsImageFormatterBase" -> "FitsRawFormatterBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Formatter" [URL="../../../py-api/lsst.daf.butler.Formatter.html#lsst.daf.butler.Formatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Interface for reading and writing Datasets."]; "GroupExposuresConfig" [URL="../../../py-api/lsst.obs.base.GroupExposuresConfig.html#lsst.obs.base.GroupExposuresConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Configure exposure grouping."]; "Config" -> "GroupExposuresConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; "GroupExposuresTask" [URL="../../../py-api/lsst.obs.base.GroupExposuresTask.html#lsst.obs.base.GroupExposuresTask",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for the subtask of `DefineVisitsTask` that is"]; "Task" -> "GroupExposuresTask" [arrowsize=0.5,style="setlinewidth(0.5)"]; "InitialSkyWcsError" [URL="../../../py-api/lsst.obs.base.InitialSkyWcsError.html#lsst.obs.base.InitialSkyWcsError",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="For handling failures when creating a SkyWcs from a camera geometry and"]; "Instrument" [URL="../../../py-api/lsst.obs.base.Instrument.html#lsst.obs.base.Instrument",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Rubin-specified base for instrument-specific logic for the Gen3 Butler."]; "Instrument" -> "Instrument" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Instrument" [URL="../../../py-api/lsst.pipe.base.Instrument.html#lsst.pipe.base.Instrument",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for instrument-specific logic for the Gen3 Butler."]; "Iterable" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "MakeRawVisitInfoViaObsInfo" [URL="../../../py-api/lsst.obs.base.MakeRawVisitInfoViaObsInfo.html#lsst.obs.base.MakeRawVisitInfoViaObsInfo",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class functor to make a VisitInfo from the FITS header of a"]; "RawIngestConfig" [URL="../../../py-api/lsst.obs.base.RawIngestConfig.html#lsst.obs.base.RawIngestConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Configuration class for RawIngestTask."]; "Config" -> "RawIngestConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; "RawIngestTask" [URL="../../../py-api/lsst.obs.base.RawIngestTask.html#lsst.obs.base.RawIngestTask",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Driver Task for ingesting raw data into Gen3 Butler repositories."]; "Task" -> "RawIngestTask" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Reversible" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "Iterable" -> "Reversible" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Sequence" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="All the operations on a read-only sequence."]; "Reversible" -> "Sequence" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Collection" -> "Sequence" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Sized" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "Task" [URL="../../../py-api/lsst.pipe.base.Task.html#lsst.pipe.base.Task",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for data processing tasks."]; "VisitDefinitionData" [URL="../../../py-api/lsst.obs.base.VisitDefinitionData.html#lsst.obs.base.VisitDefinitionData",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Struct representing a group of exposures that will be used to define a"]; "VisitSystem" [URL="../../../py-api/lsst.obs.base.VisitSystem.html#lsst.obs.base.VisitSystem",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Enumeration used to label different visit systems."]; "Enum" -> "VisitSystem" [arrowsize=0.5,style="setlinewidth(0.5)"]; }lsst.obs.base.tests Module¶
Functions¶
|
Make a 2-d ramp array. |
|
Create a trimmed, assembled exposure with different ramps for each amplifier region. |
|
Create an untrimmed, assembled exposure with different ramps for each sub-amplifier region. |
Classes¶
|
Aggregator class for all of the obs_* test classes. |
Class Inheritance Diagram¶
digraph inheritanced973ca0fcc { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ButlerGetTests" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Tests of obs_* Butler get() functionality."]; "CameraTests" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Tests that the butler returns a useable Camera."]; "ObsTests" [URL="../../../py-api/lsst.obs.base.tests.ObsTests.html#lsst.obs.base.tests.ObsTests",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Aggregator class for all of the obs_* test classes."]; "ButlerGetTests" -> "ObsTests" [arrowsize=0.5,style="setlinewidth(0.5)"]; "CameraTests" -> "ObsTests" [arrowsize=0.5,style="setlinewidth(0.5)"]; }lsst.obs.base.formatters.fitsExposure Module¶
Functions¶
|
Preprocess the Exposure storage class's "amp" and "detector" parameters. |
Classes¶
|
Concrete formatter for reading/writing |
|
Concrete formatter for reading/writing |
|
Concrete formatter for reading/writing |
|
Concrete formatter for reading/writing |
Class Inheritance Diagram¶
digraph inheritance99f1903449 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "FitsExposureFormatter" [URL="../../../py-api/lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter.html#lsst.obs.base.formatters.fitsExposure.FitsExposureFormatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete formatter for reading/writing `~lsst.afw.image.Exposure`"]; "FitsMaskedImageFormatter" -> "FitsExposureFormatter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsImageFormatter" [URL="../../../py-api/lsst.obs.base.formatters.fitsExposure.FitsImageFormatter.html#lsst.obs.base.formatters.fitsExposure.FitsImageFormatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete formatter for reading/writing `~lsst.afw.image.Image`"]; "StandardFitsImageFormatterBase" -> "FitsImageFormatter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsImageFormatterBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class formatter for image-like storage classes stored via FITS."]; "Formatter" -> "FitsImageFormatterBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsMaskFormatter" [URL="../../../py-api/lsst.obs.base.formatters.fitsExposure.FitsMaskFormatter.html#lsst.obs.base.formatters.fitsExposure.FitsMaskFormatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete formatter for reading/writing `~lsst.afw.image.Mask`"]; "StandardFitsImageFormatterBase" -> "FitsMaskFormatter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FitsMaskedImageFormatter" [URL="../../../py-api/lsst.obs.base.formatters.fitsExposure.FitsMaskedImageFormatter.html#lsst.obs.base.formatters.fitsExposure.FitsMaskedImageFormatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Concrete formatter for reading/writing `~lsst.afw.image.MaskedImage`"]; "StandardFitsImageFormatterBase" -> "FitsMaskedImageFormatter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Formatter" [URL="../../../py-api/lsst.daf.butler.Formatter.html#lsst.daf.butler.Formatter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Interface for reading and writing Datasets."]; "ReaderFitsImageFormatterBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class formatter for image-like storage classes stored via FITS"]; "FitsImageFormatterBase" -> "ReaderFitsImageFormatterBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "StandardFitsImageFormatterBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class interface for image-like storage stored via FITS,"]; "ReaderFitsImageFormatterBase" -> "StandardFitsImageFormatterBase" [arrowsize=0.5,style="setlinewidth(0.5)"]; }lsst.obs.base.formatters.fitsGeneric Module¶
Classes¶
|
Interface for reading and writing objects that support the standard afw I/O readFits/writeFits methods. |