Page MenuHomePhabricator

Introduce new Geometry concept: BaseGeometry class, less inheritance, etc (Platform project)
Closed, ResolvedPublic

Description

A new BaseGeometry class should be implemented to reduce the inheritance.

This BaseGeometry class contains all major functions for dealing with World to Index transformations. It is similar to the current Geometry3D class but should possibly be abstract.

Inherited classes:

  • Geometry3D: direct implementation of base class
  • PlaneGeometry: Combination of current Geometry2D and PlaneGeometry. Main functions: Mapping, projection, calculation of intersections etc.
  • SlicedGeometry: Contains one or several PlaneGeometries. Similar to current SlicedGeometry3D. Further possibility: Separation in Regular and Variable Sliced Geometry (RegularSliced contains only slices with equal distance, orientation, ...)
  • ThinPlateSplineCurvedGeometry: Current tree of AbstractTransform -> LandmarkBasedCurved -> LandmarkProjectedBasedCurved -> ThinPlate... should be combined in one class.

Event Timeline

User wildes has pushed new remote branch:

bug-17035-BaseGeometry

User wildes has pushed new remote branch:

bug-17035-BaseGeometry_V2

User wildes has pushed new remote branch:

bug-17035-BaseGeometry_IntegrationBranch

User wildes has pushed new remote branch:

bug-17035-BaseGeometry_IntegrBranch_V2

[b05f0f]: Merge branch 'bug-17035-BaseGeometry_IntegrBranch'

Merged commits:

2014-05-26 17:22:32 Esther Wild [27d52c]
Change code to work with new geometry concept.


2014-05-26 17:20:26 Esther Wild [203ce6]
Merge branch 'bug-17035-BaseGeometry_IntegrBranch_V2' into bug-17035-BaseGeometry_IntegrBranch


2014-05-26 14:16:58 Esther Wild [99cfc7]
Correct test to use the New(...) constructor.


2014-05-26 11:56:24 Sebastian Wirkert [6c75cc]
Changes to make MITK compile on Linux.


2014-05-23 17:25:19 Esther Wild [5c0673]
Remove warning caused by BaseGeometryTest Constructor(other).


2014-05-23 17:22:03 Sebastian Wirkert [9cc337]
BaseGeometryTest works for debug mode aswell.


2014-05-23 15:38:23 Sebastian Wirkert [4ca869]
Changes to get new geometry concept to compile on Linux. TODO: get BaseGeometry test running.


2014-05-15 16:31:50 Esther Wild [5476c0]
Merge branch 'bug-17035-BaseGeometry_IntegrationBranch' into bug-17035-BaseGeometry_IntegrBranch_V2

Conflicts:
Core/Code/DataManagement/mitkImage.h
Core/Code/Rendering/mitkGeometry2DDataMapper2D.h


2014-05-15 11:14:27 Esther Wild [e14648]
BugFix, adapt further code to geometry concept.


2014-05-12 17:52:40 Esther Wild [301c48]
Removed timeGeometry from BaseGeometry class.
Adapted further code of plugins to new geometry concept.


2014-05-12 16:35:36 Esther Wild [b47184]
Bugfix in SurfaceGLMapper2D and ImageStatisticsCalculator.

  • new Iterator
  • Problems with typecast resolved

2014-05-12 15:15:28 Esther Wild [93f4d4]
Merge branch 'bug-17209-RemoveTimeBoundsFromGeometry3D-V2' into bug-17035-BaseGeometry_IntegrationBranch

