Closed imapeartree closed 2 months ago
If I understand correctly, the idea is to generalize the ModalDecomposer class to allow different modal bases (Zernikes, KL, etc). The idea is sound, but it looks to me like the implementation is done backwards: there should be a generic ModalDecomposer class with the interface, and then either:
I prefer the composition approach, and the generator classes are already there it seems.
Reorganized ModalDecomposer to have a base class BaseModalDecomposer with all the rec. generating and projection code, independent from the modal base, and a series of generators for Zernike, KL and RBF modes. Small classes ZernikeModalDecomposer, KLModalDecomposer and RFBModalDecomposer are very small classes derived from BaseModalDecomposer and only adding the modal generator instantiation.
The old ModalDecomposer has been kept without any interface changes, for backward compatibility.
@lbusoni please review (your requested changes are blocking the pull request)
Codecov Report
Attention: Patch coverage is
90.56317%
with62 lines
in your changes missing coverage. Please review.Additional details and impacted files
```diff @@ Coverage Diff @@ ## master #37 +/- ## ========================================== + Coverage 75.09% 75.72% +0.62% ========================================== Files 172 182 +10 Lines 11160 11729 +569 ========================================== + Hits 8381 8882 +501 - Misses 2779 2847 +68 ```:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.