astro.main.ModifiedFrame
index
/astro-wise/AWEHOME/AWBASE/astro/main/ModifiedFrame.py

modified versions of ReducedScienceFrame, RegriddedFrame,
CoaddedRegriddedFrame
 
This module defines the following classes:
 
ReducedScienceFrameMod
RegriddedFrameMod
CoaddedRegriddedFrameMod
 
These classes are intended to allow one to perform various operations on the
image of e.g. a ReducedScienceFrame (subtraction, convolution etc.) and then
store that image and use it as if it were a ReducedScienceFrame. The modified
frames are not used by default when a RegriddedFrame or CoaddedRegriddedFrame
is made.
 
Since e.g. ReducedScienceFrame can potentially change,
ReducedScienceFrameMod must change accordingly and automatically.
Therefore the classes are dynamically defined here. To this end the following
function is used:
 
>>> from new import classobj

 
Classes
       
astro.main.BaseFrame.BaseFrame(common.database.DataObject.DataObject, astro.main.ProcessTarget.ProcessTarget)
ReducedScienceFrameMod(astro.main.BaseFrame.BaseFrame, ModifiedFrame)
ModifiedFrame
CoaddedRegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)
ReducedScienceFrameMod(astro.main.BaseFrame.BaseFrame, ModifiedFrame)
RegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)
astro.main.RegriddedFrame.RegriddedBaseFrame(astro.main.BaseFrame.BaseFrame)
CoaddedRegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)
RegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)

 
class CoaddedRegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)
    This class is intended to coadd RegriddedFrames and/or CoaddedFrames
and/or CoaddedRegriddedFrames.  This process can not be done in
parallel: all pixel data needs to be available on a single machine.
However, the inputs for this class must always have been regridded to
the same grid, in which case the pixels need only be added
 
 
Method resolution order:
CoaddedRegriddedFrameMod
astro.main.RegriddedFrame.RegriddedBaseFrame
astro.main.BaseFrame.BaseFrame
common.database.DataObject.DataObject
common.database.DBMain.DBObject
astro.main.ProcessTarget.ProcessTarget
common.database.DBMeta.DBMixin
__builtin__.object
astro.main.OnTheFly.OnTheFly
ModifiedFrame

Methods defined here:
__init__(self, pathname='')
after_set_onthefly_dependencies(self, switches, advanced)
after the regridded frames are set in set_onthefly_dependencies 
check for grid targets
as_dict(self, seqnr=1, dependency_name='', dictionary={}, allow_lazy_typed_list=True)
Polymorphs the DObject.as_dict method. The DBObject method skips any
lazy typed list dependencies, but for CoaddedRegriddedFrame this limit
is lifted (allow_lazy_typed_list=True) so all input RegriddedFrames'
properties are returned.
check_preconditions(self)
In particular: the grid targets of all input frames have to be equal.
compare_regrid_residuals(self, detect_thresh=None, filter_stellar=True, inter_color_tol=1.0, filter_closest=False, use_coadd=False)
Compare the residual difference between all RegriddedFrames used
to create this CoaddedRegriddedFrame and set
self.regrid_residuals_data to the output of this comparison.  The
name of the residulas catalog written is set in
self.regrid_residuals.
 
  detect_thresh: SExtractor DETECT_THRESH value (None defaults to
                 value in self.astrom_params.sexconf)
 filter_stellar: filter out most non-stellar sources from input
                 catalogs prior to association
inter_color_tol: LDAC.associate INTER_COLOR_TOL value
 filter_closest: toggle filtering of closest pairs when creating
                 residuals catalog (does not affect existing
                 catalogs)
      use_coadd: take the residuals with respect to the average
                 positions as extracted from this coadd
copy_attributes(self)
derive_objectname(self)
derive the object (names) from the regridded frames
derive_psf_radii_per_ccd(self)
get_canonical_name(self)
Generate the unique filename for this CoaddedRegriddedFrame.
get_canonical_name_for_swarpweight(self)
Generate the unique filename for the associated WeightFrame produced
by Swarp.
get_default_config(self)
return the config parameters that differ from the default, 
that are set in the constructor
get_fixed_config(self)
return the config parameters that are fixed by the class,
that are set in the make
get_previous_version(self, level=0)
Return previous version of this object.  If it does not exist,
return None.
 
  level: depth of query for previous version (0 goes as deep as
         possible)
group_regridded_frames_by_ccd(self)
Returns a list of lists containing the input regriddedframes grouped
by CCD.
inspect_psf(self)
End-to-end quality control, which compares the CoaddedRegriddedFrame
with associated input ReducedScienceFrames. (Re-)Calculate the exposure
time weighted average of the psf_radius values of the
ReducedScienceFrames and compares with the psf_radii_per_ccd attribute
of the CoaddedRegriddedFrame on a per CCD basis.
 
This plot could be defined in a separate class
make(self)
Make a coadded, regridded frame.
 
Dependencies:
   regridded_frames -- a list of RegriddedBaseFrame objects
make_psf_end_to_end_dict(self)
plot_regrid_residuals(self, filename='', detect_thresh=None, filter_stellar=True, inter_color_tol=1.0, filter_closest=True, use_coadd=False, kappa=3.0, range=None, domain=None, verbose=2)
Plot the residual difference between all RegriddedFrames used to
create this CoaddedRegriddedFrame.
 
       filename: name of file to save plot to (must end in 'png',
                 'ps', or 'eps')
  detect_thresh: SExtractor DETECT_THRESH value (None defaults to
                 value in self.astrom_params.sexconf)
 filter_stellar: filter out most non-stellar sources from input
                 catalogs prior to association
inter_color_tol: LDAC.associate INTER_COLOR_TOL value
 filter_closest: toggle filtering of closest pairs when creating
                 residuals catalog (does not affect existing
                 catalogs)
      use_coadd: take the residuals with respect to the average
                 positions as extracted from this coadd
          kappa: the kappa with respect to RMS to clip outliers
                 from the plotted data
          range: a tuple defining (xmin, xmax) of DRA,
                 overriding automatic width determination (does
                 not affect RA, DEC, Xpos, Ypos)
         domain: a tuple defining (ymin, ymax) of DDEC,
                 overriding automatic height determination (does
                 not affect RA, DEC, Xpos, Ypos)
        verbose: set the verbosity of the plotting routines
