lsst.ip.isr gbffcd5fa91+39a08c657f
Loading...
Searching...
No Matches
lsst.ip.isr.photodiode.PhotodiodeCalib Class Reference
Inheritance diagram for lsst.ip.isr.photodiode.PhotodiodeCalib:
lsst.ip.isr.calibType.IsrCalib

Public Member Functions

 __init__ (self, timeSamples=None, currentSamples=None, **kwargs)
 
 fromDict (cls, dictionary)
 
 toDict (self)
 
 fromTable (cls, tableList, **kwargs)
 
 toTable (self)
 
 readTwoColumnPhotodiodeData (cls, filename)
 
 integrate (self, exposureTime=None)
 
 integrateDirectSum (self)
 
 integrateTrimmedSum (self)
 
 integrateChargeSum (self)
 
 integrateMean (self, exposureTime)
 
 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

 timeSamples = np.array(timeSamples).ravel()
 
 currentSamples = np.array(currentSamples).ravel()
 
str integrationMethod = kwargs.pop('integrationMethod')
 
float currentScale = kwargs.pop('currentScale')
 
 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

Independent current measurements from photodiode for linearity
calculations.

Parameters
----------
timeSamples : `list` or `numpy.ndarray`
    List of samples the photodiode was measured at.
currentSamples : `list` or `numpy.ndarray`
    List of current measurements at each time sample.
log : `logging.Logger`, optional
    Log to write messages to. If `None` a default logger will be used.
**kwargs :
    Additional parameters. These will be passed to the parent
    constructor with the exception of:

    ``"integrationMethod"``
        Name of the algorithm to use to integrate the current
        samples. Allowed values are ``DIRECT_SUM``,
        ``TRIMMED_SUM``, ``CHARGE_SUM``, ``MEAN`` (`str`).
    ``"currentScale"``
        Scale factor to apply to the current samples for the
        ``CHARGE_SUM`` integration method. A typical value
        would be `-1`, to flip the sign of the integrated charge.

Definition at line 34 of file photodiode.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.ip.isr.photodiode.PhotodiodeCalib.__init__ ( self,
timeSamples = None,
currentSamples = None,
** kwargs )

Definition at line 64 of file photodiode.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.

◆ 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.photodiode.PhotodiodeCalib.fromDict ( cls,
dictionary )
Construct a PhotodiodeCalib from a dictionary of properties.

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

Returns
-------
calib : `lsst.ip.isr.PhotodiodeCalib`
    Constructed photodiode data.

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

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

Definition at line 95 of file photodiode.py.

◆ fromTable()

lsst.ip.isr.photodiode.PhotodiodeCalib.fromTable ( cls,
tableList,
** kwargs )
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` [`astropy.table.Table`]
    List of tables to use to construct the crosstalk
    calibration.

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

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

Definition at line 153 of file photodiode.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.

◆ integrate()

lsst.ip.isr.photodiode.PhotodiodeCalib.integrate ( self,
exposureTime = None )
Integrate the current.

Parameters
----------
exposureTime : `float`, optional
    Image exposure time. Required if integrationMethod is ``MEAN``.

Raises
------
RuntimeError
    Raised if the integration method is not known.
ValueError
    Raised if the exposure time is not set and method is MEAN.

Definition at line 263 of file photodiode.py.

◆ integrateChargeSum()

lsst.ip.isr.photodiode.PhotodiodeCalib.integrateChargeSum ( self)
For this method, the values in .currentSamples are actually the
integrated charge values as measured by the ammeter for each
sampling interval.  We need to do a baseline subtraction,
based on the charge values when the LED is off, then sum up
the corrected signals.

Returns
-------
sum : `float`
    Total charge measured.

Definition at line 325 of file photodiode.py.

◆ integrateDirectSum()

lsst.ip.isr.photodiode.PhotodiodeCalib.integrateDirectSum ( self)
Integrate points.

This uses numpy's trapezoidal integrator.

Returns
-------
sum : `float`
    Total charge measured.

Definition at line 291 of file photodiode.py.

◆ integrateMean()

lsst.ip.isr.photodiode.PhotodiodeCalib.integrateMean ( self,
exposureTime )
Take the mean of the photodiode trace, and multiply by exposure time.

The current scale is also used.

Parameters
----------
exposureTime : `float`
    Exposure time in sections.

Definition at line 360 of file photodiode.py.

◆ integrateTrimmedSum()

lsst.ip.isr.photodiode.PhotodiodeCalib.integrateTrimmedSum ( self)
Integrate points with a baseline level subtracted.

This uses numpy's trapezoidal integrator.

Returns
-------
sum : `float`
    Total charge measured.

See Also
--------
lsst.eotask.gen3.eoPtc

Definition at line 303 of file photodiode.py.

◆ metadata()

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

Definition at line 171 of file calibType.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.

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

◆ readTwoColumnPhotodiodeData()

lsst.ip.isr.photodiode.PhotodiodeCalib.readTwoColumnPhotodiodeData ( cls,
filename )
Construct a PhotodiodeCalib by reading the simple column format.

Parameters
----------
filename : `str`
    File to read samples from.

Returns
-------
calib : `lsst.ip.isr.PhotodiodeCalib`
    The calibration defined in the file.

Definition at line 239 of file photodiode.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.photodiode.PhotodiodeCalib.toDict ( self)
Return a dictionary containing the photodiode 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 129 of file photodiode.py.

◆ toTable()

lsst.ip.isr.photodiode.PhotodiodeCalib.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` [`astropy.table.Table`]
    List of tables containing the photodiode calibration
    information.

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

Definition at line 214 of file photodiode.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.

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

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

◆ currentSamples

lsst.ip.isr.photodiode.PhotodiodeCalib.currentSamples = np.array(currentSamples).ravel()

Definition at line 70 of file photodiode.py.

◆ currentScale

float lsst.ip.isr.photodiode.PhotodiodeCalib.currentScale = kwargs.pop('currentScale')

Definition at line 83 of file photodiode.py.

◆ integrationMethod

str lsst.ip.isr.photodiode.PhotodiodeCalib.integrationMethod = kwargs.pop('integrationMethod')

Definition at line 78 of file photodiode.py.

◆ log

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

Definition at line 96 of file calibType.py.

◆ requiredAttributes

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

Definition at line 90 of file calibType.py.

◆ timeSamples

lsst.ip.isr.photodiode.PhotodiodeCalib.timeSamples = np.array(timeSamples).ravel()

Definition at line 69 of file photodiode.py.


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