Please describe the use case that requires this feature.
Soon we will want to support reconstructors that can reconstruct more than one ReconstructionProperty (For example ImPACT , #2052, or fancier ML methods where geometry, energy, and gammaness can all be predicted in one go). The current design supports this, but is somewhat inconsistent so could use some small changes.
Describe the solution you'd like
A few things I noticed when looking at the current implementation:
I would expect to be able to construct any Reconstructor , e.g. reco = SomeReconstructor(), and check its reco.property field to see what it reconstructs. THis means putting it in the base class, and verifying it is set perhaps in the base __init__
Neither HillasReconstructor nor HillasIntersection seem to set the property field (so it's used inconsistently, and only by the sklearn reconstructors so far). Would be nice to use it everywhere.
would be useful to allow Reconstructors to have a list of ReconstructionProperties rather than a single one, to support the above use case
the GeometryReconstructor base class is poorly named, as it is really specific to Hillas-parameter based methods that would be inappropriate for e.g. a deep-learning or model based geometry reconstruction, and it does not set property=ReconstructionProperty.geometry in any case. HillasGeometryReconstructor would be a be better name
Please describe the use case that requires this feature.
Soon we will want to support reconstructors that can reconstruct more than one
ReconstructionProperty
(For example ImPACT , #2052, or fancier ML methods where geometry, energy, and gammaness can all be predicted in one go). The current design supports this, but is somewhat inconsistent so could use some small changes.Describe the solution you'd like A few things I noticed when looking at the current implementation:
Reconstructor
, e.g.reco = SomeReconstructor()
, and check itsreco.property
field to see what it reconstructs. THis means putting it in the base class, and verifying it is set perhaps in the base__init__
HillasReconstructor
norHillasIntersection
seem to set the property field (so it's used inconsistently, and only by the sklearn reconstructors so far). Would be nice to use it everywhere.Reconstructor
s to have a list ofReconstructionProperties
rather than a single one, to support the above use caseGeometryReconstructor
base class is poorly named, as it is really specific to Hillas-parameter based methods that would be inappropriate for e.g. a deep-learning or model based geometry reconstruction, and it does not setproperty=ReconstructionProperty.geometry
in any case.HillasGeometryReconstructor
would be a be better name