Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify and harden the annotation file format. #195

Open
allemangD opened this issue Aug 5, 2021 · 2 comments
Open

Simplify and harden the annotation file format. #195

allemangD opened this issue Aug 5, 2021 · 2 comments
Labels
Status: Triage Issues/PRs that need to be triaged

Comments

@allemangD
Copy link
Collaborator

I'm opening this issue to allow discussion of some ideas I mentioned in our planning for the next phase of work; I think making such changes and hardening the file format may enable easier adoption and integration with external tools.

Up to this point we've focused on making the file format easy to consume from cell locator; for example markups are stored as MRML nodes with metadata. We've made progress in removing some of the extraneous pieces (display node, etc) however there still is a lot of extra weight in the format.

For example the "controlPoints" objects contain "orientation", "selected", "locked", "visibility", "positionStatus"; none of these are used by Cell Locator. "label", "description", "associatedNodeID" are technically used, but not editable or significant.

At the extreme, the "controlPoints" only needs to be a list of position vectors.

Would it make sense to put effort into paring down the file format to only contain the minimally relevant information in an easy-to-consume format for external tools rather than Cell Locator? This would add some complexity to the (de)serialization logic in Cell Locator, but it might help to make our format easier to consume by other projects.

@allemangD allemangD added the Status: Triage Issues/PRs that need to be triaged label Aug 5, 2021
@allemangD
Copy link
Collaborator Author

allemangD commented Aug 5, 2021

From @lydiang during our meeting today:

The file should be Cell Locator centric. But we provide library etc. to get them into libraries like ITK/VTK and allow the annotation then be serialize into well documented models like VTK

The goal should not be to make the file format part of some public contract; we would be creating a library of tools which would allow third-party projects to consume the cell locator data.


The changes I mentioned, and clearly documenting those changes, will still be important in internally developing that library; so I still believe this is important.

I also wonder if it may be possible to allow Cell Locator itself to use the library; much of the functionality we would need in such a library is already present in the Annotation and AnnotationManager classes and subclasses. Exposing these, or a similar set of classes, in a library imported by Cell Locator may be ideal.

@lydiang
Copy link
Contributor

lydiang commented Aug 5, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Triage Issues/PRs that need to be triaged
Projects
None yet
Development

No branches or pull requests

2 participants