Skip to content

Remove spatial objects module

Cédric Traizet requested to merge remove_spatial_objects into develop

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
Edited by Cédric Traizet

Merge request reports