SlicerBoneReconstructionPlanner icon indicating copy to clipboard operation
SlicerBoneReconstructionPlanner copied to clipboard

Fibula Segment Length

Open cmfsx opened this issue 4 years ago • 14 comments

@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 ?

cmfsx avatar May 13 '21 13:05 cmfsx

@lassoan do you have any suggestion on how to implement this?

mauigna06 avatar May 13 '21 23:05 mauigna06

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.

lassoan avatar May 14 '21 05:05 lassoan

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

mauigna06 avatar May 14 '21 11:05 mauigna06

Sounds good. If it is a straight line then you can use a markups line node instead of a curve

lassoan avatar May 14 '21 12:05 lassoan

The code has been updated. Now fibula pieces lengths are measured.

mauigna06 avatar May 15 '21 21:05 mauigna06

Fibula segment lengths is currently measured using the fibula planes intersection with the fibula bone:

  • calculating intersections centroid to centroid distance

mauigna06 avatar Feb 27 '23 14:02 mauigna06

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

mauigna06 avatar Mar 11 '23 23:03 mauigna06

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:

Captura desde 2023-07-04 17-10-29

Here it's zoomed in:

Captura desde 2023-07-04 17-10-41

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)?:

Captura desde 2023-07-04 17-20-25

Captura desde 2023-07-04 17-20-35

mauigna06 avatar Jul 04 '23 20:07 mauigna06

Dear @SteveMaisi

Could you provide an answer to this question above :)

mauigna06 avatar Oct 27 '23 12:10 mauigna06

Hi. Normally I will measure the longest aspect of the fibula segments not the centroid distance. Reasons:

  1. 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.
  2. 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.

SteveMaisi avatar Oct 28 '23 12:10 SteveMaisi

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?

250985358-631438f8-5c4c-43c1-a3dc-41ecaf89c280

mauigna06 avatar Oct 28 '23 12:10 mauigna06

image Yes. For example in this case the longest aspect located at the lower and outer surface of mandibular curvature.

SteveMaisi avatar Oct 28 '23 12:10 SteveMaisi

Ok Thanks :)

mauigna06 avatar Oct 28 '23 12:10 mauigna06

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)

mauigna06 avatar Mar 09 '24 19:03 mauigna06