Summary:
This paper deals with topological correction of brain isosurface. The main idea is to mix surface approach (for handle detection) and image approach (for the correction part, faster and robust).
Open Science:
This paper is most definitly within the scope of open science. The code is based on VTK and everything (data, code and documentation) is given. Moreover, there is no publicly available toolkit for topology management so far. (note: guskov2001 papers goes with a binary). It should be noted that we are still lacking (in the open community) a suitable Data Structurefor rigorous topological work on surface meshes. The authors implemented an HE data structure that manage orientability and other components. Unfortunatly it seems to be bundled with application specific code. See below for a discussion on how this could be best profitable to open source community.
Reproducibility:
I did not download the code and test it yet as the code is reported as not working.
This approach look pretty much alike the one from Wood04 where the authors used the isosurface (well, reeb-graph of iso surfaces and isocontours of the original image) to find the handles and "repaired" the mesh using the image. There too, MC was an intermediate step to recompute the corrected surface. This approach seems to be much simpler (which is a good thing) but the reader is left with no clue whatsoever about the underlying "handle detection" algorithm which unfortunatly is the core of the method. They seems to use a front propagation method on the isosurface to define a distance map (to what?), followed by a second pass where they detect the handles. The thing is, for each handle you have two specific "class" of loops (generators) that can be used to remove the handle. the first question is, how do you decide if you "pintch" the handle or "fill" the handle (dual operation, depending on the orientation of your surface)? Both operation lead to a genus - 1 surface, but very different ones. The second issue is that topology and geometry are disconnected. There is an infinity of loops that would be suitable to remove an handle in a topological sense. Here the authors seems to try to find the shortest one. Is that correct ? and if it is, why this one ? Are the authors sure they are getting the shortest one? I'm pretty much sure that the authors managed to removed all the handles in a topological sense (genus down to zero), I'm still wondering about if it's done properly (and the definition of properly in this case is also an issue to be discussed with the biologists... Whatever "properly" is, it should be stated from the start as it impacts significantly the algorithm).
Use of Open Source Software:
They do use open source (VTK).
Open Source Contributions:
Few details are given in the MICCAI paper, but the ppt contents more details. Most interestingly they somehow show that VTK does not contains the good structure for mesh processing. Even if the proposed structure contains some algorithm specific features, they implemented an Half-edge data-structure over the vtkPolyData. It would be interesting to see if the HE datastructure could be detached from the algorithm specific part (vtkPolyData -> vtkHalfEdgeMesh -> author code) and added to VTK toolkit. It would be also interesting to wonder if mesh processing features should be added to a VIZUALIZATION toolkit or to ITK which is dedicated to processing. The answer is most probably it should be integrated in ITK, but right now itk is lacking all the basic mesh processing filters vtk is providing..... A C-GAL - like mesh structure is definitly needed for mesh processing. By the way, how do the author insure closedness, 2-manifoldness (HE provides the orientation layer that vtkPolyData was not providing). Without those issues addressed, it seems difficult to treat topology rigorously (homology vs homotopy when the surface is not closed - we are working with surface of solid objects thus we should have 2-manifold, shall we let the end user handle that, or shall we enforce the 2-manfoldness in the DataStructure - ...).
Code Quality:
Did not check that. Compilation reported broken. I believe the author to have several years experience with VTK from belgium to caltech, INRIA, MIT and now kitware, so the code should be well written.
Applicability to other problems:
that topological could be of interest if control over the topology was given. The subject is verey active in graphical, mechanical and computational field. In medical field most people focus on brain, as the genus is known. It would be interesting to open the problem to a larger scale.
Suggestions for future work:
Here are somef works on a possible solution for the all-surface approach (which does not address some of the "mesh modification" problems). I'm still somehow working on it, if the author want to have some discussions on the problem, I'm open.
A. GOUAILLARD, C. ODET, X. GU, âComputing Shortest Cycles on Discrete Surfaces for Acurate Topological Modifications of Medical Image Isosurfacesâ, In Proceedings of IEEE EMBCâ05, Shanghai, September 11th-14th 2005. To appear.
A. GOUAILLARD, T. KANAI, C. ODET, X. GU, âOptimal Localization of Topological Artefacts on 3D Meshesâ, The 11th Int. Conf. on Geometry and Graphics, 1-5 Aug., 2004, Guangzhou, China.
Requests for additional information from authors:
I would definitly need some information on the handle detection part. There is nothing about it in the paper althought it's the core of the method IMHO.
Additional Comments:
Open to discussion on the subject.