[SyneRBI/SIRF] using process() and uniformity of class interfaces (#701)

0 views
Skip to first unread message

Kris Thielemans

unread,
Jun 4, 2020, 7:22:46 AM6/4/20
to SyneRBI/SIRF, Subscribed

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.

Reply all
Reply to author
Forward
0 new messages