lsst.ip.isr gbffcd5fa91+90bfeb2273
Loading...
Searching...
No Matches
lsst.ip.isr.shutterMotion.ShutterMotionProfile Class Reference
Inheritance diagram for lsst.ip.isr.shutterMotion.ShutterMotionProfile:
lsst.ip.isr.calibType.IsrCalib

Public Member Functions

 __init__ (self, **kwargs)
 
 calculateMidpoint (self, modelName="hallSensorFit", skipPosition=False)
 
 fromExposure (cls, exposure, direction="open")
 
 fromDict (cls, dictionary)
 
 toDict (self)
 
 fromTable (cls, tableList)
 
 toTable (self)
 
 readEncodeSamples (self, inputSamples, formatVersion)
 
 writeEncodeSamples (self)
 
 readHallTransitions (self, inputTransitions, formatVersion)
 
 writeHallTransitions (self)
 
 readFitResults (self, fitResults)
 
 writeFitResults (self)
 
 requiredAttributes (self)
 
 requiredAttributes (self, value)
 
 __str__ (self)
 
 __eq__ (self, other)
 
 metadata (self)
 
 getMetadata (self)
 
 setMetadata (self, metadata)
 
 updateMetadata (self, camera=None, detector=None, filterName=None, setCalibId=False, setCalibInfo=False, setDate=False, **kwargs)
 
 updateMetadataFromExposures (self, exposures)
 
 calibInfoFromDict (self, dictionary)
 
 determineCalibClass (cls, metadata, message)
 
 readText (cls, filename, **kwargs)
 
 writeText (self, filename, format="auto")
 
 readFits (cls, filename, **kwargs)
 
 writeFits (self, filename)
 
 fromDetector (self, detector)
 
 validate (self, other=None)
 
 apply (self, target)
 

Public Attributes

list time_tai = []
 
list time_mjd = []
 
list position = []
 
list hall_time_tai = []
 
list hall_time_mjd = []
 
list hall_position = []
 
list hall_sensorId = []
 
list hall_isOn = []
 
list fit_name = []
 
list fit_start_time = []
 
list fit_pivot1 = []
 
list fit_pivot2 = []
 
list fit_jerk0 = []
 
list fit_jerk1 = []
 
list fit_jerk2 = []
 
 fit_model = fitResults.pop("Model")
 
 requiredAttributes = set(["_OBSTYPE", "_SCHEMA", "_VERSION"])
 
 log = log if log else logging.getLogger(__name__)
 

Protected Attributes

 _instrument = None
 
 _raftName = None
 
 _slotName = None
 
 _detectorName = None
 
 _detectorSerial = None
 
 _detectorId = None
 
 _filter = None
 
str _calibId = None
 
 _seqfile = None
 
 _seqname = None
 
 _seqcksum = None
 
 _metadata = PropertyList()
 
 _requiredAttributes
 

Static Protected Attributes

str _OBSTYPE = "generic"
 
str _SCHEMA = "NO SCHEMA"
 
int _VERSION = 0
 

Detailed Description

Shutter motion profile measurements.

Parameters
----------
log : `logging.Logger`, optional
    Log to write messages to. If `None` a default logger will be used.
**kwargs :
    Additional parameters.

Definition at line 34 of file shutterMotion.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.__init__ ( self,
** kwargs )

Definition at line 49 of file shutterMotion.py.

Member Function Documentation

◆ __eq__()

lsst.ip.isr.calibType.IsrCalib.__eq__ ( self,
other )
inherited
Calibration equivalence.

Running ``calib.log.setLevel(0)`` enables debug statements to
identify problematic fields.

Definition at line 105 of file calibType.py.

◆ __str__()

lsst.ip.isr.calibType.IsrCalib.__str__ ( self)
inherited

Definition at line 102 of file calibType.py.

◆ apply()

lsst.ip.isr.calibType.IsrCalib.apply ( self,
target )
inherited
Method to apply the calibration to the target object.

Parameters
----------
target : `object`
    Thing to validate against.

Returns
-------
valid : `bool`
    Returns true if the calibration was applied correctly.

Raises
------
NotImplementedError
    Raised if not implemented.

Definition at line 706 of file calibType.py.

◆ calculateMidpoint()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.calculateMidpoint ( self,
modelName = "hallSensorFit",
skipPosition = False )
Calculate time of midpoint of travel for this profile.

Derived from Shuang Liang's CTN-002 (https://ctn-002.lsst.io).
Equation numbers listed are from this document.  As the fits
have already been done, we can ignore the raw position/Hall
sensor data.

Parameters
----------
modelName : `str`
    Fit model to use to calculate the midpoint.
