Skip to content

Commit 77ad2d0

Browse files
committed
ENH: add createDentalImplantCylindersFiducialList, createCylindersFromFiducialListAndMandibleReconstruction, onDentalImplantPlaneMoved, updateFibulaDentalImplantCylinders functions; add fibulaDentalImplantCylinders to boolean operations
1 parent 8c42ef0 commit 77ad2d0

File tree

3 files changed

+580
-25
lines changed

3 files changed

+580
-25
lines changed

BoneReconstructionPlanner/BRPLib/helperFunctions.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,15 @@ def getAverageNormalFromModel(model):
101101

102102
return averageNormal
103103

104-
def getAverageNormalFromModelPoint(model,point):
104+
def getAverageNormalFromModelPoint(model,point,radius=3):
105105
normalsOfModel = slicer.util.arrayFromModelPointData(model, 'Normals')
106106

107107
modelMesh = model.GetMesh()
108108
pointID = modelMesh.FindPoint(point)
109109
normalAtPointID = normalsOfModel[pointID]
110110

111111
cylinder = vtk.vtkCylinder()
112-
cylinder.SetRadius(3)
112+
cylinder.SetRadius(radius)
113113
cylinder.SetCenter(point)
114114
cylinder.SetAxis(normalAtPointID)
115115

@@ -175,19 +175,21 @@ def createBox(X, Y, Z, name):
175175
miterBox.SetAndObservePolyData(triangleFilter.GetOutput())
176176
return miterBox
177177

178-
def createCylinder(R,name):
178+
def createCylinder(name,R,H=50):
179179
cylinder = slicer.mrmlScene.CreateNodeByClass('vtkMRMLModelNode')
180180
cylinder.SetName(slicer.mrmlScene.GetUniqueNameByString(name))
181181
slicer.mrmlScene.AddNode(cylinder)
182182
cylinder.CreateDefaultDisplayNodes()
183183
lineSource = vtk.vtkLineSource()
184-
lineSource.SetPoint1(0, 0, 25)
185-
lineSource.SetPoint2(0, 0, -25)
184+
lineSource.SetPoint1(0, 0, H/2)
185+
lineSource.SetPoint2(0, 0, -H/2)
186186
tubeFilter = vtk.vtkTubeFilter()
187187
tubeFilter.SetInputConnection(lineSource.GetOutputPort())
188188
tubeFilter.SetRadius(R)
189189
tubeFilter.SetNumberOfSides(50)
190190
tubeFilter.CappingOn()
191191
tubeFilter.Update()
192192
cylinder.SetAndObservePolyData(tubeFilter.GetOutput())
193+
cylinder.SetAttribute('radius',str(R))
194+
cylinder.SetAttribute('height',str(H))
193195
return cylinder

0 commit comments

Comments
 (0)