Throughout the data reduction process,
SImMER produces a number of
intermediate images with the Matplotlib module:
dark cubes, flat cubes, sky cubes, and rotations.
Additionally (as expected from a reduction pipeline!), a final image, resulting
from all the noise-reduction and registration steps, is produced.
By default, all of these images are saved in the user-specified
directory, with the
simmer.plotting module containing all relevant code.
For more fine-grained control of the stock developer-specified
settings, a user can input their own set of plotting settings. This is done with
the YAML markup language. This markup language was chosen
(in lieu of raw JSON, for example) given its readable, Python-reminiscent
indentation. Users can supply a path to a .yml file specifying their plotting
preferences to any driver; once this is done, their .yml file is validated with
the Cerberus package
against the schema, or archetypal YAML file. If the validation succeeds,
the plotting preferences are propagated through the rest of the program.
Above, we see an example .yml file for plotting configuration supplies by the
user. Each type of plot (referred to as
SImMER code) has its
own dictionary of plotting arguments.