skipPosition : `bool`
    If true, only the acceleration based calculation will be
    done.  If false, both the acceleration and position based
    calculations are done.

Returns
-------
tm_accel : `float`
    The time of the midpoint from the start of motion in
    seconds, as derived from the point where the acceleration
    on the shutter is zero.
tm_position : `float`
    The time of the midpoint from the start of motion in
    seconds, as derived from the point where the shutter
    position is midway between its starting and ending
    locations.  This will be NaN if ``skipPosition`` is true.

Raises
------
RuntimeError
    Raised if the requested ``modelName`` is not found in the
    calibration.

Definition at line 76 of file shutterMotion.py.

◆ calibInfoFromDict()

lsst.ip.isr.calibType.IsrCalib.calibInfoFromDict ( self,
dictionary )
inherited
Handle common keywords.

This isn't an ideal solution, but until all calibrations
expect to find everything in the metadata, they still need to
search through dictionaries.

Parameters
----------
dictionary : `dict` or `lsst.daf.base.PropertyList`
    Source for the common keywords.

Raises
------
RuntimeError
    Raised if the dictionary does not match the expected OBSTYPE.

Definition at line 325 of file calibType.py.

◆ determineCalibClass()

lsst.ip.isr.calibType.IsrCalib.determineCalibClass ( cls,
metadata,
message )
inherited
Attempt to find calibration class in metadata.

Parameters
----------
metadata : `dict` or `lsst.daf.base.PropertyList`
    Metadata possibly containing a calibration class entry.
message : `str`
    Message to include in any errors.

Returns
-------
calibClass : `object`
    The class to use to read the file contents.  Should be an
    `lsst.ip.isr.IsrCalib` subclass.

Raises
------
ValueError
    Raised if the resulting calibClass is the base
    `lsst.ip.isr.IsrClass` (which does not implement the
    content methods).

Definition at line 391 of file calibType.py.

◆ fromDetector()

lsst.ip.isr.calibType.IsrCalib.fromDetector ( self,
detector )
inherited
Modify the calibration parameters to match the supplied detector.

Parameters
----------
detector : `lsst.afw.cameraGeom.Detector`
    Detector to use to set parameters from.

Raises
------
NotImplementedError
    Raised if not implemented by a subclass.
    This needs to be implemented by subclasses for each
    calibration type.

Reimplemented in lsst.ip.isr.crosstalk.CrosstalkCalib, lsst.ip.isr.deferredCharge.DeferredChargeCalib, lsst.ip.isr.linearize.Linearizer, and lsst.ip.isr.ptcDataset.PhotonTransferCurveDataset.

Definition at line 588 of file calibType.py.

◆ fromDict()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fromDict ( cls,
dictionary )
Construct a ShutterMotionProfile from a dictionary of properties.

Parameters
----------
dictionary : `dict`
    Dictionary of properties.

