Remove hard-coded muParser expression library-wise
What changes will be made and why they would make a better Orfeo ToolBox?
High level description
Some filters and classes use the muParser
based filters with hard-coded expressions. This is bad for at least 2 reasons:
-
muParser
based filters are not as fast as their functor based counter-parts -
muParser
is an optional dependency. Using it heavily results in many applications and filters disabled ifmuParser
is disabled (see #1670 (closed) for instance)
Risks and benefits
Only risk might be small changing with floating point baselines. Benefit is a faster OTB less dependent on muParser.
Alternatives for implementations
We need to spot places where muParser
is mis-used:
$ grep -R -l BandMath Modules/ | grep -v BandMath | grep -v Parser
Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
Modules/Applications/AppStereo/app/otbStereoFramework.cxx
Modules/Applications/AppStereo/app/otbBlockMatching.cxx
Who will be developing the proposed changes?
TDB.
Edited by Yannick TANGUY