[vtkusers] Thickness Maps / surface extraction

A. Gatti gattia at mcmaster.ca
Fri Jan 11 08:42:39 EST 2019


Hi, 

I’m emailing to see if there are any suggestions or forewarnings for what I am attempting to do. 

I work with cartilage segmentation and have used the raw pixel data in the past to calculate thickness values for regions of interest. To do this, I define 2 sides of the cartilage (bone interface and surface). I’ve typically done this by finding contours for the bone and cartilage and if the cartilage contour has a bone Neighbour it is considered to be on the bone-interface, otherwise it is on the surface. Then thickness is calculated for every bone-interface pixel, finding the surface pixel with the minimum Euclidean distance. 

I am hoping to translate this to vtk for a few reasons. 
1. I would like to be able to visualize the thickness maps. - which is a pain to do in pixel format. I’ve tried rendering and it doesn’t look so hot. 
2. I’m interested in trying out something like iterative closest point registration between two bone-interface surfaces to be able to make comparisons between thickness maps. 

My thoughts on how to go about this are to:
1. Use my existing contouring method to get the bone-interface and surface 
2. Extract the 3D location of each of these pixels and apply surfaceReconstructionFilter to the bone-interface and surface points separately. 
3. Continue with what I have previously done - iterate over every point from the new bone-interface surface to find the closest point on the surface. I would then assign the thickness calculated for every point to that point and be able to view a map of the thicknesses? 

Alternatively, would it be feasible to assign the thickness values I already calculated in pixel land (simpleitk / numpy) to the bone-interface surface and ski- step 3 all together?

Are there any obvious pit falls with this approach? 

I should have said at the start, I am doing this using the python api for vtk if that makes a difference. I have done some playing already, mostly using marching cubes, which works great with the whole segmentation, but not so great with the surfaces alone :). 

Thanks, 

Anthony. 

Sent from my iPad


More information about the vtkusers mailing list