| | |
- astro.main.ProcessTarget.ProcessTarget(common.database.DBMeta.DBMixin, astro.main.OnTheFly.OnTheFly)
-
- DarkCurrent(common.database.DBMain.DBObject, astro.main.ProcessTarget.ProcessTarget)
- common.database.DBMain.DBObject(__builtin__.object)
-
- DarkCurrent(common.database.DBMain.DBObject, astro.main.ProcessTarget.ProcessTarget)
- DarkCurrentParameters
class DarkCurrent(common.database.DBMain.DBObject, astro.main.ProcessTarget.ProcessTarget) |
| |
CalFile for the dark current and the particle event rate
The dark current is the mean of three median-averaged dark exposures. The
particle event rate is the mean of the cosmic ray count of the three dark
exposures. The dark current object can be created using:
>>> dc = DarkCurrent()
>>> dc.raw_dark_frames = [RawDarkFrame(pathname='dark1.fits'),
... RawDarkFrame(pathname='dark2.fits'),
... RawDarkFrame(pathname='dark3.fits')]
>>> dc.make()
>>> print dc.dark_current, dc.particle_event_rate
3.0 21.7
>>> dc.verify()
>>> dc.compare(dc2) |
| |
- Method resolution order:
- DarkCurrent
- common.database.DBMain.DBObject
- astro.main.ProcessTarget.ProcessTarget
- common.database.DBMeta.DBMixin
- __builtin__.object
- astro.main.OnTheFly.OnTheFly
Methods defined here:
- __init__(self)
- check_preconditions(self)
- compare(self, other)
- Compare the dark current and particle event_rate measurements with
a previous measurement.
The following flag may be set:
DARK_CURRENT_DIFFERENCE_TOO_HIGH --
dark_current-prev.dark_current > MAXIMUM_DARK_CURRENT_DIFFERENCE
- copy_attributes(self)
- derive_timestamp(self)
- Assign the default period for which the DarkCurrent object is
valid.
The DarkCurrent object is assumed to be valid for the night following
the day the observations were taken.
- make(self)
- Determine the dark current and calculate the particle event rate
Requires:
raw_dark_frames -- Three RawDarkFrame objects
bias -- A BiasFrame object
Updates:
dark_current
event_counts
particle_event_rate
- make_dark_current(self)
- Determine the dark current
Requires:
raw_dark_frames -- Three RawDarkFrame objects
bias -- A BiasFrame object
Updates:
dark_current -- The dark current in ADU/pixel/hour
Parameters:
OVERSCAN_CORRECTION
MAXIMUM_ITERATIONS
REJECTION_THRESHOLD
The raw dark frames are trimmed, overscan-corrected and debiased.
The dark current is calculated by median averaging three reduced
dark frames and iteratively rejecting outliers from the result, and
computing the mean of the remaining pixels.
- make_particle_event_rate(self)
- Calculate the particle event rate
Requires:
raw_dark_frames -- Three RawDarkFrame objects
bias -- A BiasFrame object
Optional:
hot -- A HotPixelMap object
Updates:
event_counts -- The number of events detected in each dark frame
particle_event_rate -- The event rate in particles/cm^2/hour
Parameters:
OVERSCAN_CORRECTION
DETECTION_THRESHOLD
The raw dark frames are trimmed, overscan-corrected and debiased.
The particle event rate is determined by using the cosmic ray
detection mechanism in Sextractor. The data used for this is the
same data as for the dark current. Optionally a hot pixel map
can be given.
- verify(self)
- Verify the dark current and particle event rate measurements.
The following flag may be set:
DARK_CURRENT_TOO_HIGH -- dark_current > MAXIMUM_DARK_CURRENT
INCONSISTENT_EVENT_COUNTS -- event_counts[i]-event_counts[j] too large
The difference in event counts is too large if they exceed 3 sigma
.i.e.: abs(counts[i]-counts[j]) > 3 * sqrt(counts[i]+counts[j])
Data descriptors defined here:
- DARK_CURRENT_DIFFERENCE_TOO_HIGH
- DARK_CURRENT_TOO_HIGH
- INCONSISTENT_EVENT_COUNTS
- bias
- The BiasFrame used to bias-correct the RawDarkFrames [None]
- chip
- Information about the chip [None]
- cosmicconf
- A CosmicConfig [None]
- creation_date
- Date this object was created [None]
- dark_current
- The dark current [ADU / pixel / hour]
- event_counts
- The number of cosmic ray events in each exposure [None]
- hot
- A HotPixelMask [None]
- instrument
- Information about the instrument [None]
- is_valid
- Manual/external flag to disqualify bad data (SuperFlag) [None]
- object_id
- The object identifier
The object identifier is an attribute shared by all persistent
instances. It is the prime key, by which object identity is established
- observing_block
- Information about the observing block [None]
- particle_event_rate
- The event rate [particles / cm**2 / hour]
- process_params
- Process parameters [None]
- process_status
- A flag indicating the processing status [None]
- quality_flags
- Automatic/internal quality flag [None]
- raw_dark_frames
- A list of RawDarkFrame objects [None]
- template
- Information about the template [None]
- timestamp_end
- End of valid period [None]
- timestamp_start
- Start of valid period [None]
Data and other attributes defined here:
- PROCESS_TIME = 25
- prev = None
Methods inherited from common.database.DBMain.DBObject:
- __del__(self)
- Destructor for the DBObject
This destructor is called by the garbage collector for the transient
part of the DBObject. When it is called it calls the gc_transient()
method of the DBProxy implementation. The implementation of the
gc_transient() method can then decide what to do with the persistent
counterpart.
E.g. the database can be synchronized with its transient counterpart.
Another possibility is that the gc_transient() implementation checks
whether any attributes of a read-only object have changed since an
object was fetched from the database. If there are differences an
exception can be raised.
- __reduce__(self)
- Method necessary to create picklable objects
This mehod return a tuple containg a function object used for
unpickling and a picklable state tuple, to be used as argument
to the unpickle function. If necessary this object is registered
in the pickle cache
- as_dict(self, seqnr=1, dependency_name='', dictionary={}, allow_lazy_typed_list=False)
- Method much like the info method, but returns a dictionary.
Dictionary looks like:
{'<classname>.<property1_name>.<property2_name>': value,
'<classname>.<property2_name>.<property3_name>': value}
Problem: infinite loops for cold/flat dependencies. It seems a maximum
recursion depth limits the problem.
- commit(self)
- Commits object including objects that are referenced and have been changed.
If this object refers to other persistent object a commit() ensures that
1. ALL changes to the object and referred objects are made persistent.
2. NONE of the changed object and referred objects are made persistent.
Under normal circumstances only the first thing should ever happen.
If the second case occurs it is almost certainly because of some bug in
the routine that implements the DBProxy interface.
- get_creator(self)
- Returns the name of the user who created this object.
- get_persistent(self)
- get_project(self)
- Returns the name of the project to which this object belongs.
- info(self, level=0, doc=False, _indent=0, _printclass=True)
- Print the values of all persistent properties of the object.
level : level of introspection
doc : display docstrings for attributes
_indent : internal parameter used for formatting
_printclass : internal parameter used for formatting
- inverse_objects(self, max_results=100)
- Iterate through and return all objects that use the current object
max_results The maximum number of objects returned per query
- inverse_query(self)
- go through all inverse properties to see if this object is used
- persists(self)
- Returns whether an object is already made persistent or transient.
- recommit(self)
- Commits changes to an object, without following links.
Class methods inherited from common.database.DBMain.DBObject:
- get_inverse_properties(cls, props=None) from common.database.DBMeta.DBObjectMeta
- return all inverse properties
that are all the properties that point to this class
Data descriptors inherited from common.database.DBMain.DBObject:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
Data and other attributes inherited from common.database.DBMain.DBObject:
- __metaclass__ = <class 'common.database.DBMeta.DBObjectMeta'>
- This is the metaclass for persistent classes
Provides:
__new__ -- manages class construction
__call__ -- manages object instantiation
- database = <common.database.DBOracle.DBProxy instance at 0x12eff38>
- pickle_id = None
Methods inherited from astro.main.ProcessTarget.ProcessTarget:
- check_mandatory_dependencies(self)
- check if all the mandatory dependencies are set
- check_observing_blocks(self, childs)
- check if all childs have the same observing_block
- check_templates(self, childs)
- check if all childs have the same template
- get_dependencies(self)
- Return a list of names of attributes that are required for make()
- get_qcflags_set(self)
- Return a list of names of flags that have been set.
- get_qcflags_set_dict(self)
- Return a dictionary of flags that have been set. The key is the
name, the value is a tuple of (index, docstring).
- inspect(self)
- Quality Control -- visual inspection
Visual inspection of the data remains a powerful tool in
quality control. The inspect() method provides the mechanism
to record the results of visual inspection for posterity.
- is_compared(self)
- Return true if the object has been compared
- is_inspected(self)
- Return true if the object has been inspected
- is_made(self)
- Return true if the object has been made
- is_ok(self)
- Return true if no quality control flags have been set.
- is_verified(self)
- Return true if the object has been verified
- set_compared(self)
- Set the process status to indicate that the object has been
compared.
- set_inspected(self)
- Set the process status to indicate that the object has been
inspected.
- set_made(self)
- Set the process tatus to indicate that the object has been made
- set_process_parameters_from_dict(self, pars={})
- pars is a dictionary of the type e.g.:
{'BiasFrame.process_params.SIGMA_CLIP':8}
- set_user_config(self, user_config_dict)
- Store the user specified configuration (as produced e.g. by the
util.Pars tool) in a transient attribute.
- set_verified(self)
- Set the process status to indicate that the object has been
verified.
Class methods inherited from astro.main.ProcessTarget.ProcessTarget:
- get_qcflags(cls) from common.database.DBMeta.DBObjectMeta
- Return a list of attribute names of QCflag() objects.
- is_cal(cls) from common.database.DBMeta.DBObjectMeta
- Test for being cal, derived raw classes should set _IS_CAL to 1
- is_config(cls) from common.database.DBMeta.DBObjectMeta
- Test for being config, derived raw classes should set _IS_CONFIG
to 1
- is_raw(cls) from common.database.DBMeta.DBObjectMeta
- Test for being raw, derived raw classes should set _IS_RAW to 1
- is_science(cls) from common.database.DBMeta.DBObjectMeta
- Test for being science, derived raw classes should set _IS_SCIENCE
to 1
- is_seq(cls) from common.database.DBMeta.DBObjectMeta
- Test for being seq, derived raw classes should set _IS_SEQ to 1
- is_support(cls) from common.database.DBMeta.DBObjectMeta
- Test for being config, derived raw classes should set _IS_SUPPORT
to 1
- select(cls, **searchterms) from common.database.DBMeta.DBObjectMeta
- Class method to select RawFrames, Calfiles and ReducedScienceFrames
from the database.
Syntax example:
q = RawScienceFrame.select(instrument='WFI', filter='#842',
chip='ccd50', time_from='2000-01-02 04:45:46',
time_to='2000-01-02 05:03:00')
Possible search terms:
----------------------
check_quality - (Default 1) Exclude invalidated data (quality_flags!=0)
check_validity - (Default 1) Exclude invalidated data (is_valid=0)
chip - select of the same CCD ('ccd50', 'ccd51', etc.)
date - select of the same date (i.e. date at the start of
observing night, in yyyy-mm-dd format)
exptime - select frames with similar exposure time
(EXPTIME-0.8sec to EXPTIME+0.8 sec)
extension - select (raw) frames for a certain extension of its
RawFitsData object
filename - select a frame(!) by its filename
filter - select of the same filter ('#842', '#843', etc.)
instrument - select of the same instrument ('WFI', 'WFC', 'OCAM')
object - select for OBJECT header keyword, uses "like"
functionality, which allows wildcards "*" and "?"
time_from - precise form of date, in yyyy-mm-dd hh:mm:ss format
time_to - required when using time_from
- select_for_raw(cls, raw, overscan=None, check_quality=1, check_validity=1) from common.database.DBMeta.DBObjectMeta
- Class method to select the most recent valid calfile for the
provided raw frame from the database.
- select_for_reduced(cls, reduced, overscan=None, check_quality=1, check_validity=1) from common.database.DBMeta.DBObjectMeta
- Synonym for the select_for_raw method; the implementation should
be identical.
Data and other attributes inherited from astro.main.ProcessTarget.ProcessTarget:
- STATUS_COMPARE = 2
- STATUS_INSPECT = 3
- STATUS_MAKE = 0
- STATUS_VERIFY = 1
- mandatory_dependencies = ()
Class methods inherited from common.database.DBMeta.DBMixin:
- get_persistent_attributes(cls) from common.database.DBMeta.DBObjectMeta
- return a list of persistent attributes
Methods inherited from astro.main.OnTheFly.OnTheFly:
- Flagged(self)
- Check if any flag is set
return 1 for flag is set
return 0 no flag
- after_do_make(self, switches=None)
- extra make statements, this method can be overridden by OnTheFly classes to
implement extra make statements which will be executed after the make of self
- after_set_onthefly_dependencies(self, switches, advanced)
- this method is called after the onthefly method set_onthefly_dependencies
derived classes can implement this method to customize the dependencies
setting after this has been done automatically by onthefly
- after_uptodate_object(self, dependencies_missing, dependencies_new, dependencies_obsolete)
- The uptodate_object method determines if the object is uptodate, and will result in three listings :
dependencies_missing - missing mandatory dependencies
dependencies_new - new dependencies
dependencies_obsolete - current dependencies that are obsolete
Derived classes can override this method to tweak the listings
- check_for_mandatory(self, dep_str, dep_new)
- check if dependency is mandatory and present
dep_str is the name of the attribute, dep_new is the (attribute) object
- get_onthefly_dependencies(self, advanced=None)
- Method retrieves a list of all dependencies used for
on-the-fly processing
Return: [dependency, dependency class, dependency name]
- uptodate(self, date_time=None, template=None, switches=None, advanced=None)
- This method checks if the object is up-to-date, for the given datetime.
OnTheFly_uptodate class has the functionality for checking uptodate
Class methods inherited from astro.main.OnTheFly.OnTheFly:
- exist(cls, date_time=None, chip=None, filter=None, object_id=None, parent=None, parent_attr=None, template=None, extra=[], advanced=None, switches=None) from common.database.DBMeta.DBObjectMeta
- for the given parameters and class return the most
recent object(s), or None
- get_onthefly(cls, date_time=None, filter=None, chip=None, object_id=None, advanced=None, switches=None, template=None, parent=None, parent_attr=None) from common.database.DBMeta.DBObjectMeta
- For the given parameters and class get the object,
if the object does not exist -> make it.
This is done recursively for all dependencies.
The object can only be made if there are raws
|
class DarkCurrentParameters(common.database.DBMain.DBObject) |
| |
Processing parameters for DarkCurrent objects |
| |
- Method resolution order:
- DarkCurrentParameters
- common.database.DBMain.DBObject
- __builtin__.object
Data descriptors defined here:
- DETECTION_THRESHOLD
- The detection threshold for cosmic ray events [None]
- MAXIMUM_DARK_CURRENT
- QC: The maximum dark current [ADU / pixel / hour]
- MAXIMUM_DARK_CURRENT_DIFFERENCE
- QC: Maximum difference of dark_current w.r.t previous DarkCurrent object [None]
- MAXIMUM_ITERATIONS
- The maximum number of iterations [None]
- OVERSCAN_CORRECTION
- Overscan correction method index [None]
- REJECTION_THRESHOLD
- The threshold rejecting outlying pixels [None]
- object_id
- The object identifier
The object identifier is an attribute shared by all persistent
instances. It is the prime key, by which object identity is established
Methods inherited from common.database.DBMain.DBObject:
- __del__(self)
- Destructor for the DBObject
This destructor is called by the garbage collector for the transient
part of the DBObject. When it is called it calls the gc_transient()
method of the DBProxy implementation. The implementation of the
gc_transient() method can then decide what to do with the persistent
counterpart.
E.g. the database can be synchronized with its transient counterpart.
Another possibility is that the gc_transient() implementation checks
whether any attributes of a read-only object have changed since an
object was fetched from the database. If there are differences an
exception can be raised.
- __reduce__(self)
- Method necessary to create picklable objects
This mehod return a tuple containg a function object used for
unpickling and a picklable state tuple, to be used as argument
to the unpickle function. If necessary this object is registered
in the pickle cache
- as_dict(self, seqnr=1, dependency_name='', dictionary={}, allow_lazy_typed_list=False)
- Method much like the info method, but returns a dictionary.
Dictionary looks like:
{'<classname>.<property1_name>.<property2_name>': value,
'<classname>.<property2_name>.<property3_name>': value}
Problem: infinite loops for cold/flat dependencies. It seems a maximum
recursion depth limits the problem.
- commit(self)
- Commits object including objects that are referenced and have been changed.
If this object refers to other persistent object a commit() ensures that
1. ALL changes to the object and referred objects are made persistent.
2. NONE of the changed object and referred objects are made persistent.
Under normal circumstances only the first thing should ever happen.
If the second case occurs it is almost certainly because of some bug in
the routine that implements the DBProxy interface.
- get_creator(self)
- Returns the name of the user who created this object.
- get_persistent(self)
- get_project(self)
- Returns the name of the project to which this object belongs.
- info(self, level=0, doc=False, _indent=0, _printclass=True)
- Print the values of all persistent properties of the object.
level : level of introspection
doc : display docstrings for attributes
_indent : internal parameter used for formatting
_printclass : internal parameter used for formatting
- inverse_objects(self, max_results=100)
- Iterate through and return all objects that use the current object
max_results The maximum number of objects returned per query
- inverse_query(self)
- go through all inverse properties to see if this object is used
- persists(self)
- Returns whether an object is already made persistent or transient.
- recommit(self)
- Commits changes to an object, without following links.
Class methods inherited from common.database.DBMain.DBObject:
- get_inverse_properties(cls, props=None) from common.database.DBMeta.DBObjectMeta
- return all inverse properties
that are all the properties that point to this class
Data descriptors inherited from common.database.DBMain.DBObject:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
Data and other attributes inherited from common.database.DBMain.DBObject:
- __metaclass__ = <class 'common.database.DBMeta.DBObjectMeta'>
- This is the metaclass for persistent classes
Provides:
__new__ -- manages class construction
__call__ -- manages object instantiation
- database = <common.database.DBOracle.DBProxy instance at 0x12eff38>
- pickle_id = None
| |