[MINC-development] Draft API for MINC 2.0
Andrew Janke
minc-development@bic.mni.mcgill.ca
Mon, 16 Jun 2003 15:06:53 +1000
On Sat, 14 Jun 2003, Steve ROBBINS wrote:
> > http://www.bic.mni.mcgill.ca/users/jgsled/outgoing/minc2.0/
> >
> > Please read it over a let us know what you think. If you find any
> > loose ends please pull on them.
>
> Wow -- that looks like a lot of work.
>
> Is there a gentler introduction that outlines the concepts and
> data types? For instance, what is a "group"? What is the "path"
> argument that many functions take? Is this api layered on top of
> hdf5? If so, is it necessary to understand it to read the new api
> document?
What Steve said.
+
Are you really really sure you want to add more data types? (COMPLEX, etc) I
for one was happy with the idea of a 'vector_dimension/complex_vector' for these
as it allowed a fair bit more flexibility.
The reason I ask is that it's going to make the current "voxel_value_get" type
functions a whole lot more difficult to grok.
Do you return a pointer to a double and assume that double++ will contain the
second part of the complex data point? or do you return a struct? or do you
have a set of special functions like this:
get_complex_voxel_value(starts[], double *real, double *imag)
?
On a similar note, (and I don't know their real purpose yet), is there really a
good reason to introduce things such as "TALAIRACH" types into a data format?
these are head CT/MRI specific things are they not? By all means include them
but I would have thought such a thing was better included as a user attribute
using some C/L tool. Granted you have included it as what appears to be an
optional extra.
Extra wants/needs/desires:
* gems such as voxel_loop() get transferred, and hopefully parallelised... :)
* get_data_from_world_point(ulong coord[]) ie: internal interpolation
that returns null/0 when out of bounds. This may well be a very slow
function but such is life.
* 'noob' functions?
get_voxel_data_3d(x, y, z) ala volume_io ?
Apart from that I like a lot, expecially the functions with hypercube in their
names... ;)
a