Returns
-------
calib : `lsst.ip.isr.ShutterMotionProfile
    Constructed calibration.

Raises
------
RuntimeError
    Raised if the supplied dictionary is for a different
    calibration type.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 220 of file shutterMotion.py.

◆ fromExposure()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fromExposure ( cls,
exposure,
direction = "open" )
Construct a ShutterMotionProfile from an exposure.

Parameters
----------
exposure : `lsst.afw.image.Exposuref`
    Exposure to read header information from.
direction : `str`, optional
    Direction of shutter to construcxt.  Should be one of
    "open" or "close".

Returns
-------
calib : `lsst.ip.isr.ShutterMotionProfile`
    Constructed profile.

Definition at line 166 of file shutterMotion.py.

◆ fromTable()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fromTable ( cls,
tableList )
Construct calibration from a list of tables.

This method uses the `fromDict` method to create the
calibration, after constructing an appropriate dictionary from
the input tables.

Parameters
----------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables to use to construct the crosstalk
    calibration.  For shutter motion profiles, the first table
    contains the samples, the second the Hall transition data,
    and the third the model fits.

Returns
-------
calib : `lsst.ip.isr.ShutterMotionProfile`
    The calibration defined in the tables.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 350 of file shutterMotion.py.

◆ getMetadata()

lsst.ip.isr.calibType.IsrCalib.getMetadata ( self)
inherited
Retrieve metadata associated with this calibration.

Returns
-------
meta : `lsst.daf.base.PropertyList`
    Metadata. The returned `~lsst.daf.base.PropertyList` can be
    modified by the caller and the changes will be written to
    external files.

Definition at line 174 of file calibType.py.

◆ metadata()

lsst.ip.isr.calibType.IsrCalib.metadata ( self)
inherited

Definition at line 171 of file calibType.py.

◆ readEncodeSamples()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.readEncodeSamples ( self,
inputSamples,
formatVersion )
Read a list of input samples into the calibration.

Parameters
----------
inputSamples : `list` [`dict` [`str` `str`]]
    List of dictionaries of samples.
formatVersion : `float`
    Version of the file format to read.

Raises
------
RuntimeError
    Raised if the calibration has already read samples, or if
    the format is not known.

Definition at line 474 of file shutterMotion.py.

◆ readFitResults()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.readFitResults ( self,
fitResults )
Read a list of fit results into the calibration.

Parameters
----------
inputTransitions : `list` [`dict` [`str` `str`]]
    List of dictionaries of fit results.

Raises
------
RuntimeError
    Raised if the calibration has already read fit results.

Definition at line 617 of file shutterMotion.py.

◆ readFits()

lsst.ip.isr.calibType.IsrCalib.readFits ( cls,
filename,
** kwargs )
inherited
Read calibration data from a FITS file.

Parameters
----------
filename : `str`
    Filename to read data from.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value pairs to pass to the ``fromTable``
    method.

Returns
-------
calib : `lsst.ip.isr.IsrCalib`
    Calibration contained within the file.

Definition at line 517 of file calibType.py.

◆ readHallTransitions()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.readHallTransitions ( self,
inputTransitions,
formatVersion )
Read a list of input samples into the calibration.

Parameters
----------
inputTransitions : `list` [`dict` [`str` `str`]]
    List of dictionaries of transitions.
formatVersion : `float`
    Version of the file format to read.

Raises
------
RuntimeError
    Raised if the calibration has already read samples, or if
    the format is not known.

Definition at line 540 of file shutterMotion.py.

◆ readText()

lsst.ip.isr.calibType.IsrCalib.readText ( cls,
filename,
** kwargs )
inherited
Read calibration representation from a yaml/ecsv file.

Parameters
----------
filename : `str`
    Name of the file containing the calibration definition.
kwargs : `dict` or collections.abc.Mapping`, optional
    Set of key=value pairs to pass to the ``fromDict`` or
    ``fromTable`` methods.

Returns
-------
calib : `~lsst.ip.isr.IsrCalibType`
    Calibration class.

Raises
------
RuntimeError
    Raised if the filename does not end in ".ecsv" or ".yaml".

Definition at line 425 of file calibType.py.

◆ requiredAttributes() [1/2]

lsst.ip.isr.calibType.IsrCalib.requiredAttributes ( self)
inherited

Definition at line 162 of file calibType.py.

◆ requiredAttributes() [2/2]

lsst.ip.isr.calibType.IsrCalib.requiredAttributes ( self,
value )
inherited

Definition at line 166 of file calibType.py.

◆ setMetadata()

lsst.ip.isr.calibType.IsrCalib.setMetadata ( self,
metadata )
inherited
Store a copy of the supplied metadata with this calibration.

Parameters
----------
metadata : `lsst.daf.base.PropertyList`
    Metadata to associate with the calibration.  Will be copied and
    overwrite existing metadata.

Reimplemented in lsst.ip.isr.transmissionCurve.IntermediateTransmissionCurve.

Definition at line 186 of file calibType.py.

◆ toDict()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.toDict ( self)
Return a dictionary containing the calibration properties.

The dictionary should be able to be round-tripped through
`fromDict`.

Returns
-------
dictionary : `dict`
    Dictionary of properties.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 275 of file shutterMotion.py.

◆ toTable()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.toTable ( self)
Construct a list of tables containing the information in this
calibration.

The list of tables should create an identical calibration
after being passed to this class's fromTable method.

Returns
-------
tableList : `list` [`lsst.afw.table.Table`]
    List of tables containing the shutter motion profile
    information.

Reimplemented from lsst.ip.isr.calibType.IsrCalib.

Definition at line 421 of file shutterMotion.py.

◆ updateMetadata()

lsst.ip.isr.calibType.IsrCalib.updateMetadata ( self,
camera = None,
detector = None,
filterName = None,
setCalibId = False,
setCalibInfo = False,
setDate = False,
** kwargs )
inherited
Update metadata keywords with new values.

Parameters
----------
camera : `lsst.afw.cameraGeom.Camera`, optional
    Reference camera to use to set ``_instrument`` field.
detector : `lsst.afw.cameraGeom.Detector`, optional
    Reference detector to use to set ``_detector*`` fields.
filterName : `str`, optional
    Filter name to assign to this calibration.
setCalibId : `bool`, optional
    Construct the ``_calibId`` field from other fields.
