astro.main.GalFitModel (version @(#)$Revision: 1.98 $)
index
/astro-wise/AWEHOME/AWBASE/astro/main/GalFitModel.py

Galfit interface
 
This module contains classes that map logically on the inputs and products of
GalFit. In order to run Galfit you could work as in the following example:
 
>>> g = GalFitModel()
>>> g.SLID = 200
>>> g.SID = 10
>>> g.components = [GalFitSersic(), GalFitSky()]
>>> g.make()

 
Modules
       
common.database.Sequence
astro.util.darma
datetime
eclipse
math
os
pyfits
common.math.statistics
time

 
Classes
       
GalFitRegion
GalFitSource
common.database.DBMain.DBObject(__builtin__.object)
GalFitConstraint
GalFitAbsConstraint
GalFitDiffConstraint
GalFitRatioConstraint
GalFitRelConstraint
GalFitList
GalFitParameters
GalFitProduct
GalFitModel(GalFitProduct, astro.main.SourceLink.SourceLink, astro.main.ProcessTarget.ProcessTarget)
exceptions.Exception(exceptions.BaseException)
GalFitError

 
class GalFitAbsConstraint(GalFitConstraint)
    Absolute constraint, i.e. the final value of the fitted parameter
must lie between the specified minimum and maximum values.
 
 
Method resolution order:
GalFitAbsConstraint
GalFitConstraint
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
update_constraints_file(self, filename)

Data descriptors defined here:
comp
Number of component ("object") for which the contraint is set [None]
max
fitted < max [None]
min
fitted > min [None]
name
Type of constraint (rel, abs, ratio, diff) [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
param
Name of parameter to constrain [None]

Methods inherited from GalFitConstraint:
check_parameter_values(self)

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

 
class GalFitConstraint(common.database.DBMain.DBObject)
    The constraints on the model parameters. Galfit supports four types
of contraints: GalFitRelConstraint,  GalFitAbsConstraint,
GalFitDiffConstraintGalFitRatioConstraint. See these classes for
more information.
 
Parameters:
   name: 'rel', 'abs', 'ratio' or 'diff'; simply describes the type of
         GalFitConstraint object
   param: can be specified as names are as numbers (as string):
            'x', 'y', 'mag', 're', 'rs', 'n', 'alpha', 'beta', 'gamma',
            'pa', 'q' or 'c'
            (These are according to Galfit naming scheme, NOT persistent
             property names used in Astro-WISE!)
          or:
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'
 
 
Method resolution order:
GalFitConstraint
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
check_parameter_values(self)

Data descriptors defined here:
name
Type of constraint (rel, abs, ratio, diff) [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
param
Name of parameter to constrain [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 0xfd9a70>
pickle_id = None

 
class GalFitDiffConstraint(GalFitConstraint)
    Difference constraint, i.e. the difference between parameter "nr"
of components "1" and "2" must lie within the range specified.
 
 
Method resolution order:
GalFitDiffConstraint
GalFitConstraint
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
update_constraints_file(self, filename)

Data descriptors defined here:
comp1
Number of component 1 ("object") for the difference contraint [None]
comp2
Number of component 2 ("object") for the difference contraint [None]
diff_max
Maximum value of difference [None]
diff_min
Minimum value of difference [None]
name
Type of constraint (rel, abs, ratio, diff) [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
param
Name of parameter to constrain [None]

Methods inherited from GalFitConstraint:
check_parameter_values(self)

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

 
class GalFitError(exceptions.Exception)
    
Method resolution order:
GalFitError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.Exception:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Data and other attributes inherited from exceptions.Exception:
__new__ = <built-in method __new__ of type object at 0x719220>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__reduce__(...)
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message
exception message

 
class GalFitList(common.database.DBMain.DBObject)
    The goal of this class is to connect GalPhotModels together, in
particular those that have been derived in a single "run". A GalPhotList
is derived for a particular SourceList.
 
 
Method resolution order:
GalFitList
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
commit(self)
make(self)
set_creation_date(self)
set_unique_identifier(self)
The GFLID identifier is used to identify the GalFitModels that
have been derived in a single run and for a single SourceList

Data descriptors defined here:
GFLID
Galfit List identifier [None]
SLID
SourceList identifier [None]
creation_date
Date this object was created [None]
is_valid
Manual/external flag to disqualify bad data (SuperFlag) [None]
name
Any string specified by user [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
quality_flags
Automatic/internal quality flag [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.
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 0xfd9a70>
pickle_id = None

 
class GalFitModel(GalFitProduct, astro.main.SourceLink.SourceLink, astro.main.ProcessTarget.ProcessTarget)
    The Galaxy model as made by GalFit
 
 
Method resolution order:
GalFitModel
GalFitProduct
common.database.DBMain.DBObject
astro.main.SourceLink.SourceLink
astro.main.ProcessTarget.ProcessTarget
common.database.DBMeta.DBMixin
__builtin__.object
astro.main.OnTheFly.OnTheFly

Methods defined here:
__init__(self)
check_preconditions(self)
commit(self)
copy_astrometry_from_original_frame(self)
Keep the astrometry of the original frame and place it in the header
of the image created by Galphot. The CRPIX1, CRPIX2 values are updated
because the ones from the entire frame (of which we use the astrometry)
do not match the cutout.
derive_pixelscale(self)
derive_region_location(self)
GalFitModels are made from SourceLists which are made from a certain
frame. From this frame a region is extracted around the source,
identified by SID that is to be modelled. Here the location of that
region is determined.
detect_user_specified_parameters(self)
The intention of this method is to store any parameters that were
specified and make sure they are set (regardless of any automatically
derived different values) in the final steps before Galfit is called.
determine_background_level(self)
Very rough method to get a background level which can be used in
making the sigma image. I.e. the poisson noise due to the sky
background must be included in the sigma image.
finalize_components(self)
get_model(self)
get_model_parameters(self)
Returns a list of dictionaries (one dictionary for each model
component) which contain the model parameters of the model.
get_residual(self)
Get the residual image, which is the science image minus the model
 
This is essentially get_science() - get_model()
get_science(self)
Get the image region from the science image, compensate for the
fitted section defined by the process parameters fit_xmin etc.
get_weight(self)
Get the image region from the weight image, compensate for the
fitted section defined by the process parameters fit_xmin etc.
initialize_components(self)
make(self)
make_badpixelmap(self)
Create the bad pixel map by detecting the pixels with zero weight
in the Region from the weight. Bad pixels: 1. Good pixels: 0
make_image(self)
Run Galfit in the special mode that does not do any fit, but simply
creates a model FITS image based on the model parameters specified in
the configuration file. This allows us to store just the model
parameters, and use this method to create the image on-the-fly.
make_regions(self)
Create and set the transient Regions from the frame associated with
the sourcelist and its weight image.
make_residual_from_source_frame(self)
Subtract the model image from the frame from which the SourceList
was derived, create and return a Modified[...]Frame.
make_science_region(self)
make_segmentation_region(self)
make_sigma_image(self)
For a ReducedScienceFrame (reduced) or a RegriddedFrame the noise
map can be written as follows:
   noise=((Fij/Iij)/gain)*sqrt(((readnoise*gain)^2*ncombine)+gain*reduced/weightimage)
where Fij/Iij is essentially the weight (aside from bad pixels).
gain is in units of e/ADU, readnoise is in ADU.
make_weight_region(self)
set_creation_date(self)
set_dependencies_from_database(self)
set_gain(self)
Query the database and set the (transient) gain attribute
set_initial_values_of_components(self)
set_model_parameters(self, modelfile='fit.log')
This method reads the Galfit output file ("fit.log") and sets the
appropriate attributes of GalFitModel and associated GalFitComponent(s).
set_process_parameters_from_dict(self, pars={})
pars is a dictionary of the type e.g.:
{'BiasFrame.process_params.SIGMA_CLIP':8}
set_psf_image(self)
A query for a PSFImage is performed here based on the filename
given by the process parameter "psf". This PSFImage is used by
Galfit.
set_readnoise(self)
Query the database and set the (transient) readnoise attribute
set_source(self)
Create and set the transient GalFitSource attribute based on
self.sourcelist and self.SID, the source identifier in the sourcelist.
set_sourcelist(self)
Query the database for the SLID and set the (transient) sourcelist
attribute.
set_unique_identifiers(self)
The GFID identifier is used to identify the GalFitComponent objects
(i.e. GalFitSersic, GalFitSky..) that belong to a GalFitModel object;
they will all have the same GFID as the GalFitModel.
set_user_specified_parameters(self)
Set the user specified parameters as detected by the
"detect_user_specified_parameters" method.
show_model_parameters(self)
Print all parameters for all components in this GalFitModel.
update_configuration(self)
update_process_parameters(self)
Update the GalFitParameters based on the attributes of GalFitModel.

Data descriptors defined here:
GFID
GalFitModel identifier [None]
GFLID
Galfit List identifier [None]
SID
Source identifier [None]
SLID
SourceList identifier [None]
chi2
Chi^2, quality of the fit [None]
components
A GalFitComponent object [None]
creation_date
Date this object was created [None]
dof
Number of degrees of freedom [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
process_params
Processing parameters [None]
process_status
A flag indicating the processing status [None]
psf
The PSF image used by Galfit for convolution [None]
quality_flags
Automatic/internal quality flag [None]
rchi2
Chi^2 per degree of freedom [None]

Data and other attributes defined here:
PROCESS_TIME = 60

Methods inherited from GalFitProduct:
run_galfit(self, configname='')
write_configuration_file(self)
write_constraints_file(self)

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 0xfd9a70>
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
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)
derive_timestamp(self)
Set the creation_date attribute
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_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.
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.
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 GalFitParameters(common.database.DBMain.DBObject)
    The GalFit parameters other than those part of the model component
parameters
 
 
Method resolution order:
GalFitParameters
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
copy(self)
detect_user_specified_parameters(self)
The intention of this method is to store any parameters that were
specified and make sure they are set (regardless of any automatically
derived different values) in the final steps before Galfit is called.
set_user_specified_parameters(self)
Set the user specified parameters as detected by the
"detect_user_specified_parameters" method.
write_configuration_file(self, configname)
write_constraints_file(self, filename='galfitconstraints.txt')

Data descriptors defined here:
badpixels
Bad pixel mask (FITS image or ASCII coord list) [None]
constraints
File with parameter constraints (ASCII file) [None]
constraints_list
List of GalFitConstraints objects [pixel]
conv_x
Size of the convolution box (x y) [pixel]
conv_y
Size of the convolution box (x y) [pixel]
data
Input data image (FITS file) [None]
display
Display type (regular, curses, both) [None]
fit_xmax
Region within cutout defined by region_* where Galfit will perform fit [None]
fit_xmin
Region within cutout defined by region_* where Galfit will perform fit [None]
fit_ymax
Region within cutout defined by region_* where Galfit will perform fit [None]
fit_ymin
Region within cutout defined by region_* where Galfit will perform fit [None]
interactive
Modify/create objects interactively [None]
mask_type
Switch to use Sourcelist or Segmentation image for masking neighbours (sourcelist, segmentation) [None]
model
Output data image block [None]
no_fit
Create output only? (1=yes, 0=optimize) [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
pixelscale_x
Plate scale (dx dy) [arcsec / pixel]
pixelscale_y
Plate scale (dx dy) [arcsec / pixel]
psf
Input PSF image and (optional) diffusion kernel [None]
region_xmax
Image region to cut out and run Galfit on [pixel]
region_xmin
Image region to cut out and run Galfit on [pixel]
region_ymax
Image region to cut out and run Galfit on [pixel]
region_ymin
Image region to cut out and run Galfit on [pixel]
sigma
Sigma image name (made from data if blank or "none") [None]
subsampling
PSF fine sampling factor relative to data [None]
zeropoint
Photometric zeropoint [mag]

Data and other attributes defined here:
CONFIG_FILE_MAP = {'A': 'data', 'B': 'model', 'C': 'sigma', 'D': 'psf', 'E': 'subsampling', 'F': 'badpixels', 'G': 'constraints', 'H': ['fit_xmin', 'fit_xmax', 'fit_ymin', 'fit_ymax'], 'I': ['conv_x', 'conv_y'], 'J': 'zeropoint', ...}

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

 
class GalFitProduct(common.database.DBMain.DBObject)
    All products of Galfit. This is the lowest level interface to Galfit
 
 
Method resolution order:
GalFitProduct
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
run_galfit(self, configname='')
write_configuration_file(self)
write_constraints_file(self)

Data descriptors defined here:
components
A GalFitComponent object [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
process_params
Processing parameters [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 0xfd9a70>
pickle_id = None

 
class GalFitRatioConstraint(GalFitConstraint)
    Ratio constraint, i.e. the ratio of parameter "nr" of components
"1" and "2" must lie within the range specified.
 
 
Method resolution order:
GalFitRatioConstraint
GalFitConstraint
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
update_constraints_file(self, filename)

Data descriptors defined here:
comp1
Number of component 1 ("object") for the ratio contraint [None]
comp2
Number of component 2 ("object") for the ratio contraint [None]
name
Type of constraint (rel, abs, ratio, diff) [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
param
Name of parameter to constrain [None]
ratio_max
Maximum value of ratio [None]
ratio_min
Minimum value of ratio [None]

Methods inherited from GalFitConstraint:
check_parameter_values(self)

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

 
class GalFitRegion
    A region in a larger frame
 
  Methods defined here:
__init__(self)
check_dimensions(self)
fetch_from_dataserver(self)
get_from_imageserver(self)
make(self)
rename_region(self)
save(self, filename='', overwrite=1)
Almost equal to BaseFrame save. When/if we change the class
structure into a broad rather than deep structure, GalFitRegion can
become a BaseFrame itself (and not be persistent).

 
class GalFitRelConstraint(GalFitConstraint)
    Relative constraint, i.e. the final value of the fitted parameter
must lie between initial value + low_dev (which is usually negative)
and initial value + high_dev.
 
 
Method resolution order:
GalFitRelConstraint
GalFitConstraint
common.database.DBMain.DBObject
__builtin__.object

Methods defined here:
__init__(self)
update_constraints_file(self, filename)

Data descriptors defined here:
comp
Number of the component ("object") for which the contraint is set [None]
high_dev
fitted < initial + high_dev [None]
low_dev
fitted > initial + low_dev [None]
name
Type of constraint (rel, abs, ratio, diff) [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
param
Name of parameter to constrain [None]

Methods inherited from GalFitConstraint:
check_parameter_values(self)

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

 
class GalFitSource
    The source we want to model with Galfit
 
  Methods defined here:
__init__(self)
check_required_sex_parameters(self)
find_neighbours(self)
GalFitSource may have objects that are close and bright enough to
influence the fit. These sources must be identified and masked or
modelled as well.
get_fit_region(self)
Based on the source position and its size this method returns the
center and size of the region that should be extracted from the full
FITS file.
set_attributes_from_sid(self, sid, sourcelist=None)
set_neighbour(self, sid)

Data and other attributes defined here:
required_params = ['RA', 'DEC', 'Xpos', 'Ypos', 'A', 'B', 'POSANG', 'MAG_ISO', 'FLUX_RADIUS', 'BackGr']

 
Functions
       
create_constraint(dic)
Factory function which creates a GalFitConstraint object based on the
input dictionary and set the initial parameters specified in that
dictionary.
 
I.e. if:
   d = {'name'    : 'abs',
        'comp'    : 1,
        'param'   : 'x',
        'min'     : 95.0,
        'max'     : 95.0}
 
then:
   create_constraint(d)
 
will return a GalFitAbsConstraint object with the parameters set as
specified in the dictionary.
get_galfit_version()

 
Data
        __version__ = '@(#)$Revision: 1.98 $'