Open fwkoch opened 5 years ago
Has there been much thought into how to support this? I saw there were changes recently for #37 merging geometry into elements. This presumably breaks the reading compatibility for v1 files. Will there be a separate converter to chop up a v1 OMF file directly and move it into a v2 OMF file?
@dbrookes96 - You are right about no backwards compatibility. I think there are a couple options:
Thinking ahead to a reference C++ client library implementation (this is the next step after the Python prototype is complete), going with (1) means we would need to build the already-outdated v1 in C++ just to support translation. Not ideal but maybe ok? With (2) we have a standalone tool that can be reused, potentially alongside non-python code? But then this translation must be called explicitly. Option (2) could also just put the burden on whoever is holding the OMFv1 file to upgrade, not vendors... Option (3) is a bit harsh, but I think we could also argue v1 was a proof-of-concept, and realistically everyone just needs to move to v2.
I guess my opinion is something like (1) for the Python implementation (since it's really easy, and most of the code already exists), but the initial C++ implementation would only support v2. If v1 upgrade becomes a requirement in C++ too, we could add that to the client library later.
It would be great to get other perspectives and opinions on this, though!
We will continue to include a file reader that loads legacy OMF versions and writes to current version.