Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: daf_butler, obs_base
-
Story Points:1
-
Team:Architecture
-
Urgent?:No
Description
When designing the butler command line tools it is clear that life would be much simpler if an instrument could be referred to by name rather than by instrument class. It should only be instrument registration that requires the full class name. All other operations should work by specifying the name, looking up the name in registry and retrieving the class name, using doImport on that class, and instantiating the class for downstream usage.
For this to work we need two changes:
- Add the instrument class full name text string to registry.
- Have an API (butler.registry.getInstrument?) that will return an instantiated gen3 Instrument (they don't need parameters) given the name of the instrument.
Only a few lines to implement this. Nate Pease [X] once merged you should be able to use Instrument.fromName("HSC") to get the relevant instrument class once it's been registered. It does have to match case so LSSTCam and not lsstCam etc.
Jim Bosch to get this working quickly I had to use lsst.daf.butler.core.utils.getFullyTypeName in Instrument classes. In theory that's naughty.