It makes it far easier to the user if most classes act the same. The set_input();process();get_output()
terminology was suggested by @ckolbPTB as a generic way of doing things (for sirf.STIR
to be completed with set_up()
, and is indeed documented that way https://github.com/SyneRBI/SIRF/blob/master/doc/UserGuide.md#general-structure-of-the-classes-. It's also reminiscent to the ITK pipelining idea, so would make our live easier when we wrap ITK.
I have no clear sight on how consistent we are with this (a consequence of not having a class hierarchy), but I did notice that neither sirf.STIR.Reconstructor
nor sirf.STIR.AcquisitionModel
have it. sirf.STIR.ImageDataProcessor
does. Registration does. Resampling has it but is being discussed at #681.
Other classes use forward/backward
(and direct/adjoint
in Python). This works for CIL operators.
I still think it will pay-off to be consistent. Additional methods can be provided with more intuitive names.
One way to make this more obvious is to have a few base classes that guarantee a particular interface.
I'd like us to think and discuss what the appropriate style that fits most/all things.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.