Re: [vmtk-users] centerlines question
Brought to you by:
davidsteinman,
lucantiga
From: Luca A. <an...@ma...> - 2007-01-08 10:49:04
|
Hi Joong-Ho, glad you're using vmtk, welcome aboard! The way you ran centerlines looks correct for the most part, except that in your case you should use only one source point and two target points. Source and target points need not to be specified in pairs. If you specify two sources and two targets, you should get four lines, two from the first source to both targets and two from the second source to both targets. The vtkMath error is usually not critical. It's generated during the Delaunay tessellation and it usually means that the tessellation is not unique, as when surface points are organized regularly (e.g. in a rectilinear or cylindrical lattice). Feel free to send me your model, so I can give it a try myself. The centerline code is in general very robust, so I'm interested in seeing a case in which it fails. As to the selection of source and targets: your model has closed ends because it comes out of levelsets. If you want to keep it like this, you're bound to selecting source and targets the way you did. Note that the resulting centerlines won't be affected by the fine location of your source and target points outside about a vessel radius away from them. If you want to clip the endpoints, you can proceed in two ways (as explained in the "From 3D surfaces to CFD meshes" tutorial, section "Opening the surface"): - interactively, using vmtksurfaceclipper, which lets you chop a model with a sphere - automatically, using vmtkendpointextractor (with this you first compute centerlines with manual source and targets, and then you chop the enpoints based on the centerline ends) Once you open the surface, the selection of source and targets is performed with the barycenter of open profiles. Best regards Luca -- Luca Antiga, PhD Biomedical Technologies Laboratory, Bioengineering Department, Mario Negri Institute email: an...@ma... web: http://villacamozzi.marionegri.it/~luca mail: Villa Camozzi, 24020, Ranica (BG), Italy phone: +39 035 4535-381 On Jan 8, 2007, at 6:59 AM, Joong-Ho Won wrote: > Hi, > > I compiled and installed vmtk0.6 on a Windows XP machine. It seems > work > fine, but I have a trouble with using vmtkcenterlines. > > I want to extract centerlines of the abdominal aorta and its branches. > As a simple test, I segmented the aorta (below the heart and above the > iliac bifurcation) and the right renal artery from a CTA data, > resulting > in a T-shaped branching. Then I obtained a surface model using > vmtkmarchingcubes (I basically followed the tutorial in the website). > > Next, I ran vmtkcenterlines: > > vmtkcenterlines.py -ifile p001_part1_model.vtp -ofile > p001_part1_centerlines2.vtp > > as in the tutorial. > > As I wanted T-shaped centerlines, I thought that I need two pairs of > source and target points. I chose both source points to be the > same: the > proximal endpoint of the aorta. Target points are chosen to be the > distal end of the aorta and the end of the renal artery. > > Since the model is a closed surface, I pressed space *twice* on the > top > of the aorta surface to select the source points. For target points I > pressed space on two different points on the surface, of course. > > During centerline extraction, a vtkOutputWindow popped up and > complained : > > Unable to factor linear system > > which was a vmtkMath error. > > When I displayed the centerlines (p001_part1_centerlines2.vtp, using > vmtkcenterlineviewer), I only see a single centerline, which I > guess is > one for the aorta. > > I tried again with only a single source point, but the result was > the same. > > Interestingly, the Voronoi diagram looked fine. > > To summarize, > > 1. I can't see multiple centerlines. > 2. I have no confidence on my selection of source and target points > (what is the precise definition of these points?) > > It appears that I made some simple mistake, but can't guess what it > is. > FYI, I attach the output of vmtkcenterlines below. It seems that the > script produces only one centerline. > > Thanks in advance, > > Joong-Ho. > > > > C:\Program Files\VMTK\bin>vmtkcenterlines.py -ifile > p001_part1_model.vtp -of > p001_part1_centerlines2.vtp > > Creating vmtkCenterlines instance. > Automatic piping vmtkcenterlines > Parsing options vmtkcenterlines > SurfaceInputFileName = p001_part1_model.vtp > CenterlinesOutputFileName = p001_part1_centerlines2.vtp > Explicit piping vmtkcenterlines > Input vmtkcenterlines members: > Id = 0 > Surface = None > SurfaceInputFileName = p001_part1_model.vtp > SeedSelectorName = pickpoint > SourceIds = [] > TargetIds = [] > SourcePoints = [] > TargetPoints = [] > AppendEndPoints = 0 > FlipNormals = 0 > CapDisplacement = 0.1 > RadiusArrayName = MaximumInscribedSphereRadius > AppendEndPoints = 0 > Resampling = 0 > ResamplingStepLength = 1.0 > DelaunayTessellation = None > UseTetGen = 0 > TetGenDetectInter = 1 > CostFunction = 1/R > CenterlinesOutputFileName = p001_part1_centerlines2.vtp > DelaunayTessellationOutputFileName = > VoronoiDiagramOutputFileName = > Reading VTK XML surface file. > Executing vmtkcenterlines ... > NonManifold check. > Cleaning surface. > Triangulating surface. > Capping surface. > Please position the mouse and press space to add source points, 'u' > to undo > Please position the mouse and press space to add target points, 'u' > to undo > Computing centerlines. > Done executing vmtkcenterlines. > Writing VTK XML surface file. > Output vmtkcenterlines members: > Id = 0 > Centerlines = vtkPolyData > RadiusArrayName = MaximumInscribedSphereRadius > EikonalSolutionArrayName = EikonalSolutionArray > EdgeArrayName = EdgeArray > EdgePCoordArrayName = EdgePCoordArray > CostFunctionArrayName = CostFunctionArray > DelaunayTessellation = vtkUnstructuredGrid > VoronoiDiagram = vtkPolyData > PoleIds = vtkIdList > > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |