[Insight-users] Fitting a 2D mesh model to a 2D image?

Zachary Pincus zpincus@stanford.edu
Thu May 6 07:02:03 EDT 2004


Luis,

Thanks again for your time and suggestions on this matter!

> In theory, yes, you can follow the movement of bacteria using a
>    deformable model. In practice you will find that the exercise of
>    finding stable parameters for this algorithm may be challenging.
>
>    It doesn't hurt to try... but don't expect and easy win here.
>
>    Do you need to do this in real-time ?
>    or can you simply feed video frames one after another  ?

Well, since you asked, the analysis is offline (thank god).
My plan as it now stands is to use something like a set of ellipses and 
the spatial object registration framework (as well as internal state 
estimates like velocity and pose, in a Kalman-filter-like setting) to 
get a rough idea of where the bacteria are from frame to frame, and 
then use the deformable models on a per-frame basis to refine that for 
quantitative analysis. So fortunately, I won't need to do the motion 
tracking per se with a deformable model, just segmentation refinement.

Does this still seem like a challenging application for the deformable 
meshes, or are we getting closer to an "easy win"?

The reason for all this overkill is that I need to track bacteria in 
tightly packed colonies where thresholding or region growing methods 
would be prone to covering everything. Inherently constrained things 
like the spatial objects or semi-stiff meshes seem pretty necessary in 
tightly-packed situations.

And in that regard, I'll still need to do some work to keep any of the 
spatial objects (or deformable organisms -- very interesting paper -- 
if I need the full complexity) from overlapping. Do you know of any 
good ways to set up some sort of repulsion effects so that the spatial 
object to image registration framework would actively avoid certain 
regions of the image? I could write a custom objective function that 
takes this into account, of course, but perhaps there are some tricks 
that can be done to the gradient field (or some such) that would 
incorporate that.

Thanks again for all of these great ideas, I am most appreciative.

Zach

PS. I do love the ITK morphogenesis application and web page -- good 
references too!

> 2) Well,
>    How about the irony of using artificial bacteria in order
>    to track your real bacteria ?
>
>    You may want to take a look at the
>    Morphogenesis application:
>
>       http://www.itk.org/HTML/Morphogenesis.htm
>
>    In this method, an aggregate of artificial cells are used
>    in order to perform segmentation. However, the cells could
>    also be programmed for performing tracking just by making
>    them move to places where they will find pixel intensities
>    similar to where they were before.  In your case you could
>    generate a large number of small artificial cells (let's say
>    100 to 1000 cells) and spread them inside the region of your
>    real bacteria.  This is easily done by setting an egg-cell
>    and let it reproduce given that the intensity over the cells
>    is inside a range that you specify.   This looks like the
>    video:
>
>      http://www.itk.org/Art/MorphogenesisSegmentation.mpg
>
>     Once the cellular colony has stabilized inside the first
>     frame of your image sequence, you can replace it with
>     the second image sequence, and let the colony move in
>     order to fit again inside the new real bacteria.
>
>     The cellular aggregate is held in an itk::Mesh, where the
>     itk::Cell Pixel Type is an artificial cell: itk::bio::Cell.
>
>     You will find the code of this example under:
>
>
>           InsightApplications/
>                        Morphogenesis
>
>
>
>
> 3) Yet another option is to use the paradigm of Deformable
>    Organisms, proposed by Hamarneh, McInerney and Terzopolus
>    in MICCAI 2001:
>
>     http://mrl.nyu.edu/~dt/papers/miccai01/miccai01.pdf
>
>      Ahh, the beauty of PDF papers online... !!!  :-)
>
>
>     This approach will be ideal for tracking the bacteria
>     in a video sequence.  However, you will have to write
>     a significant amount of code in order to implement it...
>
>     This is copying biology in order to do computation
>     that can in turn help to understand biology.




More information about the Insight-users mailing list