Hello Simon, just so you know, the vmtkcenterlinemerge script should produce the dataset you're ultimately looking for (three segments, meeting at the bifurcation origin - no bifurcation group). Here's an example of usage: vmtkcenterlines -ifile surface.vtp --pipe vmtkbranchextractor --pipe vmtkcenterlinemerge --pipe vmtkcenterlineviewer -ofile merged_centerlines.vtp
What FindAdjacentCenterlineGroupIds does is returning the immediate upstream and downstream group ids given a group id, but I bet you already figured this out. I've thought about your situation, though, and I can't seem to figure out what might be happening. If something is wrong with the splitting, probably the vmtkcenterlinemerge script won't work out of the box, but please try it out so we have another clue in this direction. Feel free to send me the data so I can try things out myself. Thanks and best regards Luca On May 23, 2011, at 8:35 AM, Simon Wilson wrote: > Hi all, > > I've just started working with VMTK again after a long hiatus, and have > started integrating the C++ classes into an application. My goal is to obtain > the centreline topology, so that I can build a UI around this to allow for > interactive segmentation. > > I found the method > vtkvmtkCenterlineUtilities::FindAdjacentCenterlineGroupIds(...), which I > thought would give me the full connected tree, but it doesn't seem to work > that way. > > I have a simple structure of a single vessel that branches into two smaller > vessels in a Y-shape. From this, vtkvmtkCenterlineBranchExtractor finds a > total of 6 segments, but after calling FindAdjacentCenterlineGroupIds(), two > of these branches are "orphaned" -- they have no upstream and no downstream > groups. These both correspond to two parts of one branch, distal to the > bifurcation. > > The other oddity I've noticed is that, from the group that has the > bifurcation in it (1 upstream, 2 downstream groups), the branch which has the > two orphaned segments attaches another copy of the proximal part instead of > the orphaned branches. I've noticed there are methods within > vtkvmtkCenterlineUtilities for "unique" group IDs, but I've yet to try this > out. > > In short, how should I go about constructing the topology of the centerline? > Ideally, I just need 3 segments (the common proximal part, and the two distal > branches from the bifurcation), though I can deal with additional > "inter-bifurcation" parts if there's no other way. > > Thanks, > > Simon Wilson > ------------------------------------------------------------------------------ > What Every C/C++ and Fortran developer Should Know! > Read this article and learn how Intel has extended the reach of its > next-generation tools to help Windows* and Linux* C/C++ and Fortran > developers boost performance applications - including clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > vmtk-users mailing list > vmtk-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/vmtk-users ------------------------------------------------------------------------------ Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev _______________________________________________ vmtk-users mailing list vmtk-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vmtk-users