[MINC-development] Welcome
Andrew Janke
minc-development@bic.mni.mcgill.ca
Tue, 12 Nov 2002 10:07:05 +1000
On Tue, 12 Nov 2002, Andrew Janke wrote:
> > 1. MINC could be better documented.
> > 2. MINC would benefit from a more complete set of automated tests.
> > 3. MINC requires extensions to support files larger than core.
> > 4. MINC requires extensions to support files larger than 2 GB.
> > 5. MINC requires extensions to run on 64-bit architectures.
> > 6. Given #3, block-structuring MINC data will improve file access speed.
> > 7. MINC must remain backward compatible with existing data.
Oh, and while we're at it, can I add:
8. Munging volume_io.h to reduce the amount of name space pollution?
ie:
#define X 0
#define Y 1
#define Z 2
is a shining example. If you attempt to use GSL within volume_io you will get
obsecure errors as GSL uses gsl_matrix * X in some of it's function
prototypes.....
Perhaps something like this would be better:
#define VOLIO_X 0
#deinfe VOLIO_Y 1
#define VOLIO_Z 2
There are plenty more examples in volume_io that also need addressing, this of
course may be a backwards compatibility nightmare, although having a
volume_io_old.h with wrappers may be a way around this.
Others that come to mind are:
ALLOC, FREE, REALLOC, FALSE, TRUE, OFF, ON, INTERPOLATE, PI, ABS, MAX, SIGN,
MIN, IJ, IJK, FLOOR, ROUND and N_DIMENSIONS.
IMHO all #defines in a library header should be prefixed with the libraries
short name ala GNU libraries. (such as GSL).
--
Andrew Janke ( rotor@cmr.uq.edu.au || www.cmr.uq.edu.au/~rotor )
Australia->University of Queensland->Centre for Magnetic Resonance
Work: +61 7 3365 4100 || Home: +61 7 3800 4042