[Insight-users] 4-Connectivity of itkMesh (load a PTX file)?

Luis Ibanez luis.ibanez at kitware.com
Sun Aug 9 15:28:37 EDT 2009


Hi David,


Thanks for the list of algorithms.


Please find some comments below.


1) This one is a challenging one. I agree with you that Octrees
     or a KdTree will be helpful here.


2) We do search for closest points in the code
    recently posted to the Insight Journal:
http://www.insight-journal.org/browse/publication/645
http://hdl.handle.net/10380/3063

This is done in the source code of the MeshInterpolator.

You will also find the code at:
http://svn.na-mic.org/NAMICSandBox/trunk/QuadEdgeMeshRigidRegistration/Source/

You will see that the code uses a KdTree internally.


3) Agree

4) Agree

5) It wouldn't be too hard to extend Region Growing algorithms
    to work on Meshes. They will have to be independent classes
    but will be easily build once we port a Mesh version of the
    FloodFill iterator.


Coming up with a hybrid data structure sounds like a good
idea. In this way the different needs could be balanced
without having to force the functionality of an existing data
structure.

Have you had a chance to study the VTK classes ?:

              vtkStructureGrid
              vtkUnstructureGrid


They will be a good reference.


         Luis


------------------------------------------------------
On Sat, Aug 8, 2009 at 9:01 PM, David Doria
<daviddoria+itk at gmail.com<daviddoria%2Bitk at gmail.com>
> wrote:

> On Sat, Aug 8, 2009 at 5:25 PM, Luis Ibanez <luis.ibanez at kitware.com>wrote:
>
>>
>> Hi David,
>>
>> I would think that it all depends on what you are going to do next
>> with this data.
>>
>> The image 2D storage will be more compact and will be convenient
>> for performing processing that relies on neighborhoods. However its
>> notions of Origin, Spacing and Direction will be useless, and even
>> worse, actually misleading.
>>
>> The storage as a Mesh seems to be a better option... but then we have
>> less Mesh-based filters than Image-based filters.
>>
>> Again, it all depends on what kind of operations or algorithms are you
>> planning to apply to your LiDAR data.
>>
>>     Please let use know about them,
>>
>>
>>          Thanks
>>
>>
>>              Luis
>
>
> I thing both types of operations can be necessary. Here is a small list:
>
> 1) Ray-mesh intersections - an itkMesh would be the way to go here (are
> there efficient intersection methods available? I saw that there is an
> octree class (http://www.itk.org/Doxygen/html/classitk_1_1Octree.html )
> but I grepped for "octree" in the examples and came up with nothing. In VTK,
> the http://www.vtk.org/doc/release/4.0/html/classvtkOBBTree.html class has
> a SetDataSet(PolyData) method that you can stick a whole mesh into the
> octree and then call Ocree->IntersectWithLine(P0, P1), is something like
> this available in ITK? (Luis - this would be the main conversion necessary
> to bring the synthetic LiDAR scanner to ITK...)
>
> 2) "all points in a 3d radius" lookup - itkMesh should be used - as with
> the octree, I didn't see anything about how to put a mesh into a kdtree for
> these nearest-neighbor type lookups?
>
> 3) 4-neighborhood connected neighbors for "quick" normal estimation or
> simple depth discontinuity detection - an itk Vector Image would be well
> suited here.
>
> 4) Traversing a scan a "strip" (i.e. column) at a time - seems like an
> itkImage would be good here
>
> 5) Region growing on the mesh - i.e. finding parts of the mesh that are
> similar according to some metric (probably involving the normals) - an
> itkImage is crucial here.
>
> It looks like both types of functionality are required sometimes, so maybe
> I just need to write functions to load the data into both data structures
> and use the appropriate one when necessary? Or maybe derive a class from
> itkMesh that is called itkGridMesh that stores the connectivity information
> and has "getUpperNeighbor", "getRightNeighbor" etc type functions. I'm not
> sure this is generalizable to N-d though...
>
> Thanks,
>
> David
>
> _____________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090809/9aa71b74/attachment.htm>


More information about the Insight-users mailing list