[Insight-users] Distance between surfaces

Koen Vermeer koen at vermeer.tv
Tue Jun 9 16:49:45 EDT 2009


Thanks for the comments, but it seems that I haven't made myself clear
enough... I was looking for a way to find the distance for all points of
the surface; I'm not looking for the minimum distance between the two
surfaces. So, at the end, for surface A, I need the distance to surface
B, for each point on surface A. Hence my idea to do a distance mapping
based on surface B, and then extract the values for surface A.

I can still use your kd-tree idea to efficiently get the distances; I
just shouldn't limit myself to the minimum distance of all the points on
the surface. I'm just wondering is that approach is more efficient than
a distance map.


My goal is this: Assume that surface B is like a flat horizontal surface
(with a certain thickness), with a hole in the center. Now, a fluid is
flowing on the surface, and through the hole. I'm interested in the area
around the hole, and more specifically in the minimum thickness of the
fluid layer in this area. My final goal is then to find a surface (like
a band) around the hole with a minimum area, basically defining the
minimum area that the fluid flows through. In my case, the horizontal
surface is curved and bumpy, and the fluid isn't a fluid, but I guess
this is the easiest way to visualize it.


Best,
Koen

On Tue, 2009-06-09 at 13:24 -0400, Arnaud Gelas wrote:
> Hi Koen,
> 
> if you want an approximation of the minimal distance between the two 
> surfaces one cheap and "fast" solution would be to consider point sets 
> and found the shortest distance between these two sets. Note this is 
> only an approximation and it won't help you if you need to check if the 
> two surface intersects...
> 
> If an approximation is ok for you, you could do the following:
> use a kd-tree where you store one of the two surface (let's say A).
> Then for the first point of the other surface (B) you search for the 
> closest point on the (A) and you get the distance dist.
> Then for the next point you search all closest neighbor given the 
> distance dist. If there are any you update dist as the minimum of these 
> neighbors, else you don't change dist. You iterate.
> 
> HTH
> Arnaud
> 
> Leila Baghdadi wrote:
> > Koen,
> >
> > one idea would be to convert your surfaces to binary mask images
> > ( itkTriangleMeshToBinaryImageFilter) and then compare images voxel by
> > voxel, 
> >
> > HTH
> >
> > Leila
> >
> > On Tue, 2009-06-09 at 18:08 +0200, Koen Vermeer wrote:
> >   
> >> Hi,
> >>
> >> My experience with ITK is still rather limited, so I'm looking for help
> >> on which approach would be the best for my problem.
> >>
> >> In a 3D volume (note that my pixels are not isotropic), I have two 2D
> >> surfaces (represented by a set of points, or a level set, or whatever
> >> the solution requires). I am looking for a way to determine the minimum
> >> distance between these two surfaces, for each point on these surfaces.
> >>
> >> I was thinking about propagating one surface and recording some kind of
> >> distance map on the location of the second surface. Would something like
> >> a distance map be the most appropriate operator, a fast marching filter,
> >> or something else?
> >>
> >> Any comments are appreciated; if more information is required, I'd be
> >> more than happy to elaborate on the problem!
> >>
> >> Best,
> >> Koen
> >>
> >> _____________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.itk.org/mailman/listinfo/insight-users
> >>     
> >
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >   
> 



More information about the Insight-users mailing list