[Insight-users] Performance of 3D Watershed?

Harri Tapio Jaalinoja harri.jaalinoja@helsinki.fi
Tue, 22 Oct 2002 20:05:40 +0300 (EET DST)


Hi!

I am running code based on the watershed example to segment a 101^3 cube
of electron microscopy density data (type = short).

The problem is that the code seems to stall my machine.
The progress command meter writes first 3 dots almost right away, the 4th
after a while, but the 5th I never saw.

I am not using the gradient magnitude image filter because the density
values as such should be a valid height function.

I don't have a smaller data cube at the moment I could experiment with.
I can simply read data from the existing file, to fill in a smaller cube.
This of course messes up the structure, but might give some idea about the
processing. A cube of 33^3 already stalls the machine, 32^3 is processed
fairly quickly.

My processor:
model name      : AMD Athlon(TM) XP2200+
stepping        : 0
cpu MHz         : 1800.110

Available memory:
[hajaalin@gene work]$ free -m
             total       used       free     shared    buffers     cached
Mem:          1008        170        837          0         15         77
-/+ buffers/cache:         77        931
Swap:          243         11        231

I am running Mandrake Linux 9.0.

Here's some info about the data
Number of images:               1
Dimensions:                     101 101 101 voxels
Page dimensions:                101 101 101 voxels
Channels:                       1
Data type:                      short (size = 2)
Color model:                    Gray scale
Voxel units/sampling:           8.89903 8.89903 8.89903 A/voxel
Min, max, ave, std:             -1813.35 2149.04 11.9238 0

I have tried various values for the anisotropic diffusion filter. At all
values a cube size can be found that is no longer processed (at least
nowhere as quickly as the one step smaller cube). The biggest cube (32^3)
was in fact processed without the filter.

With some values I get this:
..........Exception caught during processing.
Unknown
itk::ERROR: itk::watershed::SegmentTreeGenerator::MergeSegments:: An
unexpected and fatal error has occurred. This is probably the result of
overthresholding of the input image.

which at least clearly tells that something is going wrong.

Based on your experience, what do you make of the numbers and ramblings
above? Any ideas I could experiment with?

Thanks for your help!

Harri