Classes for image features change since OTB 3.8. OTB 3.8 contains both interfaces to enable a smooth migration. The following releases of OTB will use only the new code. Modifications concern:
otb::ComplexMomentImageFunction, otb::FlusserImageFunction and otb::HuImageFunction have been replaced by otb::ComplexMomentsImageFunction, FlusserMomentsImageFonction and HuMomentsImageFunction respectively. These new classes compute every moments in one pass instead of one. To use the new classes, remember that the output structure contains every moments.
Concerning otb::RealMomentImageFunction, it was an unused abstract class in OTB that is to be suppressed to prevent confusion with otb::RealMomentsImageFunction witch was introduced in OTB 3.8. To replace otb::RealMomentsImageFunction, inheritance must be done using itk::ImageFunction instead.