scopesim.effects.electronic.noise.RandomEffect#

class scopesim.effects.electronic.noise.RandomEffect(**kwargs)#

Bases: ElectronicEffect

Mixin class for Effects that need random seeds.

__init__(**kwargs)#

Methods

__init__(**kwargs)

apply_to(obj, **kwargs)

See parent docstring.

cls_seed()

Generate reproducible seed from hash of class name.

create_rng([det_id])

Instantiate np.random.Generator using composite seed.

get_from_meta(item)

info()

Print basic information on the effect, notably the description.

plot(det)

Plot effect image.

plot_hist(det, **kwargs)

Plot effect histogram.

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

random_seed

Composite random seed, or None.

readout_seed

Readout ID, or 0 if not found in cmds.

required_keys

root_seed

Resolve root seed from cmds, or use value from effect kwargs.

table

z_order

apply_to(obj, **kwargs)#

See parent docstring.

classmethod cls_seed() → int#

Generate reproducible seed from hash of class name.

create_rng(det_id: int | None = None) → Generator#

Instantiate np.random.Generator using composite seed.

Parameters:

det_id (int | None, optional) – Detector ID. If None (the default), detector ID is not included in the composite seed, meaning results will look identical on all detectors passed to the effect in the same readout.

Returns:

New Generator instance.

Return type:

np.random.Generator

info() → None#

Print basic information on the effect, notably the description.

plot(det)#

Plot effect image.

plot_hist(det, **kwargs)#

Plot effect histogram.

property random_seed: int | None#

Composite random seed, or None.

property readout_seed: int#

Readout ID, or 0 if not found in cmds.

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
property root_seed: int#

Resolve root seed from cmds, or use value from effect kwargs.