Currently Imager can be created either fully automatically using the create_imagers() function, where all parameters are set in the performance.yaml config file, or completely in Python where all the subcomponents (Optic, Camera, etc.) have to be manually instantiated with all their parameters passed to the constructor.
More useful would be an option to create an Imager in Python by simply referencing the names of either a predefined Imager or a selection of subcomponents that are then generated from the config file. Basically the Imager constructor should, optionally, be passed either one name (one of the Imager pre-defined in performance.yaml file) or some combination of subcomponent objects or names of subcomponent from the performance.yaml file.
This will make interact creation of Imager objects much easier.
Currently
Imager
can be created either fully automatically using thecreate_imagers()
function, where all parameters are set in theperformance.yaml
config file, or completely in Python where all the subcomponents (Optic
,Camera
, etc.) have to be manually instantiated with all their parameters passed to the constructor.More useful would be an option to create an
Imager
in Python by simply referencing the names of either a predefinedImager
or a selection of subcomponents that are then generated from the config file. Basically theImager
constructor should, optionally, be passed either one name (one of theImager
pre-defined inperformance.yaml
file) or some combination of subcomponent objects or names of subcomponent from theperformance.yaml
file.This will make interact creation of
Imager
objects much easier.