Plotting

Plotting#

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 red_dir 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.

The example .yml file demonstrating default fields.

Above, we see an example .yml file for plotting configuration supplies by the user. Each type of plot (referred to as plot_type in SImMER code) has its own dictionary of plotting arguments.