run_swarp(self)
set_weight_attribute(self)
Besides the regridded frame, Swarp produces an associated weight frame.
This weight frame needs to be stored for future use. Therefore, the
"weight" attribute of the RegriddedFrame object is set up to receive this
associated weight frame.
store(self, full=None)
verify(self)
Group the input regridded frames by CCD, then check the overlap
fraction for one CCD. Assuming this is the same for all CCDs, only
proceed if the overlap fraction is >70%.
 
Per CCD, for each input RegriddedFrame, calculate the region visible in
the associated ReducedScienceFrame. Average (with exposure time
weighting) the PSF of those ReducedScienceFrames and compare to the PSF
of the region in the CoaddedRegriddedFrame subtended by the
ReducedScienceFrames. This constitutes an end-to-end check of the image
pipeline.

Data descriptors defined here:
GFID
GalFitModel identifier of the model used to subtract
GPID
GalPhotModel identifier of the model used to subtract
NAXIS1
Length of data in axis 1 [pixel]
NAXIS2
Length of data in axis 2 [pixel]
OBJECT
Object name [None]
ZEROPNT
Zeropoint of this image [mag]
ZPNTERR
Zeropoint error [mag]
astrom
Information about the astrometry [None]
ccds
The CCD names of which input is present in the CoaddedRegriddedFrame [None]
coadd
Link to CoaddedRegriddedFrame that was modified
conv
Link to for example a PSFImage used for convolution
creation_date
Date this object was created [None]
filename
The name of the associated file [None]
filter
Information about the filter [None]
globalname
The name used to store and retrieve file to and from Storage [None]
grid_target
The GridTarget object for the regridding operation [None]
imstat
Image statistics for the frame [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]
process_params
Processing parameters [None]
process_status
A flag indicating the processing status [None]
psf_radii_per_ccd
Stellar FWHM in subsections of the coadd [arcsec]
psf_radius
Seeing FWHM [arcsec]
quality_flags
Automatic/internal quality flag [None]
regridded_frames
A RegriddedBaseFrame object [None]
swarpconf
The Swarp configuration file [None]
template
Information about the template [None]
weight
The regridded WeightFrame object [None]

Data and other attributes defined here:
PROCESS_TIME = 30
mandatory_dependencies = (('regridded_frames', 1),)

Methods inherited from astro.main.RegriddedFrame.RegriddedBaseFrame:
__del__(self)
Remove intermediate result, if present
derive_psf_radius(self)
This method derives the median stellar FWHM, which is used in quality
control.
derive_timestamp(self)
get_fluxscale(self)
Use this method to calculate the gain.
 
S = counts * get_fluxscale()
get_overlap_region(self, other)
Return a dictionary of the overlapping region of two
RegriddedBaseFrames which have the same grid target (i.e. that are
regridded to the same grid).
 
Returns:
  overlap = {self : [xmin1, xmax1, ymin1, ymax1],
             other: [xmin2, xmax2, ymin2, ymax2]}
 
   where the keys "self" and "other" in the dictionary are
   RegriddedBaseFrame instances.
get_zeropoint(self)
This method is used to calculate the zeropoint.
 
Magnitude = -2.5*log10(counts) + get_zeropoint().
make_psf_catalog(self)
This catalog is required to determine a median stellar FWHM from,
which is used as a quality control measure.
make_swarp_config(self)
Set the fixed swarp parameters
set_astrom_attribute(self)
write_new_image_header(self, filename='')

Data descriptors inherited from astro.main.RegriddedFrame.RegriddedBaseFrame:
PSF_DIFFERENCE_TOO_HIGH

Methods inherited from astro.main.BaseFrame.BaseFrame:
build_header(self)
Fill a default header with values from descriptors
commit_subwinstat(self)
Conditionally commit subwindow statistics
display(self, viewer='skycat', filename=None)
Independent display method for all frames.
empty_header(self)
Initalize to a default (empty) header
estimate_statistics(self, pixmap=None, zone=None, max_iter=5, threshold=5.0)
Estimate the mean, median and stddev, by iteratively excluding
pixelvalues deviating too far from the median
 
Arguments:
   pixmap     -- optional map for bad pixels (default=None)
   zone       -- optional region (x0, y0, x1, y1) (default=None)
   max_iter   -- The maximum number of iterations
   sig_thresh -- The threshold in number of standard deviations
initialize_astrom_attribute(self)
initialize_chip_attribute(self)
initialize_filter_attribute(self)
initialize_imstat_attribute(self)
initialize_instrument_attribute(self)
initialize_lamp_attribute(self)
initialize_observingblock_attribute(self)
initialize_template_attribute(self)
inspect(self, pixels=None, zone=None, kappa=3.0, iterations=2, cmap=None, vmin=None, vmax=None, interpolation='lanczos', width=6, ratio=None, viewer='skycat', force_figure=False, force_viewer=False, subplot_size=50, contour_levels=20, num_bins=100, extension=None, compare=False, level=0, other=None, clip=False, color=False)
Optional visual inspection for quality control displays image in a
PyLab (MatPlotLib) window or optionally in an external viewer.
 
        pixels: optional list or array representing the image to be
                inspected (can be MxN for greyscale, or MxNx3 for RGB)
          zone: tuple of (x0, y0, x1, y1) representing the image
                coordinates of the two oposing corners of the sub
                image to consider
         kappa: the factor by which the dynamic range is increased in
                units of sigma (0 gives full range)
    iterations: number of iterations in the kappa-sigma range clipping
          cmap: PyLab color map instance
          vmin: lower display range in native units (e.g. ADU)
          vmax: upper display range in native units (e.g. ADU)
 interpolation: type of interpolation the PyLab viewer uses (nearest,
                bilinear, etc.)
         width: width of the PyLab figure window (in inches)
         ratio: ratio by which to scale the figure height (default:
                x_dim/y_dim)
        viewer: external viewer to use in case the image is too large
  force_figure: always use the PyLab figure window (Be Careful!
                Statistics calculations on large images can be very
                time and memory consuming.)
  force_viewer: always use the viewer
  subplot_size: width and height in pixels of region of interest
