[MINC-users] voxel_loop-like hard-disk access for arbitrary
voxel positions
Andrew Janke
andrew_janke@iinet.net.au
Mon Nov 22 08:25:03 2004
On Wed, 10 Nov 2004, Michel Audette wrote:
Michel, I have been giving this a bit of thought over the past few days and here
is what I can come up with...
> Are you familiar with Level-set and Fast Marching Level-Set surface models?
Yup.
> Basically, it involves an evolving front, and I'm trying to figure out a way
> to implement something like this with voxel_loop-like management (i.e.: use
> as little RAM as possible). In other words, it does not process the whole
> volume at once, but iterates an evolving surface based on a moving shell
> surrounding the surface at the previous simulated time iteration. Wondering
> if this is feasible under MINC, in a manner comparable to voxel_loop... In
> other words, I need to be able to access specific voxels of a given volume
> on disk....
ok...
> Can anyone comment? I need to process MR volumes that have been resampled to
> CT-density, actually greater than normal CT-density, in the sense that I
> first resample CT data to be isotropic, typically .5mm resolution, and do
> the same for MR. I need to do this with a 32-bit Linux machine, hence the
> problem.
The best solution I can think of is the data blocking features of HDF (minc 2.0)
I don't know just how much of this has been implmented in minc 2.0 as of yet,
but at least you could load a set of sub-blocks using a prioritised list of
local neighbouring blocks.
There is no sensical way that I can think of where you are going to be able to
prdict where your front will evolve to and thus approaches like voxel_loop are
doomed to fail IMHO. ;(
But given that you are iterating, (not recursing) what is the possibility that
you could evolve your front with sub-blocks of the volume, and write your
results out as you go? The simplest approach would be to take the volume in 8
chunks to begin with first.
--
Andrew Janke (andrew_janke@iinet.net DOT au || www.cmr.uq.edu.au/~rotor)
Australia->Brisbane H: +61 7 3390 6332 || M: +61 4 2138 8581