Skip to content

NIFTI-Imaging/gifti_clib

Repository files navigation

[CircleCI]

These notes are with respect to the AFNI GIFTI C API.

  • This API is built on top of expat, and is released into the public domain.

  • The main functions are:

    gifti_read_image, gifti_write_image, gifti_free_image

  • The exported functions in gifti_io.h are intended for users of this API, particularly those prototypes listed first.

  • The gifti_xml functions are not intended for external use.

  • Taking pointers from the gifti_image structure should be okay (providing they are then set to NULL), but it may be less confusing to copy data out.

  • To save memory, it is suggested to steal the darray[k]->data pointers, and set them to NULL.


Speeds: (last checked in version 0.7)

Since I/O speed was a question when deciding whether to use XML for
GIFTI, read times (in seconds) from a mac G5 are provided.

(no b64 error checking)         (with b64 error counting and skipping)

ascii     base64    base64gz    base64    base64gz  surface name
-----     ------    --------    ------    --------  ------------
 0.05       0.00     0.00        0.01     0.00      aoantonym
 0.37       0.08     0.12        0.10     0.13      pial
 7.20       0.95     0.75        1.14     0.79      time_series

todo:

  • on alloc failure, propogate error up and return NULL

  • accessor functions

  • indexed reading

  • test doxygen comments

  • #ifdef __cplusplus

  • select node list

  • display all valid attributes? DTD? valid attribute values given the name? known metadata?

  • gifti_remove_gim_metadata()

  • gifti_remove_DA_metadata()

  • gifti_remove_all_metadata()

  • gifti_MD_delete(name)

  • post XML read: validate gifti structure - check for UNKNOWN attributes - done?? "invalid darray XX" - check that MD names are unique

Releases

No releases published

Packages

No packages published