Re: [vmtk-users] centerlines question
Brought to you by:
davidsteinman,
lucantiga
From: Luca A. <an...@ma...> - 2007-01-10 18:01:06
|
Hi Joong-Ho, good that it worked, but the issue is worth further investigation. Let me know when you can send the file over. The branch clipper has to know what arrays to base the splitting on. The quickest thing you can do in this case is pipe the clipper after the extractor (in this case don't forget to remove the -ifile and -centerlinesfile options) Ciao 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 9, 2007, at 1:08 AM, Joong-Ho Won wrote: > Hi Luca, > > Thanks for timely answers. I further played with the tools and > figured out that the selection of source/target points were wrong. > When segmenting vessels, I chose points on the first and the last > slices of the CT data for the aorta. This resulted in planes > parallel to z-axis in the surface model. I again chose points on > these planes for a source and a target points. For some reason, > this made the centerline module confused. I avoided points on those > planes and it worked fine. > > Interestingly, those planes disappear when I visualize the model > using vmtksurfaceviewer with opacity 0.25. I don't know why. > Currently I don't have the model file with me. I will send them to > you soon. > > BTW, how can I clip the vessel surface using the output file of > vmtkbranchextractor? I tried > > vmtkbranchclipper -ifile foo.vtp -centerlinefile foo_clsp.vtp - > ofile foo_sp.vtp > > but failed, where foo.vtp is the surface model, foo_cl.vtp is > obtained with > > vmtkcenterlines -ifile foo.vtp -ofile foo_cl.vtp > vmtkbranchextractor -ifile foo_cl.vtp -ofile foo_clsp.vtp - > radiusarray MaximumInscribedSphereRadius > > Thanks in advance. > > > joong-ho. > > > > Luca Antiga wrote: >> 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... <mailto:an...@ma...> >> web: http://villacamozzi.marionegri.it/~luca >> mail: Villa Camozzi, 24020, Ranica (BG), Italy >> phone: +39 035 4535-381 |