[MINC-development] beta mincmorph

Andrew Janke minc-development@bic.mni.mcgill.ca
Thu, 28 Nov 2002 12:39:05 +1000


For those who are interested I have updated the version of mincmorph (the
eventuall replacement for binop) in:

 /s/s/minc_dev/mincmorph

If you look at the code of the Group option (Connected component labelling -- in
kernel_ops.c) you'll note I haven't used the classical approach to resolving
equivalences. (Building an array of equivalences as you go with redundacies).
Instead I've used an approach that I can't find anywhere else...  but I'm sure
has been described before.  The reason for using it is that i can guarantee
memory usage will only grow to a finite size this way, something I can't ensure
with the classical version especially in 256^3 volumes.

As such, if anyone else has seen this approach anywhere else I'm all ears as to
whether I have missed something important.  For all the test cases I've fed
at it, it appears to be correct anyhow.

On another somewhat related note, this version appears to be able to generate
files that will crash register once it attempts to load the colourmap (after
loading the file).  I assume this is some range problem but I'm currently
stumped as to where it is...

Typical invocation to find groups in a file for data between the range 300 and
1000 in the file foo.mnc:

   mincmorph -verbose -successive 'B[300:1000]G' foo.mnc res.mnc

This should produce a unsigned short volume as output (use -byte for byte output
but this means that internally the group operator is going to have trouble if
during the grouping it requires more tha 256 labels.)  This bit I am unsure as
to how to handle (internal precision) so again I'm interested in others
comments.

To then view the output file something like this is probably needed:

   mincmath -clamp -const2 0 100 res.mnc res_ranged.mnc

or

   mincwindow ....


Enough from me for now.... :)


--
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