scopesim.effects.effects.Effect#
- class scopesim.effects.effects.Effect(filename=None, **kwargs)#
Bases:
objectBase class for representing the effects (artifacts) in an optical system.
The
Effectclass is conceived to independently apply the changes that an optical component (or series thereof) has on an incoming 3D description of an on-sky object. In other words, an Effect object should receive a derivative of a ``Source`` object, alter it somehow, and return it.The interface for the Effect base-class has been kept very general so that it can easily be sub-classed as data for new effects becomes available. Essentially, a sub-classed Effects object must only contain the following attributes:
self.meta- a dictionary to contain metadata.self.apply_to(obj, **kwargs)- a method which accepts a Source-derivative and returns an instance of the same class asobjself.fov_grid(which="", **kwargs)
:param See
DataContainerfor input parameters:- __init__(filename=None, **kwargs)#
Methods
__init__([filename])apply_to(obj, **kwargs)Apply the effect to the corresponding object.
get_from_meta(item)info()Print basic information on the effect, notably the description.
report([filename, output, rst_title_chars])For Effect objects, generates a report based on the data and meta-data.
Attributes
datadisplay_nameincludemeta_stringrequired_keystablez_order- apply_to(obj, **kwargs)#
Apply the effect to the corresponding object.
- report(filename=None, output='rst', rst_title_chars='*+', **kwargs)#
For Effect objects, generates a report based on the data and meta-data.
This is to aid in the automation of the documentation process of the instrument packages in the IRDB.
Note
If the Effect can generate a plot, this will be saved to disc
- Parameters:
filename (str, optional) – Where to save the RST file
output (str, optional) – [“rst”, “latex”] Output file format
rst_title_chars (2-str, optional) – Two unique characters used to denote rst subsection headings. Options: = - ` : ‘ “ ~ ^ _ * + # < >
parameters (Additional)
---------------------
**kwargs (Either from the self.meta["report"] dictionary or via)
"report_table_include" (False)
"report_table_caption"
"report_plot_caption"
"report_plot_include" (False)
"report_plot_file_formats" (["png"]) – Multiple formats can be saved. The last entry is used for the RST.
"report_plot_filename" (None) – If None, uses self.meta[“name”] as the filename
"file_description" (str) – Taken from the header of a file, if available
"class_description" (str) – Taken from the docstring of the subclass
"changes_str" (list of str) – Take from the header of a file, if available
- Returns:
rst_str – The full reStructureText string
- Return type:
Notes
The format of the RST output is as follows:
<ClassType>: <effect name> ************************** File Description: <description for file meta data> Class Description: <description from class docstring> Changes: <list of changes from file meta data> Data ++++ .. figure:: <Figure_name>.png If the <Effect> object contains a ``.plot()`` function, add plot and write it to disc Figure caption Table caption Table If the <Effect> object contains a ``.table()`` function, add a pprint version of the table Meta-data +++++++++ :: A code block print out of the ``.meta`` dictionary