contour_levels: number of contour levels for the contour plot of the
                region of interest
      num_bins: number of bins in the histogram plot
     extension: extension of the filetype to save plot to (png, ps,
                or eps) None disables saving
       compare: compare this frame to its previous version using
                difference imaging (current-previous), pixels is
                ignored
         level: depth of query for previous version (0 goes as deep
                as possible) when compare is True
         other: a second of the same type of Frame object to replace
                previous when compare is True (if color is True,
                other can be a list of two images)
          clip: kappa-sigma clip each image prior to subtraction when
                compare is True
         color: use color combining (RGB) instead of differencing
                when compare is True (kappa, vmin/vmax only honored
                when clip is True), this image is R, other is B if
                single, other is [G, B] if it is a list
                (EXPERIMENTAL)
 
When force_viewer is False, inspect() displays basic image
statistics (mean, stddev) and then a representation of the image
that can be zoomed and panned.  Pressing various keys will give
different results described below in a region of interest described
by subplot_size:
 
      q - closes the most recent plot window when pressed in the
          main window
[space] - displays the X and Y coordinate (FITS standard unit
          indexed) and the count level
      a - performs aperture photometry on brightest feature in the
          region of interest (NOT YET IMPLEMENTED)
      c - displays a contour plot of the region of interest (see
          contour_levels)
      h - displays a histogram of the pixel values of the region of
          interest (see num_bins)
      r - displays a radial plot of the brightest feature in the
          region of interest
      s - displays a surface plot of the region of interest
      p - displays profile plots in both X and Y dimensions versus
          intensity (count level)
 
NOTE: None of the commands above work in the subplots.
is_compressed(self)
Find out if a FITS file is compressed
load_header(self)
Initialize self.header
load_image(self, readonly=0)
Initialize self.image.
make_background(self)
Make a background image,
 
Returns a new BaseFrame object. The name of the new file is
"name.back.fits"
make_subwinstat(self)
Compute statistics on subwindows
read_header(self)
Read a header into descriptors.
 
The descriptor is assumed to include a number of all caps
attributes that map directly to FITS header keywords. In
addition, if any of the following attributes are present, this
routine will initialize those attributes.
 
Initialized attributes: instrument, chip, filter, lamp, imstat,
astrom, observing_block, template
retrieve(self)
Retrieve this frame from the data server and uncompress it if it has
been compressed with FITSIO.
save(self, filename='', overwrite=1)
statistics(self, pixmap=None, zone=None)
Compute statistics and store in self.imstat.
 
Arguments:
   pixmap -- optional pixelmap object         (default=None)
   zone   -- optional region (x0, y0, x1, y1) (default=None)
update_header(self)
Update a header with values from descriptors
update_history(self)
Update a header with history
 
History is maintained in the instance attribute
history. History is written by appending string to the history
list.

Methods inherited from common.database.DataObject.DataObject:
FileName(self)
Return the pathame of the object
Name(self)
Return the name of the object
check_mandatory_dependencies(self)
check if all the mandatory dependencies are set
commit(self)
derive_hash(self)
Apply hashing function to the contents of the file that is part of
this object.
 
The SHA hashing function is used to calculate a hash value of the
contents of this DataObject. The hash value is returned as a
hexadecimal string.
distinct(self, param_list)
This method returns the distinct values from an input list. The
current implementation is kinda cheesy.
exists(self)
Test is the file existsts
get_pathname(self)
Getter for pathname
is_on_dataserver(self)
Checks if file is accessable on the dataserver.
 
NOTE: A return of False does NOT imply the file is not on any
      dataserver!  It is simply not on any accessable
      dataserver.
is_stored(self)
locate(self)
See common/net/dataserver_client.py (Data_IO.locate).
 
Returns a list of strings describing all dataservers where the file is
located as well as a few properties of the file, i.e.
 ['ip=...,port=...,path=...,size=...,mdate=...,
  'ip=...,port=...,path=?,size=?,mdate=?']
 
Question marks indicate that this dataserver is not reachable.
name_insert_suffix(self, suffix)
name_replace_suffix(self, suffix)
name_with_new_suffix(self, suffix)
release(self)
set_filename(self, pathname=None, processlevel='')
Specify a filename for this DataObject or use the default filename.
 
This method is used to set the filename attribute of a DataObject.
If called without a filename, the filename is set to the canonical name.
Classes that are derived from DataObject are expected to define a
method get_canonical_name() that returns the name for an instance
of that class. This is mandatory for CalFiles (or files that are
store()d on the data server) and optional for other files.
set_pathname(self, pathname)
Setter for pathname
set_process_parameters_from_dict(self, pars={})
pars is a dictionary of the type e.g.:
{'BiasFrame.process_params.SIGMA_CLIP':8}
set_stored(self)
set_user_config(self, pars={})
store_with_hash_as_name(self, prefix='', suffix='fits')
Name the file after the hash value of the file and store it.
 
First the hash value of the file is calculated. The pathname of the
dataobject is renamed to the hash value with the given suffix appended.
Then the file is stored.

Class methods inherited from common.database.DataObject.DataObject:
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

Data descriptors inherited from common.database.DataObject.DataObject:
pathname

Data and other attributes inherited from common.database.DataObject.DataObject:
filepath = './'
localname = ''
storage = <common.net.dataserver_client.Storage at 0x11ceef0>

Methods inherited from common.database.DBMain.DBObject:
__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
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 0xe178c0>
pickle_id = None

Methods inherited from astro.main.ProcessTarget.ProcessTarget:
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
compare(self)
Quality Control -- basic trend analysis
 
The compare() method is used for default trend analysis. This
is done by comparing with a previous version of the same
object (last weeks bias, for example). This may be as simple
as comparing attribute values, but may also involve more
complex computations (e.g., subtracting the two images, and
analysing the residuals)
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).
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_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.
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

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_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

Methods inherited from ModifiedFrame:
copy_attributes_from_original(self, orig)
subtract_model(self, model, orig)
update_for_modification(self)

 
class ModifiedFrame
     Methods defined here:
