Page MenuHomePhabricator

SceneIORewrite: Use micro-services instead of ITK ObjectFactory
Closed, WontfixPublic

Description

Description:
SceneIO does not take full advantage of the new IO System.

Use-Case: Micro-services are by now the standard-way in MITK to discover Reader and Writer implementations. The new concept allows to define handleable Mime Types and options for reading/writing files. Allowing SceneIO to use this information is a new effort because several side-effects have to be managed.

Practical Implementation:
use the reader/writer registries to discover usable writer and use them smartly. Write properties to XML-files inside package. Estimated Effort: Days

Ideal Implementation:
Additionally develop a buddy-system between readers and writers to allow for smart selection of the correct reader to guarantee a 1:1 outcome when writing and then reading a scene file.
Completely rethink properties vs fileIO: Do we want to integrate them into the readers and writers themselves (See NRRD images)? Do we provide a common handler for them in their own Reader Writer?
Estimated Effort: Weeks (mainly design questions)

Open Questions:
Can we use the same interface for BaseData and Properties?
Why do we have serializers and not stream-IO requirements for certain types?
Could we generalize from “to some file” and “to TiXElement*”? Just “ToText()” or “ToBlob()”? Like this we could implement different Backend-Services for XML/Zip-Files or data bases?!

Event Timeline

kislinsk claimed this task.
kislinsk added a subscriber: kislinsk.
This task was automatically closed because it wasn't updated at least since July 2016 (over 2 years). Please re-open this task if you think that it is still relevant. This most probably means that you will resolve it.