scopesim.effects.electronic.electrons.ADConversion

scopesim.effects.electronic.electrons.ADConversion#

class scopesim.effects.electronic.electrons.ADConversion(**kwargs)#

Bases: Effect

Analogue-Digital Conversion effect.

The effect applies the gain factor (electrons/ADU) to the detector readouts and converts the output to the desired data type (e.g. uint16).

Examples

The effect is usually instantiated in a yaml file.

For a single-detector instrument:

- name: ad_conversion
  description: Apply gain and convert electron count into integers
  class: ADConversion
  kwargs:
     dtype: uint16
     gain: "!DET.gain"  # or a number if !DET.gain has not been set yet

For a multi-detector instrument the detector ids need to be identical to those used to instantiate the DetectorList effect.

- name: ad_conversion
  description: Apply gain and convert electron count into integers
  class: ADConversion
  kwargs:
     dtype: uint16
     gain:
       id1:  2.2
       id2:  2.1
       id3   2.3

Again, !DET.gain can be used here. This can be useful when the DetectorModePropertiesSetter effect is used to switch between different detector modes with different gain values.

Changed in version 0.10.0: Renamed from Quantization to ADConversion.

__init__(**kwargs)#

Methods

__init__(**kwargs)

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

data

display_name

include

meta_string

required_keys

table

z_order

apply_to(obj, **kwargs)#

Apply the effect to the corresponding object.

info() None#

Print basic information on the effect, notably the description.

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:

str

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