Conflicts:
Core/Code/DataManagement/mitkBaseData.cpp
Core/Code/DataManagement/mitkDisplayGeometry.cpp
Core/Code/DataManagement/mitkDisplayGeometry.h
Core/Code/DataManagement/mitkGeometry3D.cpp
Core/Code/DataManagement/mitkGeometry3D.h
Core/Code/DataManagement/mitkProportionalTimeGeometry.cpp
Core/Code/DataManagement/mitkSlicedGeometry3D.cpp
Core/Code/DataManagement/mitkSlicedGeometry3D.h
Core/Code/Interactions/mitkCoordinateSupplier.cpp
Core/Code/Rendering/mitkPointSetGLMapper2D.cpp
Core/Code/Rendering/mitkSurfaceGLMapper2D.cpp
Core/Code/Testing/mitkDataStorageTest.cpp
Modules/ImageExtraction/mitkExtractDirectedPlaneImageFilterNew.cpp
Modules/ImageStatistics/mitkImageStatisticsCalculator.cpp
Modules/MapperExt/mitkMeshMapper2D.cpp
Modules/MapperExt/mitkVectorImageMapper2D.cpp
Modules/PlanarFigure/DataManagement/mitkPlanarFigure.cpp
Modules/PlanarFigure/Rendering/mitkPlanarFigureMapper2D.cpp


2014-05-12 11:31:00 Esther Wild [923764]
Marked renamed functions as deprecated.


2014-05-09 15:26:58 Esther Wild [605d8d]
Adapted further code to new BaseGeometry concept.


2014-05-08 16:53:56 Esther Wild [302d3e]
Modified...Flags are private now.

Deprecated Geometry2D inherits from PlaneGeometry and is (almost)empty.

Added Documentation (Migration Guide for new Geometry concept).


2014-05-08 13:20:51 Esther Wild [7e70e1]
New ModifiedLock class, to prohibit several calls of Modified()

Added deprecated Geometry2D


2014-05-05 16:56:23 Esther Wild [bd8598]

  • Renamed Geometry2DDataToSurfaceFilter, ...2DData, ...2DDataMapper2D, ...DataVTKMapper to PlaneGeometry...
  • Integrated Geometry2DTest in PlaneGeometryTest
  • Changed some Functions from public/protected to private

2014-04-30 16:23:58 Michael Goetz [65399c]
Fixed errors with TimeBounds calculation


2014-04-30 13:55:27 Michael Goetz [dee2c5]
Merge branch 'bug-17209-RemoveTimeBoundsFromGeometry3D' into bug-17209-RemoveTimeBoundsFromGeometry3D-V2

Conflicts:
Core/Code/IO/mitkImageWriter.cpp
Modules/PlanarFigure/DataManagement/mitkPlanarFigure.cpp
Modules/QtWidgetsExt/QmitkSliceWidget.cpp


2014-04-17 15:35:23 Esther Wild [25d380]
Adapted Plugins to work with new geometry concept.


2014-04-17 13:35:01 Esther Wild [5fc592]
Merge remote-tracking branch 'origin/bug-17035-BaseGeometry_V2' into bug-17035-BaseGeometry_IntegrationBranch

Conflicts:
Core/Code/Algorithms/mitkSurfaceToImageFilter.cpp
Core/Code/DataManagement/mitkAbstractTransformGeometry.h
Core/Code/DataManagement/mitkGeometry2D.h
Core/Code/DataManagement/mitkGeometry3D.cpp
Core/Code/DataManagement/mitkGeometry3D.h
Core/Code/DataManagement/mitkPlaneGeometry.h
Core/Code/Rendering/mitkBaseRenderer.h
Core/Code/Rendering/mitkPolyDataGLMapper2D.cpp
Core/Code/Testing/files.cmake
Modules/ImageStatistics/mitkImageStatisticsCalculator.cpp
Modules/QtWidgetsExt/QmitkHistogramJSWidget.cpp
Modules/QtWidgetsExt/QmitkSliceWidget.cpp
Modules/Segmentation/Algorithms/mitkContourUtils.cpp
Modules/Segmentation/Algorithms/mitkContourUtils.h


2014-04-14 14:28:09 Esther Wild [fc3370]
Removed LandmarkBasedCurvedGeometry (combined with LandmarkProjectedBCG).
Documentation of BaseGeometry.


2014-04-11 15:21:39 Esther Wild [714722]
BaseGeometry class is abstract.


2014-04-10 16:17:00 Esther Wild [3e481f]
Adapted Segmentation tool to BaseGeometry.

BaseClass:
Removed FloatSpacing -> Use GetSpacing instead.
Transfer ITK <-> VTK Transform are protected.
m_TimeBounds and m_BoundingBox are not mutable any more.