setCalibInfo : `bool`, optional
    Set calibration parameters from metadata.
setDate : `bool`, optional
    Ensure the metadata ``CALIBDATE`` fields are set to the current
    datetime.
kwargs : `dict` or `collections.abc.Mapping`, optional
    Set of ``key=value`` pairs to assign to the metadata.

Reimplemented in lsst.ip.isr.brighterFatterKernel.BrighterFatterKernel, lsst.ip.isr.calibType.IsrProvenance, lsst.ip.isr.crosstalk.CrosstalkCalib, lsst.ip.isr.electrostaticBrighterFatter.ElectrostaticBrighterFatterDistortionMatrix, lsst.ip.isr.linearize.Linearizer, lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection, and lsst.ip.isr.ptcDataset.PhotonTransferCurveDataset.

Definition at line 208 of file calibType.py.

◆ updateMetadataFromExposures()

lsst.ip.isr.calibType.IsrCalib.updateMetadataFromExposures ( self,
exposures )
inherited
Extract and unify metadata information.

Parameters
----------
exposures : `list`
    Exposures or other calibrations to scan.

Definition at line 294 of file calibType.py.

◆ validate()

lsst.ip.isr.calibType.IsrCalib.validate ( self,
other = None )
inherited
Validate that this calibration is defined and can be used.

Parameters
----------
other : `object`, optional
    Thing to validate against.

Returns
-------
valid : `bool`
    Returns true if the calibration is valid and appropriate.

Reimplemented in lsst.ip.isr.linearize.Linearizer, and lsst.ip.isr.photodiodeCorrection.PhotodiodeCorrection.

Definition at line 691 of file calibType.py.

◆ writeEncodeSamples()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.writeEncodeSamples ( self)
Return list of samples as dictionaries.

Returns
-------
inputSamples : `list` [`dict` [`str` `str`]]
    List of dictionaries of samples.

Raises
------
RuntimeError
    Raised if the calibration has not read samples.

Definition at line 506 of file shutterMotion.py.

◆ writeFitResults()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.writeFitResults ( self)
Return list of samples as dictionaries.

Returns
-------
inputTransitions : `list` [`dict` [`str` `str`]]
    List of dictionaries of Hall transitions

Raises
------
RuntimeError
    Raised if the calibration has not read Hall
    transitions.

Definition at line 645 of file shutterMotion.py.

◆ writeFits()

lsst.ip.isr.calibType.IsrCalib.writeFits ( self,
filename )
inherited
Write calibration data to a FITS file.

Parameters
----------
filename : `str`
    Filename to write data to.

Returns
-------
used : `str`
    The name of the file used to write the data.

Reimplemented in lsst.ip.isr.transmissionCurve.IntermediateTransmissionCurve.

Definition at line 565 of file calibType.py.

◆ writeHallTransitions()

lsst.ip.isr.shutterMotion.ShutterMotionProfile.writeHallTransitions ( self)
Return list of samples as dictionaries.

Returns
-------
inputTransitions : `list` [`dict` [`str` `str`]]
    List of dictionaries of Hall transitions

Raises
------
RuntimeError
    Raised if the calibration has not read Hall
    transitions.

Definition at line 576 of file shutterMotion.py.

◆ writeText()

lsst.ip.isr.calibType.IsrCalib.writeText ( self,
filename,
format = "auto" )
inherited
Write the calibration data to a text file.

Parameters
----------
filename : `str`
    Name of the file to write.
format : `str`
    Format to write the file as.  Supported values are:
        ``"auto"`` : Determine filetype from filename.
        ``"yaml"`` : Write as yaml.
        ``"ecsv"`` : Write as ecsv.

Returns
-------
used : `str`
    The name of the file used to write the data.  This may
    differ from the input if the format is explicitly chosen.

Raises
------
RuntimeError
    Raised if filename does not end in a known extension, or
    if all information cannot be written.

Notes
-----
The file is written to YAML/ECSV format and will include any
associated metadata.

Definition at line 463 of file calibType.py.

Member Data Documentation

◆ _calibId

str lsst.ip.isr.calibType.IsrCalib._calibId = None
protectedinherited

Definition at line 76 of file calibType.py.

◆ _detectorId

lsst.ip.isr.calibType.IsrCalib._detectorId = None
protectedinherited

Definition at line 74 of file calibType.py.

◆ _detectorName

lsst.ip.isr.calibType.IsrCalib._detectorName = None
protectedinherited

Definition at line 72 of file calibType.py.

◆ _detectorSerial

lsst.ip.isr.calibType.IsrCalib._detectorSerial = None
protectedinherited

