[MINC-development] MINC API

Andrew Janke minc-development@bic.mni.mcgill.ca
Fri, 2 May 2003 11:53:20 +1000


On Wed, 30 Apr 2003, John G. Sled wrote:

> I am looking for some feedback with respect to the API of MINC 2.0.
> ...
> The distinction made at the time was that the new libminc would be used in
> applications that managed their own memory whereas libvolume_io would continue
> to offer memory management and caching.

Sounds like a good plan.

> My question for the list is how much functionality that is currently
> in other libraries should be put into libminc?

Myself I think that a lot of the functionality of volume_io should be removed.
This is WRT to functions such as file_exists() and the vast amount of name-space
pollution.  This can easily be fixed by adding a VOLIO_/MINC_ prefix to the
start of all #defines of course, but a lot of them we'd be better of
just removing (SQR, PI, for_less, for_up, etc etc).

There is no reason why they should be completely removed, just moved to a
separate header file like minc_def.h  Reason being that the current volume_io is
often difficult to link with other libraries due to name-space clashes.

> What about general transformations that are represented as MINC files?  Any
> comments would be appreciated.

I think that xfm's should most definitely be included in the MINC API along with
the tag's type files that are exported from register.  (And change '%MNI
transform file' to '%MINC transform file' while you're at it! :)

Just my 2c.


a