Enable/disable processor (YAML and params)
While developing and debugging with @igeer we had the idea of enabling/disabling processors at configuration and/or runtime. That would definitely be a nice tool for debugging and better assess the contributions of a processor to an specific application.
"Enable/disable" a processor can have different meanings. I propose three different levels (we have to think proper names):
- Enabled or active: normal behaviour.
- Inactive: The processor emplaces works as always (keyframe creation, appending captures, etc.) emplaces inactive factors, meaning they do not contribute to the cost to the optimization.
- Disabled: The processor does not process any capture. It's like it weren't installed.
I think all three modes are quite useful. Actually, this could be applied to sensors as well. I think that this functionalities could be implemented in the base classes so in terms of refactoring is not that hard. Everything would be controlled by a parameter in SensorBase
and in ProcessorBase
that could be changed at runtime.
What do you think?