Definition at line 73 of file calibType.py.

◆ _filter

lsst.ip.isr.calibType.IsrCalib._filter = None
protectedinherited

Definition at line 75 of file calibType.py.

◆ _instrument

lsst.ip.isr.calibType.IsrCalib._instrument = None
protectedinherited

Definition at line 69 of file calibType.py.

◆ _metadata

lsst.ip.isr.calibType.IsrCalib._metadata = PropertyList()
protectedinherited

Definition at line 80 of file calibType.py.

◆ _OBSTYPE

str lsst.ip.isr.calibType.IsrCalib._OBSTYPE = "generic"
staticprotectedinherited

Definition at line 64 of file calibType.py.

◆ _raftName

lsst.ip.isr.calibType.IsrCalib._raftName = None
protectedinherited

Definition at line 70 of file calibType.py.

◆ _requiredAttributes

lsst.ip.isr.calibType.IsrCalib._requiredAttributes
protectedinherited

Definition at line 115 of file calibType.py.

◆ _SCHEMA

str lsst.ip.isr.calibType.IsrCalib._SCHEMA = "NO SCHEMA"
staticprotectedinherited

Definition at line 65 of file calibType.py.

◆ _seqcksum

lsst.ip.isr.calibType.IsrCalib._seqcksum = None
protectedinherited

Definition at line 79 of file calibType.py.

◆ _seqfile

lsst.ip.isr.calibType.IsrCalib._seqfile = None
protectedinherited

Definition at line 77 of file calibType.py.

◆ _seqname

lsst.ip.isr.calibType.IsrCalib._seqname = None
protectedinherited

Definition at line 78 of file calibType.py.

◆ _slotName

lsst.ip.isr.calibType.IsrCalib._slotName = None
protectedinherited

Definition at line 71 of file calibType.py.

◆ _VERSION

int lsst.ip.isr.calibType.IsrCalib._VERSION = 0
staticprotectedinherited

Definition at line 66 of file calibType.py.

◆ fit_jerk0

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_jerk0 = []

Definition at line 65 of file shutterMotion.py.

◆ fit_jerk1

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_jerk1 = []

Definition at line 66 of file shutterMotion.py.

◆ fit_jerk2

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_jerk2 = []

Definition at line 67 of file shutterMotion.py.

◆ fit_model

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_model = fitResults.pop("Model")

Definition at line 632 of file shutterMotion.py.

◆ fit_name

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_name = []

Definition at line 61 of file shutterMotion.py.

◆ fit_pivot1

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_pivot1 = []

Definition at line 63 of file shutterMotion.py.

◆ fit_pivot2

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_pivot2 = []

Definition at line 64 of file shutterMotion.py.

◆ fit_start_time

lsst.ip.isr.shutterMotion.ShutterMotionProfile.fit_start_time = []

Definition at line 62 of file shutterMotion.py.

◆ hall_isOn

lsst.ip.isr.shutterMotion.ShutterMotionProfile.hall_isOn = []

Definition at line 60 of file shutterMotion.py.

◆ hall_position

lsst.ip.isr.shutterMotion.ShutterMotionProfile.hall_position = []

Definition at line 58 of file shutterMotion.py.

◆ hall_sensorId

lsst.ip.isr.shutterMotion.ShutterMotionProfile.hall_sensorId = []

Definition at line 59 of file shutterMotion.py.

◆ hall_time_mjd

lsst.ip.isr.shutterMotion.ShutterMotionProfile.hall_time_mjd = []

Definition at line 57 of file shutterMotion.py.

◆ hall_time_tai

lsst.ip.isr.shutterMotion.ShutterMotionProfile.hall_time_tai = []

Definition at line 56 of file shutterMotion.py.

◆ log

lsst.ip.isr.calibType.IsrCalib.log = log if log else logging.getLogger(__name__)
inherited

Definition at line 96 of file calibType.py.

◆ position

lsst.ip.isr.shutterMotion.ShutterMotionProfile.position = []

Definition at line 55 of file shutterMotion.py.

◆ requiredAttributes

lsst.ip.isr.calibType.IsrCalib.requiredAttributes = set(["_OBSTYPE", "_SCHEMA", "_VERSION"])
inherited

Definition at line 90 of file calibType.py.

◆ time_mjd

lsst.ip.isr.shutterMotion.ShutterMotionProfile.time_mjd = []

Definition at line 54 of file shutterMotion.py.

◆ time_tai

lsst.ip.isr.shutterMotion.ShutterMotionProfile.time_tai = []

Definition at line 53 of file shutterMotion.py.


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