VectorImageFilter and ImageFilter fusion
What changes will be made and why they would make a better Orfeo ToolBox?
In OTB we have a lot of filter that can be used on image or vector image. Those filters have the same purpose but not the same name and sometimes not event the same convention.
What can be done is using template meta-prgramming to try to unify those filters (as for the ClampImageFilter
using the convert type functor) hence decreasing the number of class to maintain.
High level description
The following filters can be merged :
-
ShiftScaleVectorImageFilter
&ShiftScaleImageAdaptor
(Warning : not the same convention) -
StreamingStatisticsVectorImageFilter
&StreamingStatisticsImageFilter
(related filter :VectorImageToMatrixImageFilter
,StreamingMinMaxVectorImageFilter
,StreamingMinMaxImageFilter
) -
ExtractROI
&MultiChannelExtractROI
&MultiToMonoChannelExtractROI
The idea is to make it transparent for coders : FilterType<ImageType>
and FilterType<VectorImageType>
will have the same behavior and functionnality but will adapt depending on the template parameter.
Risks and benefits
No particular risks.
Benefits : less classes to maintain, less copied/pasted classes, less bugs (hopefully...)!
Edited by Antoine Regimbeau