extract the tree structure from a noisy data set
I guess a very good resource about that is here (Implementation might be tough, but even reading it will give you a lot of insight about the extraction of 3D centerlines)

Also, please take a look at 1 and 2.