Refactor LSST-specific metadetect to expose the configs
Convert the LSST-specific metadetection package to use Task framework and expose all the internal parameters as Configs.
Contacts: @arunkannawadi
Day/Time: TBD
Main communication channel: #desc-sprint-fall24-metadetect
GitHub repo: https://github.com/lsst-dm/metadetect (or forks of it)
Zoom room (if applicable): TBD
Goals and deliverable
In the near medium term, we would like to refactor the lsst modules of this package to use the Task and Config framework. This is entirely a modification to the interfaces and will still be compatible with simulations. Because the modification is not an algorithmic one, we should be able to ensure that the results are identical before and after the refactoring.
In the end, we want to have achieved the following:
Convert the entry point (run_metadetect function) into a run method of a new MetadetectTask
Capture all the knobs and default values (listed in defaults.py) in the ConfigClass of the above mentioned MetadetectTask
No initialization of config instances within the code. Convert all the Tasks called internally as sub tasks of MetadetectTask
While neither of this is blocking a metadetection PipelineTask, these changes need to happen before we want to run this in production for Rubin. I am happy to start with some of these conversions as an exmaple but will need help from others to do similar conversions throughout the package.
Resources and skills needed
Some Python knowledge, mostly able to follow patterns.
Refactor LSST-specific metadetect to expose the configs
Convert the LSST-specific metadetection package to use
Task
framework and expose all the internal parameters asConfig
s.Contacts: @arunkannawadi Day/Time: TBD Main communication channel: #desc-sprint-fall24-metadetect GitHub repo: https://github.com/lsst-dm/metadetect (or forks of it) Zoom room (if applicable): TBD
Goals and deliverable
In the near medium term, we would like to refactor the lsst modules of this package to use the Task and Config framework. This is entirely a modification to the interfaces and will still be compatible with simulations. Because the modification is not an algorithmic one, we should be able to ensure that the results are identical before and after the refactoring.
In the end, we want to have achieved the following:
While neither of this is blocking a metadetection
PipelineTask
, these changes need to happen before we want to run this in production for Rubin. I am happy to start with some of these conversions as an exmaple but will need help from others to do similar conversions throughout the package.Resources and skills needed
Some Python knowledge, mostly able to follow patterns.