2014-04-03 16:04:46 Esther Wild [8b77ef]
Deleted Geometry2D.
All functions of Geometry2D are copied/included in PlaneGeometry.


2014-04-03 13:01:41 Esther Wild [3c3a67]
Merge branch 'bug-17035-BaseGeometry_V2' of mitk.org:MITK into bug-17035-BaseGeometry_V2


2014-04-03 12:52:05 Esther Wild [c79b9a]
SlicedGeometry3D inherits now from BaseGeometry instead of Geometry3D.


2014-04-03 11:11:19 Esther Wild [037824]
Changed inheritance of Geometry2D from Geometry3D to BaseGeometry.


2014-04-03 11:08:56 Esther Wild [3db3fb]
Changed inheritance of Geometry2D from Geometry3D to BaseGeometry.


2014-03-26 12:20:15 Esther Wild [40adb4]
moved everything concerning m_ImageGeometry from Geo3D to BaseGeometry


2014-03-14 13:37:58 Esther Wild [2b28fa]
Moved all Parametric... Functions and Variables from Geo3D to Abstract Geo.

Replaced these in Geo2D and Display Geo by "GetExtentInMM" and "GetIndexToWorldTransform" as they were called in Geo3D.


2014-03-14 11:50:30 Esther Wild [d910ba]
New Tests for BaseGeometry class


2014-03-13 17:21:29 Esther Wild [459157]
New tests for baseGeometry.

All variables of baseGeometry are private now.


2014-03-07 17:28:42 Esther Wild [368d1d]
Added several virtual protected Intern... functions to improve inheritance.

Added many new tests for BaseGeometry


2014-03-05 10:49:45 Esther Wild [504077]
internPreSetBounds


2014-03-03 18:36:51 Esther Wild [650e6f]
new structure of isValid, Initialize


2014-02-28 17:17:44 Esther Wild [eaded7]
Moved all functions to BaseGeometry class


2014-02-26 13:34:44 Esther Wild [0e1565]
move functions


2014-02-24 17:14:00 Esther Wild [cf00f3]
moved further functions


2014-02-19 17:21:07 Michael Goetz [7f7151]
Fixed Time interval for images with only one time step


2014-02-19 15:57:41 Michael Goetz [89891a]
Removed TimeBounds from Geometry3D


2014-02-14 18:02:26 Esther Wild [a22f6b]
new test functions


2014-02-13 18:09:38 Esther Wild [c938d1]
Merge branch 'bug-17035-BaseGeometry' into bug-17035-BaseGeometry_V2


2014-02-13 17:59:43 Esther Wild [89bf16]
New Test in mitkBaseGeometryTest


2014-02-07 18:19:43 Esther Wild [fc8d0a]
New Header for BaseGeometry (abstract)


2014-02-06 11:45:32 Esther Wild [95f80c]
new BaseGeometry class, new test
first function moved from geometry3d

[2bf5e0]: Merge branch 'bug-17035-BaseGeometry_IntegrBranch'

Merged commits:

2014-05-27 16:03:39 Esther Wild [747798]
COMP: remove further warnings


2014-05-27 16:02:57 Esther Wild [b1bbb9]
COMP: Include was missing in OpenCV modules, warnings in core removed.

User wildes has pushed new remote branch:

bug-17035-BaseGeometry_IntegrBranch

[607f39]: Merge branch 'bug-17035-BaseGeometry_IntegrBranch'

Merged commits:

2014-05-27 18:22:58 Esther Wild [03e245]
COMP: and more changes for the new geometry concept...

[42b5a1]: Merge branch 'bug-17035-BaseGeometry_IntegrBranch'

Merged commits:

2014-05-28 09:40:24 Esther Wild [7b9c90]
COMP: corrected Deprecated brackets, adapted Simulation module to new geometry.

[680e3a]: Merge branch 'bug-17035-BaseGeometry_IntegrBranch'

Merged commits:

2014-05-28 10:34:37 Esther Wild [03bf80]
COMP: removed deprecated warning