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:
muParserbased filters are not as fast as their functor based counter-parts
muParseris an optional dependency. Using it heavily results in many applications and filters disabled if
muParseris 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/Wrappers/SWIG/test/python/PythonOutXMLTest.py Modules/Wrappers/SWIG/test/python/CMakeLists.txt Modules/Wrappers/SWIG/test/python/PythonInXMLTest.py Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx Modules/Applications/AppImageUtils/app/otbManageNoData.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?