devel > gifticlib version 1.0.0
Showing 1-4 of 4 posts
May 13, 2008 07:05 PM | Richard Reynolds
gifticlib version 1.0.0
Hi All,
I have made the release version of gifticlib (1.0.0) available at: http://www.nitrc.org/frs/download.php/23... .
The most notable change is small, but significant. The coordsys element in giiMetaData is now a pointer to a pointer (used as an array of pointers), rather than the single pointer from before. This version includes the format change where a MetaData element can include an arbitrary number of CoordSystem structures.
It is easy to test this. Just duplicate (and possibly modify) the CoordinateSystemTransformMatrix a few times within a DataArray element, and see if your software can read it. An example of testing it with gifti_tool is:
gifti_tool -no_updates -infiles many.cs.gii -write_gifti new.gii
diff many.cs.gii new.gii
-----
The other change is the ability to deal with external files as data, which I had previously been too lazy to do. A 'set_extern_filelist' option has been added to gifti_tool to accommodate this.
As a sample of what one can and might want to do, consider the following commands. From an existing dataset, set external file references and copy the dataset (therefore creating the external files). Then put the external data back into a new dataset. Finally, compare the original and newest dataset, to see that they are identical. This example assumes ts3.gii exists, with 3 DataArray elements.
# create ts3.ext.gii, along with external data files ext_data.ts3.?.bin
gifti_tool -infiles ts3.gii -no_updates -set_extern_filelist ext_data.ts3.{1,2,3}.bin -write_gifti ts3.ext.gii
# from ts3.ext.gii, create ts3.int.gii as internal data
gifti_tool -infiles ts3.ext.gii -no_updates -encoding BASE64GZIP -write_gifti ts3.int.gii
# test all differences
gifti_tool -compare_gifti -compare_data -compare_verb 3 -infiles b64gz.ts.3.gii ts3.int.gii
-----
Note that if one wants to create a new dataset that points to existing external data files _without_ creating (or overwriting) them, add the '-no_data' option to the gifti_tool command (so that it doesn't attempt to write the data out when writing a new dataset).
Please let me know if there are any comments or questions about this.
- rick
I have made the release version of gifticlib (1.0.0) available at: http://www.nitrc.org/frs/download.php/23... .
The most notable change is small, but significant. The coordsys element in giiMetaData is now a pointer to a pointer (used as an array of pointers), rather than the single pointer from before. This version includes the format change where a MetaData element can include an arbitrary number of CoordSystem structures.
It is easy to test this. Just duplicate (and possibly modify) the CoordinateSystemTransformMatrix a few times within a DataArray element, and see if your software can read it. An example of testing it with gifti_tool is:
gifti_tool -no_updates -infiles many.cs.gii -write_gifti new.gii
diff many.cs.gii new.gii
-----
The other change is the ability to deal with external files as data, which I had previously been too lazy to do. A 'set_extern_filelist' option has been added to gifti_tool to accommodate this.
As a sample of what one can and might want to do, consider the following commands. From an existing dataset, set external file references and copy the dataset (therefore creating the external files). Then put the external data back into a new dataset. Finally, compare the original and newest dataset, to see that they are identical. This example assumes ts3.gii exists, with 3 DataArray elements.
# create ts3.ext.gii, along with external data files ext_data.ts3.?.bin
gifti_tool -infiles ts3.gii -no_updates -set_extern_filelist ext_data.ts3.{1,2,3}.bin -write_gifti ts3.ext.gii
# from ts3.ext.gii, create ts3.int.gii as internal data
gifti_tool -infiles ts3.ext.gii -no_updates -encoding BASE64GZIP -write_gifti ts3.int.gii
# test all differences
gifti_tool -compare_gifti -compare_data -compare_verb 3 -infiles b64gz.ts.3.gii ts3.int.gii
-----
Note that if one wants to create a new dataset that points to existing external data files _without_ creating (or overwriting) them, add the '-no_data' option to the gifti_tool command (so that it doesn't attempt to write the data out when writing a new dataset).
Please let me know if there are any comments or questions about this.
- rick
May 13, 2008 09:05 PM | Erik Anderson
RE: gifticlib version 1.0.0
Hi all,
Just so everyone is aware, these changes break the current python bindings. I am currently working to fixing this and will post the bindings as soon as I can test to make sure they are stable.
Thanks,
Erik
Just so everyone is aware, these changes break the current python bindings. I am currently working to fixing this and will post the bindings as soon as I can test to make sure they are stable.
Thanks,
Erik
May 13, 2008 09:05 PM | Richard Reynolds
RE: gifticlib version 1.0.0
Thanks, Erik.
Indeed, these changes should break the code of anyone using the library, as there was a change to the basic data structure. This will change how one must access the coordsys structure(s).
Again, to anyone using this library, please feel free to send me email if there are questions (or post them here).
- rick
Indeed, these changes should break the code of anyone using the library, as there was a change to the basic data structure. This will change how one must access the coordsys structure(s).
Again, to anyone using this library, please feel free to send me email if there are questions (or post them here).
- rick
May 20, 2008 05:05 PM | Erik Anderson
RE: gifticlib version 1.0.0
Hi all,
First off, sorry if any of you have gotten a bit of spam relating to the Files section. I had some issues placing the python bindings (v1.0) in there, but I just checked and everything is ok now.
Anyway, I have fixed the python bindings (PyGifti-1.0 aka pygiftiio) to incorporate Rick's changes and the 1.0 spec. I have tested the Main API functionality (reading, writing, inspecting) but I have not yet been able to get to the more esoteric things in the deeper API (data copying, etc) that are all handled via gifti_tool. I will try my best to get this done as soon as possible and will post new versions of the bindings as necessary using the convention:
pygiftiio_1.0.x.tar.gz
Hopefully this will prevent confusion and the ReleaseNotes/ChangeLog provided should be detailed enough to explain any changes made.
Thanks,
Erik
First off, sorry if any of you have gotten a bit of spam relating to the Files section. I had some issues placing the python bindings (v1.0) in there, but I just checked and everything is ok now.
Anyway, I have fixed the python bindings (PyGifti-1.0 aka pygiftiio) to incorporate Rick's changes and the 1.0 spec. I have tested the Main API functionality (reading, writing, inspecting) but I have not yet been able to get to the more esoteric things in the deeper API (data copying, etc) that are all handled via gifti_tool. I will try my best to get this done as soon as possible and will post new versions of the bindings as necessary using the convention:
pygiftiio_1.0.x.tar.gz
Hopefully this will prevent confusion and the ReleaseNotes/ChangeLog provided should be detailed enough to explain any changes made.
Thanks,
Erik
