effects

Effect

Base class for representing the effects (artifacts) in an optical system.

The Effect class 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 as obj

  • self.fov_grid(which="", **kwargs)

Parameters

See DataContainer for input parameters