copy_attributes_from_original(self, orig)
subtract_model(self, model, orig)
update_for_modification(self)

 
class ReducedScienceFrameMod(astro.main.BaseFrame.BaseFrame, ModifiedFrame)
    A trimmed, de-biased, flat-fielded and, depending on filter, de-fringed,
science image for one CCD. An illumination correction is also applied when
given as input.
 
 
Method resolution order:
ReducedScienceFrameMod
astro.main.BaseFrame.BaseFrame
common.database.DataObject.DataObject
common.database.DBMain.DBObject
astro.main.ProcessTarget.ProcessTarget
common.database.DBMeta.DBMixin
__builtin__.object
astro.main.OnTheFly.OnTheFly
ModifiedFrame

Methods defined here:
__init__(self, pathname='')
apply_fringe_correction(self)
apply_illumination_correction(self)
check_preconditions(self)
copy_attributes(self)
correct_for_overscan_and_trim_frame(self)
create_master_pixelmap(self)
debias_and_flatfield_frame(self)
derive_psf_radius(self)
derive_timestamp(self)
derive_weights(self)
get_airmass(self)
Accessor for effective airmass. This method should be used to
compute the airmass
get_astrometry(self)
Query the database for the most recent valid astrometric solution
for this frame.
get_bounding_box(self)
Get the minimum and maximum of RA and DEC spanned by the image
 
returns min(ra), max(ra), min(dec), max(dec)
get_canonical_name(self)
Generate the unique filename for this ReducedScienceFrame.
get_canonical_name_for_weight(self)
Generate the unique filename for the associated WeightFrame.
get_cosmic_map(self)
get_fringemap_scale_factor(self)
Method for obtaining the scale factor of the fringemap.
 
Requires:
    fringe -- The FringeFrame object
    saturated -- A SaturatedPixelMap object 
    hot -- A HotPixelMap object
    cold -- A ColdPixelMap object
 
This method calculates and returns the scale factor a for which
sigma(ReducedScienceFrame - a*FringeFrame) is minimal. This is done by
equating the derivative of this expression w.r.t. a to zero and solving
for a. Some pixels are excluded (by sigma thresholding) in the
determination of the necessary statistics.
 
Parameters:
    IMAGE_THRESHOLD       -- Only include pixels for which the image
                             data contains probably no objects
                             (abs(image-median(image))<IMAGE_THRESHOLD)
    FRINGE_THRESHOLD_LOW  -- Only include pixels that have significant
                             fringing
                             (abs(fringe)>FRINGE_THRESHOLD_LOW)
    FRINGE_THRESHOLD_HIGH -- Do not include pixels with excessive
                             fringing
                             (abs(fringe)<FRINGE_THRESHOLD_HIGH)
get_gain(self)
Returns the value of the gain for the CCD of this
ReducedScienceFrame.
 
Queries the database for the most recent valid GainLinearity object.
get_overlap_region(self, other)
----------------------------- NOTE -----------------------------------
This method does not work accurately (that is to say, up to 1 pixel
accuracy, which is the best one can do without resampling),
because the PV matrix present in the AstrometricParameters is not
correctly handled in the projections. Even WCSLib does not handle the
PV matrix.
---------------------------- END NOTE --------------------------------
 
Return a dictionary of the overlapping region of two
ReducedScienceFrames. Note that this overlap is by definition
inaccurate; cutouts are only made of integer pixels.
 
Returns:
  overlap = {self : [xmin1, xmax1, ymin1, ymax1],
             other: [xmin2, xmax2, ymin2, ymax2]}
 
   where the keys "self" and "other" in the dictionary are
   ReducedScienceFrame instances.
get_readnoise(self)
Returns the value of the readnoise for the CCD of this
ReducedScienceFrame.
 
Queries the database for the most recent valid ReadNoise object.
get_satellite_map(self)
get_saturatedpixel_map(self)
get_zeropoint(self)
Returns a tuple of (zeropoint, zeropnt_err).
 
Queries the database for the most recent valid PhotometricParameters
object for this ReducedScienceFrame. The zeropoint present in the
PhotometricParameters object is corrected for the observation time and
airmass of this particular ReducedScienceFrame.
make(self)
Reduce a raw science frame.
 
Requires:
    raw  -- a RawScienceFrame object
    flat -- a MasterFlatFrame object
    bias -- a BiasFrame object
    hot  -- a HotPixelMap object
    cold -- a ColdPixelMap object
 
Optional:
    illumination -- an IlluminationCorrectionFrame object
    fringe -- a FringeFrame object
retrieve(self, full=None)
store(self, store_weight=True, compress_weight=True)
update_astrometry_of_file(self, astrom_params=None, filename='')
Updates the astrometry of this ReducedScienceFrame with either
the specified astrometric solution or the most recent one found in the
database for this frame. The result can be written to a different file
if "filename" is specified.

Class methods defined here:
select(cls, **searchterms) from common.database.DBMeta.DBObjectMeta
Polymorphs the standard select() found in ProcessTarget (it is
extended by adding a filter to remove older ReducedScienceFrames
derived from the same RawScienceFrame).

Data descriptors defined here:
AIRMEND
Airmass at end of observation [None]
AIRMSTRT
Airmass at start of observation [None]
DATE
UTC date the original data file was saved [None]
DATE_OBS
UTC date at the start of the observation [None]
EXPTIME
Total observation time [sec]
GFID
GalFitModel identifier of the model used to subtract
GPID
GalPhotModel identifier of the model used to subtract
NAXIS1
Length of data in axis 1 [pixel]
NAXIS2
Length of data in axis 2 [pixel]
OBJECT
Object name [None]
astrom
Information about the astrometry [None]
bias
A BiasFrame object [None]
chip
Information about the chip [None]
cold
A ColdPixelMap object [None]
conv
Link to for example a PSFImage used for convolution
creation_date
Date this object was created [None]
filename
The name of the associated file [None]
filter
Information about the filter [None]
flat
A MasterFlatFrame object [None]
fringe
A FringeFrame object [None]
globalname
The name used to store and retrieve file to and from Storage [None]
hot
A HotPixelMap object [None]
illumination
An IlluminationCorrection object [None]
imstat
Image statistics for the frame [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]
process_params
Processing parameters [None]
process_status
A flag indicating the processing status [None]
psf_radius
Stellar Full Width at Half Maximum (FWHM) [arcsec]
quality_flags
Automatic/internal quality flag [None]
raw
A RawScienceFrame object [None]
reduced
Link to ReducedScienceFrame that was modified
scale_factor
The de-fringing scale-factor [None]
template
Information about the template [None]
weight
The WeightFrame associated with this frame [None]

