Centerline Computation

Hello Everyone,

I’m using VMTK module in Slicer to run Centerline Computation for this model input using the latest Preview release.

The task has run for nearly 10 hours but it was unsuccessful.

The notice that the endpoints are correctly computed and I think the actual problem is while writing the
centerline properties. CellId and Radius was written to the file, but the other properties are not written to the properties table.

Could someone give this a try? I would like to know if it is successful.

In this paper by Luca Antiga, skeletonization of a large network takes 50 seconds.

again, the issue is reported in the error message (bad_alloc). You are running out of memory.

The paper you cite says

“Thanks to the regularity of the capillary lumenboundary shape, and in order to shorten the comput-ing time, the images were resized at a resolution of 300x300 pixels with bicubic interpolation.”

How big is your volume?


Yes, I am running this on a server and I am not sure how much of memory is required for this task.

I have used segment editor to extract a subvolume from the original volume.

Thanks a lot for pointing this out. I am not sure how to do this.
Instead, I tried to use decimation in Surface Toolbox to reduce the number of points. This didn’t help because Centerline Computation could not be initiated using decimated model.

Your dataset is way larger than what they used.

I am not familiar with VMTK, or the centerline computation. If that’s a multithreaded task, you can try to find a powerful computer with dozens of cores, and hundreds of GBs of RAM. That will definitely speed up the task.

Otherwise, you can use Crop Volume to downsample your images prior to segmentation.

Thank you.

First I’d like to try Crop Volume with the following settings. I’m using the output volume obtained after segmentation as an input here. I hope this is OK.

I am not sure if Crop Volume works with the segmentation nodes directly. I would probably reduce the original volume and redo the segmentation at low resolution. Alternatively, if you don’t want to redo the segmentation, you can export your existing segment as a label map and reduce that (for that make sure to choose the interpolator as nearest neighbors).

Another option I think is to use the segmentation geometry and use a coarser resolution than the master volume.

I honestly do not know which one of these would give you the best fidelity with respect to the original high-resolution volume at reasonable volume sizes. @lassoan and others may have some other suggestion.

@Deepa nevermind, I think you are doing it right. I guess your master volume is a masked volume from the original data. So it should be fine…

Thank you, I’ll try with nearest neighbors. I did the same steps but used b-spline for interpolator and the cropped volume wasn’t created successfully.

Hi @muratmaga
I am using nearest neighbors this time

For some reason, I find that the cubic box is not fit around 3D vessel segments before cropping. I’m
not sure if this will affect cropping.

You can modify where the ROI is set. Did you try the fit to volume option?

Thank you. Yes, I tried Fit to Volume. Unfortunately, it didn’t help