SlicerBoneReconstructionPlanner
SlicerBoneReconstructionPlanner copied to clipboard
Fibula Segment Length
@mauigna06 While planning the video,I remember that we have not implemented a basic feature. That is the length of each fibula segment. This is one of the most important parameters for clinicians to avoid short segments and properly place the osteotomy cuts.
Is it possible to display the fibula segment lengths with hide/unhide option ( to prevent cluttering of the 3D view) ? or as a separate table ?
@lassoan do you have any suggestion on how to implement this?
You can draw a curve segment and enable "length" measurement. The length value is displayed on the curve along with the curve's name. The curve will be probably inside the fibula bone and so its points will be occluded, but you can enable occluded visibility to force the line and label appear anyway. There is a bug that in curves the occluded visibility is not applied to the property label, but I'll fix that tomorrow.
You can draw a curve segment and enable "length" measurement. The length value is displayed on the curve along with the curve's name. The curve will be probably inside the fibula bone and so its points will be occluded, but you can enable occluded visibility to force the line and label appear anyway. There is a bug that in curves the occluded visibility is not applied to the property label, but I'll fix that tomorrow.
Okey. So I'll use a vtkMRMLMarkupsCurveNode with SetCurveTypeToLinear() and two control points for each bone segment. And I'll enable "length" measurement for each display node of the curves. These curves would be shown/hidden with a button.
Maybe I should hide the text label of the fibula planes because the colors already identify them. So we have less text labels to clutter the fibula 3D view
Sounds good. If it is a straight line then you can use a markups line node instead of a curve
The code has been updated. Now fibula pieces lengths are measured.
Fibula segment lengths is currently measured using the fibula planes intersection with the fibula bone:
- calculating intersections centroid to centroid distance
Probably the most appropiate widget to show this would be a table inside a dialog
It appears a QTableWidget below the "show/hide fibula segment lengths" button would be better than a dialog
Fibula segment lengths is currently measured using the fibula planes intersection with the fibula bone:
* calculating intersections centroid to centroid distance
@cmfsx, if the osteotomy angles are sharp you could get something like this:
Here it's zoomed in:
If you measure with a the line below S0 it will measure less than S0, if you measure with a line above S0 it will measure more than S0? What is the correct convention?
And how do you measure the segment length on the below configuration (i.e. with those osteotomies)?:
Hi. Normally I will measure the longest aspect of the fibula segments not the centroid distance. Reasons:
- it represents the true length of total fibula length to be harvested. At the same time can estimate the length of pedicle left for anastomosis planning purposes.
- Many surgeons have their own standard for shortest fibula segment cuts ranging 15mm to 30mm (based on studies) to reduce the risk of compromised blood supply. For me I will set 20mm. So important to measure the longest aspect of the fibula segments.
Thanks @SteveMaisi for your answer
So is it safe to say that on the picture below you'd measure (i.e. prefer) the largest segment-length that is parallel to the centerline?
Yes. For example in this case the longest aspect located at the lower and outer surface of mandibular curvature.
Ok Thanks :)
How fibula segments length is measured should be a setting, value would be:
- nearest to nearest
- centroid to centroid
- farthest to farthest
(all of them parallel to the centerline)