Data and other attributes defined here:
PROCESS_TIME = 90
mandatory_dependencies = (('raw', 1), ('bias', 1), ('flat', 1), ('hot', 1), ('cold', 1))

Methods inherited from astro.main.BaseFrame.BaseFrame:
build_header(self)
Fill a default header with values from descriptors
commit_subwinstat(self)
Conditionally commit subwindow statistics
display(self, viewer='skycat', filename=None)
Independent display method for all frames.
empty_header(self)
Initalize to a default (empty) header
estimate_statistics(self, pixmap=None, zone=None, max_iter=5, threshold=5.0)
Estimate the mean, median and stddev, by iteratively excluding
pixelvalues deviating too far from the median
 
Arguments:
   pixmap     -- optional map for bad pixels (default=None)
   zone       -- optional region (x0, y0, x1, y1) (default=None)
   max_iter   -- The maximum number of iterations
   sig_thresh -- The threshold in number of standard deviations
get_previous_version(self, level=0)
Return previous version of this object.  If it does not exist,
return None.
 
  level: depth of query for previous version (0 goes as deep as
         possible)
initialize_astrom_attribute(self)
initialize_chip_attribute(self)
initialize_filter_attribute(self)
initialize_imstat_attribute(self)
initialize_instrument_attribute(self)
initialize_lamp_attribute(self)
initialize_observingblock_attribute(self)
initialize_template_attribute(self)
inspect(self, pixels=None, zone=None, kappa=3.0, iterations=2, cmap=None, vmin=None, vmax=None, interpolation='lanczos', width=6, ratio=None, viewer='skycat', force_figure=False, force_viewer=False, subplot_size=50, contour_levels=20, num_bins=100, extension=None, compare=False, level=0, other=None, clip=False, color=False)
Optional visual inspection for quality control displays image in a
PyLab (MatPlotLib) window or optionally in an external viewer.
 
        pixels: optional list or array representing the image to be
                inspected (can be MxN for greyscale, or MxNx3 for RGB)
          zone: tuple of (x0, y0, x1, y1) representing the image
                coordinates of the two oposing corners of the sub
                image to consider
         kappa: the factor by which the dynamic range is increased in
                units of sigma (0 gives full range)
    iterations: number of iterations in the kappa-sigma range clipping
          cmap: PyLab color map instance
          vmin: lower display range in native units (e.g. ADU)
          vmax: upper display range in native units (e.g. ADU)
 interpolation: type of interpolation the PyLab viewer uses (nearest,
                bilinear, etc.)
         width: width of the PyLab figure window (in inches)
         ratio: ratio by which to scale the figure height (default:
                x_dim/y_dim)
        viewer: external viewer to use in case the image is too large
  force_figure: always use the PyLab figure window (Be Careful!
                Statistics calculations on large images can be very
                time and memory consuming.)
  force_viewer: always use the viewer
  subplot_size: width and height in pixels of region of interest
contour_levels: number of contour levels for the contour plot of the
                region of interest
      num_bins: number of bins in the histogram plot
     extension: extension of the filetype to save plot to (png, ps,
                or eps) None disables saving
       compare: compare this frame to its previous version using
                difference imaging (current-previous), pixels is
                ignored
         level: depth of query for previous version (0 goes as deep
                as possible) when compare is True
         other: a second of the same type of Frame object to replace
                previous when compare is True (if color is True,
                other can be a list of two images)
          clip: kappa-sigma clip each image prior to subtraction when
                compare is True
         color: use color combining (RGB) instead of differencing
                when compare is True (kappa, vmin/vmax only honored
                when clip is True), this image is R, other is B if
                single, other is [G, B] if it is a list
                (EXPERIMENTAL)
 
When force_viewer is False, inspect() displays basic image
statistics (mean, stddev) and then a representation of the image
that can be zoomed and panned.  Pressing various keys will give
different results described below in a region of interest described
by subplot_size:
 
      q - closes the most recent plot window when pressed in the
          main window
[space] - displays the X and Y coordinate (FITS standard unit
          indexed) and the count level
      a - performs aperture photometry on brightest feature in the
          region of interest (NOT YET IMPLEMENTED)
      c - displays a contour plot of the region of interest (see
          contour_levels)
      h - displays a histogram of the pixel values of the region of
          interest (see num_bins)
      r - displays a radial plot of the brightest feature in the
          region of interest
      s - displays a surface plot of the region of interest
      p - displays profile plots in both X and Y dimensions versus
          intensity (count level)
 
NOTE: None of the commands above work in the subplots.
is_compressed(self)
Find out if a FITS file is compressed
load_header(self)
Initialize self.header
load_image(self, readonly=0)
Initialize self.image.
make_background(self)
Make a background image,
 
Returns a new BaseFrame object. The name of the new file is
"name.back.fits"
make_subwinstat(self)
Compute statistics on subwindows
read_header(self)
Read a header into descriptors.
 
The descriptor is assumed to include a number of all caps
attributes that map directly to FITS header keywords. In
addition, if any of the following attributes are present, this
routine will initialize those attributes.
 
Initialized attributes: instrument, chip, filter, lamp, imstat,
astrom, observing_block, template
save(self, filename='', overwrite=1)
statistics(self, pixmap=None, zone=None)
Compute statistics and store in self.imstat.
 
Arguments:
   pixmap -- optional pixelmap object         (default=None)
   zone   -- optional region (x0, y0, x1, y1) (default=None)
update_header(self)
Update a header with values from descriptors
update_history(self)
Update a header with history
 
History is maintained in the instance attribute
history. History is written by appending string to the history
list.

Methods inherited from common.database.DataObject.DataObject:
FileName(self)
Return the pathame of the object
Name(self)
Return the name of the object
check_mandatory_dependencies(self)
check if all the mandatory dependencies are set
commit(self)
derive_hash(self)
Apply hashing function to the contents of the file that is part of
this object.
 
