Remove spatial objects module
Summary
This merge request removes the Core/SpatialObject
module.
Rationale
Core/SpatialObject
contains classes using the itk::SpatialObject
. In particular it contains the otb::LineSpatialObject
class inheriting from itk::PointBasedSpatialObject
that can be used to represent lines. It also contains filter to transform LineSpatialObject to binary images and vice versa.
There are different ways to represent lines and other objects in OTB, the alternatives to otb spatial objects are VectorData and the ogr geometry wrapper. The latter have several advantages over spatial object, they can take into account georeferencing, and they can be exported to shapefile via ogr drivers. Also spatial object are only used in a few class of otb:
- the hough line detection framework (in the edge module)
- the LineSpatialObjectListToRightAnglePointSetFilter (in the corner module), this filter has a vector data equivalent (vectorDataToRightAngleVectorDataFilter)
There are no otb application nor c++ examples using spatial objects.
In ITK 5, the spatial object API has changed, and we have to refactor the otb Spatial object module to make otb compatible with the new version of ITK. This is why to remove the module before the transition.
this MR removes the hough framework. I don't think anyone uses this code, but a possibility would be to create an equivalent using the ogr wrapper.
See issue #1922 (closed).
Copyright
The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.
Check before merging:
- All discussions are resolved
- At least 2
👍 votes from core developers, no👎 vote. - The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
- Optionally, run
git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i
on latest changes and commit