Improve usability and consistency
This is a wrapper issue for a several connected issues that would improve usability.
Solve issues (probably in that order):
-
#121 (closed) create a helper class Dynamic. -
#149 (closed) Split class Outputs and move to input_outputs -
#118 (closed) Simplify YAML configuration files. -
#60 (closed) reading YAML returns a class Configuration -
#61 (closed) Each mode has their own function for start ( single_mode(),parametric_mode()etc.). -
Update documentation -
Add tests -
Update examples
Example for calibration mode for this refactoring:
cfg = load('calibration.yaml')
# cfg is now an instance of a general loaded Configuration class not a dict
# YAML is simplified as in issue #118, this means:
# cfg has properties calibration, ccd_detector, pipeline instead of keys simulation,...
calibration = cfg.calibration
# calibration is instance of Calibration
# It also contains the class Outputs
#RELEVANT FOR USERS:
cfg = load('calibration.yaml')
calibration = cfg.calibration
detector = cfg.detector
pipeline = cfg.pipeline
processor = Processor(detector, pipeline)
calibration_mode(processor, calibration)
Same for single, parametric, dynamic
Edited by Matej Arko