The SHA hashing function is used to calculate a hash value of the
contents of this DataObject. The hash value is returned as a
hexadecimal string.
distinct(self, param_list)
This method returns the distinct values from an input list. The
current implementation is kinda cheesy.
exists(self)
Test is the file existsts
get_pathname(self)
Getter for pathname
is_on_dataserver(self)
Checks if file is accessable on the dataserver.
 
NOTE: A return of False does NOT imply the file is not on any
      dataserver!  It is simply not on any accessable
      dataserver.
is_stored(self)
locate(self)
See common/net/dataserver_client.py (Data_IO.locate).
 
Returns a list of strings describing all dataservers where the file is
located as well as a few properties of the file, i.e.
 ['ip=...,port=...,path=...,size=...,mdate=...,
  'ip=...,port=...,path=?,size=?,mdate=?']
 
Question marks indicate that this dataserver is not reachable.
name_insert_suffix(self, suffix)
name_replace_suffix(self, suffix)
name_with_new_suffix(self, suffix)
release(self)
set_filename(self, pathname=None, processlevel='')
Specify a filename for this DataObject or use the default filename.
 
This method is used to set the filename attribute of a DataObject.
If called without a filename, the filename is set to the canonical name.
Classes that are derived from DataObject are expected to define a
method get_canonical_name() that returns the name for an instance
of that class. This is mandatory for CalFiles (or files that are
store()d on the data server) and optional for other files.
set_pathname(self, pathname)
Setter for pathname
set_process_parameters_from_dict(self, pars={})
pars is a dictionary of the type e.g.:
{'BiasFrame.process_params.SIGMA_CLIP':8}
set_stored(self)
set_user_config(self, pars={})
store_with_hash_as_name(self, prefix='', suffix='fits')
Name the file after the hash value of the file and store it.
 
First the hash value of the file is calculated. The pathname of the
dataobject is renamed to the hash value with the given suffix appended.
Then the file is stored.

Class methods inherited from common.database.DataObject.DataObject:
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

Data descriptors inherited from common.database.DataObject.DataObject:
pathname

Data and other attributes inherited from common.database.DataObject.DataObject:
filepath = './'
localname = ''
storage = <common.net.dataserver_client.Storage at 0x11ceef0>

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.
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 0xe178c0>
pickle_id = None

Methods inherited from astro.main.ProcessTarget.ProcessTarget:
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
compare(self)
Quality Control -- basic trend analysis
 
The compare() method is used for default trend analysis. This
is done by comparing with a previous version of the same
object (last weeks bias, for example). This may be as simple
as comparing attribute values, but may also involve more
complex computations (e.g., subtracting the two images, and
analysing the residuals)
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).
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_verified(self)
Set the process status to indicate that the object has been
verified.
verify(self)
Quality Control -- internal consistency
 
This method inspects the values of various attributes of the
object to see if these are within the expected range for that
object. The purpose of this method is mostly to perform
sanity-checks on measured results. It is assumed that the
required measurements (for example image statistics) are done
during data reduction (i.e. while executing make()), and stored
in persistent attributes.

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

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

Methods inherited from ModifiedFrame:
copy_attributes_from_original(self, orig)
subtract_model(self, model, orig)
update_for_modification(self)

 
class RegriddedFrameMod(astro.main.RegriddedFrame.RegriddedBaseFrame, ModifiedFrame)
    A single regridded frame.
 
This class is intended to produce regridded frames which can subsequently be
coadded into a CoaddedRegriddedFrame object.
 
 
Method resolution order:
RegriddedFrameMod
astro.main.RegriddedFrame.RegriddedBaseFrame
astro.main.BaseFrame.BaseFrame
common.database.DataObject.DataObject
common.database.DBMain.DBObject
astro.main.ProcessTarget.ProcessTarget
common.database.DBMeta.DBMixin
__builtin__.object
astro.main.OnTheFly.OnTheFly
ModifiedFrame

Methods defined here:
__del__(self)
__init__(self, pathname='')
check_preconditions(self)
copy_attributes(self)
get_astrometry(self)
get_bounding_box_of_reduced(self)
get_canonical_name(self)
Generate the unique filename for this RegriddedFrame.
get_canonical_name_for_swarpweight(self)
Generate the unique filename for the associated WeightFrame produced
by Swarp.
get_default_config(self)
return the config parameters that differ from the default, 
that are set in the constructor
get_fixed_config(self)
return the config parameters that are fixed by the class,
that are set in the make
get_gain(self)
get_gridtarget(self)
get_photometry(self)
get_previous_version(self, level=0)
Return previous version of this object.  If it does not exist,
return None.
 
  level: depth of query for previous version (0 goes as deep as
         possible)
get_readnoise(self)
get_zeropoint(self)
make(self)
Make a regridded frame.
 
Requires:
    grid_target   -- a GridTarget object
    reduced       -- a ReducedScienceFrame object
    gain          -- a GainLinearity object
    astrom_params -- an AstrometricParameters object
    photom_params -- a PhotometricParameters object
 
This method regrids a frame and its associated weight. The regridded
associated weight is then assigned to the "weight" attribute of the
RegriddedFrame object.
read_header(self)
Extends the read_header method of BaseFrame as inherited from
RegriddedBaseFrame. The method is strictly private.
retrieve(self, full=None)
run_swarp(self)
set_photometric_attributes(self)
set_weight_attribute(self)
Besides the regridded frame, Swarp produces an associated weight
frame. This weight frame needs to be stored for future use. Therefore,
the "weight" attribute of the RegriddedFrame object is set up to
receive this associated weight frame.
store(self, full=1)
subtract_background(self)
This method applies different background subtraction methods
depending on the value of the BACKGROUND_SUBTRACTION_TYPE process
parameter:
  0: don't (pre-) subtract
  1: make and subtract background image
  2: subtract constant (median of iteratively clipped pixel values)
verify(self)

Class methods defined here:
select(cls, **searchterms) from common.database.DBMeta.DBObjectMeta
Polymorphs the standard select() found in ProcessTarget (it is
extended by adding a filter to remove older RegriddedFrames derived
from the same RawScienceFrame).

