Page MenuHomePhabricator

Enhance GeometryData I/O: support ProportionalTimeGeometry, too
Closed, ResolvedPublic

Description

An initial solution to store GeometryData objects to file has been implemented in T19208, handling only one single Geometry3D.

Working with objects that contain multiple Geometry3D objects (3D+t geometries) lead to an enhancement of the I/O capabilities for GeometryData.

Along with an updated implementation, I added a test case corresponding to the new feature to mitkGeometryDataIOTest.cpp.

Event Timeline

User maleike has pushed new remote branch:

bug-19363-proportionaltime-io

[0715ab]: Merge branch 'bug-19363-proportionaltime-io'

Merged commits:

2015-10-08 17:13:10 Daniel Maleike [f6988a]
Fix typo


2015-10-08 16:40:40 Daniel Maleike [5e6ea5]
Add I/O for ProportionalTimeGeometry (within GeometryData)


2015-10-08 12:24:39 Daniel Maleike [5e5fe8]
Test verifying that GeometryData serialized time information (failing!)


2015-10-08 12:24:19 Daniel Maleike [7ab3fa]
mitk::Equal(TimeGeometry) and mitk::Equal(ProportionalTimeGeometry)


2015-10-08 16:43:20 Daniel Maleike [9cec7e]
Merge branch 'bug-19208-geometrydata-sceneio-hook-safe' into bug-19363-proportionaltime-io

Some comments from my side:

  1. Regarding the BaseDataEqual

I am not really happy with this solution. Ideally the BaseDatas should be comparable the same way everything else is via mitk::Equal(BaseData, BaseData, eps, verbose) define in the mitkBaseData.h .

I understand the reasoning, but this way it only works for a few specifically mentioned types. Maybe we need to add an InternalEqual function to the BaseData that needs to be implemented in each derived class.

  1. Parent order

std::string mitk::DataStorageCompare::GenerateNodeDescriptor(mitk::DataNode::Pointer node)
and
std::string mitk::DataStorageCompare::GenerateHierarchyDescriptor(mitk::DataNode::Pointer node, mitk::DataStorage::ConstPointer storage)

both create different strings for nodes if everything is identical but the order of parents has changed. Should they really be considered different in that case?

  1. Copyright

What is the license for:
http://4.bp.blogspot.com/_57lEz2uo9yw/TTGWNhjsWPI/AAAAAAAAA5M/yMauv61ULXc/s1600/web-technology-family-tree-large.jpg

  1. Minor nitpick

I am not that much of a fan of the classname of
mitkMoreSceneIOTest
maybe something more descriptive? Otherwise adding a number at the end would be more in keeping with something like mitkImageCast2.cpp etc.

And I just noticed, that this is the wrong bug, comment 3 should have been in T18280