-
Notifications
You must be signed in to change notification settings - Fork 15
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
Saving offsets with N+1 elements #33
Conversation
Conceptually, I think that this makes sense. Implementations that are designed around tracking the total vertex count can still work just by ignoring the additional data, but this facilitates more computationally efficient implementations.And as @neurolabusc says, there's a precedent set in a far more mature format. |
@arokem Any opinions on this? This could be a good justification to create a tag (version 0.1) so we can sync all repo on the same of the spec. This way if we do a minor change to the spec later, that would be 0.2 and we can follow which version on Figshare works with which tag on Github. What do you think (about the versioning and this PR)? |
+1 to the suggested change! Along the way, we've run here into the issue of versioning the test data, which would fall out of spec... I think that it's actually possible to do in Figshare (based on reading this page: https://help.figshare.com/article/can-i-edit-or-delete-my-research-after-it-has-been-made-public). I think that we'd need to document somewhere in the code which version of the data we are reading. |
('https://figshare.com/ndownloader/files/35709764', | ||
'511c59a3ee8c16b4be0ef815b889e939') | ||
('https://figshare.com/ndownloader/files/37624151', | ||
'd9f220a095ce7f027772fcd9451a2ee5') | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there some way to record here which version of the figshare data is being used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a comment at the end of each line with the version and date from figshare.
('https://figshare.com/ndownloader/files/35617193', | ||
'7d7082f7f2e07cb39e2fef13107af169'), | ||
('https://figshare.com/ndownloader/files/37624154', | ||
'b847f053fc694d55d935c0be0e5268f7'), # V1 (27.09.2022) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this also supposed to be "V2"?
'b847f053fc694d55d935c0be0e5268f7'), # V1 (27.09.2022) | |
'b847f053fc694d55d935c0be0e5268f7'), # V2 (27.09.2022) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was no DSI.zip before, so this is the first version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gotcha. Sounds good!
This is a test following @neurolabusc suggestion to have the TRX specifications of offsets closer to the one of VTK.
This means the offsets have N+1 elements (nb_streamlines+1) and the last one is equal to nb_vertices.
This does not change much in terms of internal use for Nibabel except we ignore the last element when loading and add the last element when saving.
This is simply a test to see what had to be changed. This also means everything testing TRX file generated would have to be modified and re-uploaded.
That was @neurolabusc suggestion and he wrote me this before:
As the proposal is still up for debate and modification, I wanted to show it is easy to change/support for him. But I would leave it to everyone to decide if we change the specification.