Data descriptors defined here:
DATE_OBS
UTC date at the start of the observation [None]
FLXSCALE
The flux scale applicable for this frame [None]
GFID
GalFitModel identifier of the model used to subtract
GPID
GalPhotModel identifier of the model used to subtract
NAXIS1
Length of data in axis 1 [pixel]
NAXIS2
Length of data in axis 2 [pixel]
OBJECT
Object name [None]
ZEROPNT
Zeropoint of this image [mag]
ZPNTERR
Zeropoint error [mag]
astrom
Information about the astrometry [None]
astrom_params
An AstrometricParameters object [None]
chip
Information about the chip [None]
conv
Link to for example a PSFImage used for convolution
creation_date
Date this object was created [None]
filename
The name of the associated file [None]
filter
Information about the filter [None]
gain
A GainLinearity object [None]
globalname
The name used to store and retrieve file to and from Storage [None]
grid_target
The GridTarget object for the regridding operation [None]
imstat
Image statistics for the frame [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]
photom_params
A PhotometricParameters object [None]
process_params
Processing parameters [None]
process_status
A flag indicating the processing status [None]
psf_radius
Seeing FWHM [arcsec]
quality_flags
Automatic/internal quality flag [None]
reduced
A ReducedScienceFrame object [None]
regridded
Link to RegriddedFrame that was modified
swarpconf
The Swarp configuration file [None]
template
Information about the template [None]
weight
The regridded WeightFrame object [None]

Data and other attributes defined here:
PROCESS_TIME = 40
mandatory_dependencies = (('reduced', 1), ('astrom_params', 1), ('photom_params', 1), ('gain', 1))

Methods inherited from astro.main.RegriddedFrame.RegriddedBaseFrame:
derive_psf_radius(self)
This method derives the median stellar FWHM, which is used in quality
control.
derive_timestamp(self)
get_fluxscale(self)
Use this method to calculate the gain.
 
S = counts * get_fluxscale()
get_overlap_region(self, other)
Return a dictionary of the overlapping region of two
RegriddedBaseFrames which have the same grid target (i.e. that are
regridded to the same grid).
 
Returns:
  overlap = {self : [xmin1, xmax1, ymin1, ymax1],
             other: [xmin2, xmax2, ymin2, ymax2]}
 
   where the keys "self" and "other" in the dictionary are
   RegriddedBaseFrame instances.
make_psf_catalog(self)
This catalog is required to determine a median stellar FWHM from,
which is used as a quality control measure.
make_swarp_config(self)
Set the fixed swarp parameters
set_astrom_attribute(self)
write_new_image_header(self, filename='')

Data descriptors inherited from astro.main.RegriddedFrame.RegriddedBaseFrame:
PSF_DIFFERENCE_TOO_HIGH

Methods inherited from astro.main.BaseFrame.BaseFrame:
build_header(self)
Fill a default header with values from descriptors
commit_subwinstat(self)
Conditionally commit subwindow statistics
display(self, viewer='skycat', filename=None)
Independent display method for all frames.
empty_header(self)
Initalize to a default (empty) header
estimate_statistics(self, pixmap=None, zone=None, max_iter=5, threshold=5.0)
Estimate the mean, median and stddev, by iteratively excluding
pixelvalues deviating too far from the median
 
Arguments:
   pixmap     -- optional map for bad pixels (default=None)
   zone       -- optional region (x0, y0, x1, y1) (default=None)
   max_iter   -- The maximum number of iterations
   sig_thresh -- The threshold in number of standard deviations
initialize_astrom_attribute(self)
initialize_chip_attribute(self)
initialize_filter_attribute(self)
initialize_imstat_attribute(self)
initialize_instrument_attribute(self)
initialize_lamp_attribute(self)
initialize_observingblock_attribute(self)
initialize_template_attribute(self)
inspect(self, pixels=None, zone=None, kappa=3.0, iterations=2, cmap=None, vmin=None, vmax=None, interpolation='lanczos', width=6, ratio=None, viewer='skycat', force_figure=False, force_viewer=False, subplot_size=50, contour_levels=20, num_bins=100, extension=None, compare=False, level=0, other=None, clip=False, color=False)
Optional visual inspection for quality control displays image in a
PyLab (MatPlotLib) window or optionally in an external viewer.
 
        pixels: optional list or array representing the image to be
                inspected (can be MxN for greyscale, or MxNx3 for RGB)
          zone: tuple of (x0, y0, x1, y1) representing the image
                coordinates of the two oposing corners of the sub
                image to consider
         kappa: the factor by which the dynamic range is increased in
                units of sigma (0 gives full range)
    iterations: number of iterations in the kappa-sigma range clipping
          cmap: PyLab color map instance
          vmin: lower display range in native units (e.g. ADU)
          vmax: upper display range in native units (e.g. ADU)
 interpolation: type of interpolation the PyLab viewer uses (nearest,
                bilinear, etc.)
         width: width of the PyLab figure window (in inches)
         ratio: ratio by which to scale the figure height (default:
                x_dim/y_dim)
        viewer: external viewer to use in case the image is too large
  force_figure: always use the PyLab figure window (Be Careful!
                Statistics calculations on large images can be very
                time and memory consuming.)
  force_viewer: always use the viewer
  subplot_size: width and height in pixels of region of interest
contour_levels: number of contour levels for the contour plot of the
                region of interest
      num_bins: number of bins in the histogram plot
     extension: extension of the filetype to save plot to (png, ps,
                or eps) None disables saving
       compare: compare this frame to its previous version using
                difference imaging (current-previous), pixels is
                ignored
         level: depth of query for previous version (0 goes as deep
                as possible) when compare is True
         other: a second of the same type of Frame object to replace
                previous when compare is True (if color is True,
                other can be a list of two images)
          clip: kappa-sigma clip each image prior to subtraction when
                compare is True
         color: use color combining (RGB) instead of differencing
                when compare is True (kappa, vmin/vmax only honored
                when clip is True), this image is R, other is B if
                single, other is [G, B] if it is a list
                (EXPERIMENTAL)
 
When force_viewer is False, inspect() displays basic image
statistics (mean, stddev) and then a representation of the image
that can be zoomed and panned.  Pressing various keys will give
different results described below in a region of interest described
by subplot_size:
 
      q - closes the most recent plot window when pressed in the
          main window
[space] - displays the X and Y coordinate (FITS standard unit
          indexed) and the count level
      a - performs aperture photometry on brightest feature in the
          region of interest (NOT YET IMPLEMENTED)
      c - displays a contour plot of the region of interest (see
          contour_levels)
      h - displays a histogram of the pixel values of the region of
          interest (see num_bins)
      r - displays a radial plot of the brightest feature in the
          region of interest
      s - displays a surface plot of the region of interest
      p - displays profile plots in both X and Y dimensions versus
          intensity (count level)
 
NOTE: None of the commands above work in the subplots.
is_compressed(self)
Find out if a FITS file is compressed
load_header(self)
Initialize self.header
load_image(self, readonly=0)
Initialize self.image.
make_background(self)
Make a background image,
 
Returns a new BaseFrame object. The name of the new file is
"name.back.fits"
make_subwinstat(self)
Compute statistics on subwindows
save(self, filename='', overwrite=1)
statistics(self, pixmap=None, zone=None)
Compute statistics and store in self.imstat.
 
Arguments:
   pixmap -- optional pixelmap object         (default=None)
   zone   -- optional region (x0, y0, x1, y1) (default=None)
update_header(self)
Update a header with values from descriptors
update_history(self)
Update a header with history
 
History is maintained in the instance attribute
history. History is written by appending string to the history
list.

Methods inherited from common.database.DataObject.DataObject:
FileName(self)
Return the pathame of the object
Name(self)
Return the name of the object
check_mandatory_dependencies(self)
check if all the mandatory dependencies are set
commit(self)
derive_hash(self)
Apply hashing function to the contents of the file that is part of
this object.
 
The SHA hashing function is used to calculate a hash value of the
contents of this DataObject. The hash value is returned as a
hexadecimal string.
distinct(self, param_list)
This method returns the distinct values from an input list. The
current implementation is kinda cheesy.
exists(self)
Test is the file existsts
get_pathname(self)
Getter for pathname
is_on_dataserver(self)
Checks if file is accessable on the dataserver.
 
NOTE: A return of False does NOT imply the file is not on any
      dataserver!  It is simply not on any accessable
      dataserver.
is_stored(self)
locate(self)
See common/net/dataserver_client.py (Data_IO.locate).
 
Returns a list of strings describing all dataservers where the file is
located as well as a few properties of the file, i.e.
 ['ip=...,port=...,path=...,size=...,mdate=...,
  'ip=...,port=...,path=?,size=?,mdate=?']
 
Question marks indicate that this dataserver is not reachable.
name_insert_suffix(self, suffix)
name_replace_suffix(self, suffix)
name_with_new_suffix(self, suffix)
release(self)
set_filename(self, pathname=None, processlevel='')
Specify a filename for this DataObject or use the default filename.
 
This method is used to set the filename attribute of a DataObject.
If called without a filename, the filename is set to the canonical name.
Classes that are derived from DataObject are expected to define a
method get_canonical_name() that returns the name for an instance
of that class. This is mandatory for CalFiles (or files that are
store()d on the data server) and optional for other files.
set_pathname(self, pathname)
Setter for pathname
set_process_parameters_from_dict(self, pars={})
pars is a dictionary of the type e.g.:
{'BiasFrame.process_params.SIGMA_CLIP':8}
set_stored(self)
set_user_config(self, pars={})
store_with_hash_as_name(self, prefix='', suffix='fits')
Name the file after the hash value of the file and store it.
 
First the hash value of the file is calculated. The pathname of the
dataobject is renamed to the hash value with the given suffix appended.
Then the file is stored.

Class methods inherited from common.database.DataObject.DataObject:
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

Data descriptors inherited from common.database.DataObject.DataObject:
pathname

Data and other attributes inherited from common.database.DataObject.DataObject:
filepath = './'
localname = ''
storage = <common.net.dataserver_client.Storage at 0x11ceef0>

Methods inherited from common.database.DBMain.DBObject:
__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.
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 0xe178c0>
pickle_id = None

Methods inherited from astro.main.ProcessTarget.ProcessTarget:
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
compare(self)
Quality Control -- basic trend analysis
 
The compare() method is used for default trend analysis. This
is done by comparing with a previous version of the same
object (last weeks bias, for example). This may be as simple
as comparing attribute values, but may also involve more
complex computations (e.g., subtracting the two images, and
analysing the residuals)
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).
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_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.
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

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

Methods inherited from ModifiedFrame:
copy_attributes_from_original(self, orig)
subtract_model(self, model, orig)
update_for_modification(self)

 
Functions
       
create_modified_frame(frame_to_modify)
# Factory for modified frames
get_canonical_name(self)
Generate the unique filename for this CoaddedRegriddedFrame.
get_canonical_name_for_swarpweight(self)
Generate the unique filename for the associated WeightFrame produced
by Swarp.
make_properties_to_add(clsname, baseclass, extraclass)

 
Data
        Env = {'astrometric_refcat': '/aw01/users/catalog/USNO-A2/', 'aw_usno_url': 'http://dbusno.astro-wise.org/', 'aweshell': 'awe', 'awvo_url': '', 'baseconf_dir': '/astro-wise/awehome/config', 'calts_server': 'calts.astro-wise.org', 'data_port': '8000', 'data_server': 'ds.astro.rug.astro-wise.org', 'database_api': 'cx_Oracle', 'database_engine': 'oracle_10g', ...}
properties_to_add = {'GFID': <common.database.DBProperties.desc_property object at 0x225a230>, 'GPID': <common.database.DBProperties.desc_property object at 0x2253f50>, 'NAXIS1': <common.database.DBProperties.desc_property object at 0x2253830>, 'NAXIS2': <common.database.DBProperties.desc_property object at 0x2253890>, 'OBJECT': <common.database.DBProperties.desc_property object at 0x2253ef0>, 'PROCESS_TIME': 30, 'ZEROPNT': <common.database.DBProperties.desc_property object at 0x2253710>, 'ZPNTERR': <common.database.DBProperties.desc_property object at 0x2253770>, '_IS_SCIENCE': 1, '__doc__': 'This class is intended to coadd RegriddedFrames ... in which case the pixels need only be added\n ', ...}