本文整理汇总了Python中vmtkrenderer.vmtkRenderer函数 的典型用法代码示例。如果您正苦于以下问题:Python vmtkRenderer函数的具体用法?Python vmtkRenderer怎么用?Python vmtkRenderer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vmtkRenderer函数 的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: Execute
def Execute(self):
if self.Image == None:
self.PrintError('Error: no Image.')
if self.Interactive == 1:
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
self.PlaneWidgetX = vtk.vtkImagePlaneWidget()
self.PlaneWidgetX.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetY = vtk.vtkImagePlaneWidget()
self.PlaneWidgetY.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetZ = vtk.vtkImagePlaneWidget()
self.PlaneWidgetZ.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.BoxWidget = vtk.vtkBoxWidget()
self.BoxWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.vmtkRenderer.AddKeyBinding('i','Interact.', self.InteractCallback)
self.Display()
while (self.BoxActive == 1):
self.PaintVOI()
self.Display()
else:
self.PaintVOI()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:SaraZanchi, 项目名称:vmtk, 代码行数:33, 代码来源:vmtkimagevoipainter.py
示例2: Execute
def Execute(self):
if self.Image == None:
self.PrintError('Error: no Image.')
self.CroppedImage.DeepCopy(self.Image)
if self.Interactive == 1:
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.PlaneWidgetX = vtk.vtkImagePlaneWidget()
self.PlaneWidgetX.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetY = vtk.vtkImagePlaneWidget()
self.PlaneWidgetY.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetZ = vtk.vtkImagePlaneWidget()
self.PlaneWidgetZ.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.BoxWidget = vtk.vtkBoxWidget()
self.BoxWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.Display()
while (self.BoxActive == 1):
self.ExtractVOI()
self.Image = self.CroppedImage
self.Display()
else:
self.ExtractVOI()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
self.Image = self.CroppedImage
开发者ID:ValentinaRossi, 项目名称:vmtk, 代码行数:35, 代码来源:vmtkimagevoiselector.py
示例3: Execute
def Execute(self):
if self.Image == None:
self.PrintError("Error: no Image.")
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.Type == "freehand":
self.ImageTracerWidget = vtk.vtkImageTracerWidget()
elif self.Type == "contour":
self.ImageTracerWidget = vtk.vtkContourWidget()
self.ImageTracerWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.SliderWidget = vtk.vtkSliderWidget()
self.SliderWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.ImageActor = vtk.vtkImageActor()
self.vmtkRenderer.AddKeyBinding("n", "Next.", self.NextCallback)
self.vmtkRenderer.AddKeyBinding("p", "Previous.", self.PreviousCallback)
self.vmtkRenderer.AddKeyBinding("i", "Interact.", self.InteractCallback)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:tangui, 项目名称:vmtk, 代码行数:31, 代码来源:vmtkimagelinetracer.py
示例4: Execute
def Execute(self):
if self.Image == None:
self.PrintError('Error: no Image.')
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
if self.Type == 'freehand':
self.ImageTracerWidget = vtk.vtkImageTracerWidget()
elif self.Type == 'contour':
self.ImageTracerWidget = vtk.vtkContourWidget()
self.ImageTracerWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.SliderWidget = vtk.vtkSliderWidget()
self.SliderWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.ImageActor = vtk.vtkImageActor()
self.vmtkRenderer.RenderWindowInteractor.AddObserver("KeyPressEvent", self.Keypress)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ValentinaRossi, 项目名称:vmtk, 代码行数:27, 代码来源:vmtkimagelinetracer.py
示例5: Execute
def Execute(self):
if self.Image == None:
self.PrintError('Error: no Image.')
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.Type == 'freehand':
self.ImageTracerWidget = vtk.vtkImageTracerWidget()
elif self.Type == 'contour':
self.ImageTracerWidget = vtk.vtkContourWidget()
self.ImageTracerWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.SliderWidget = vtk.vtkSliderWidget()
self.SliderWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.ImageActor = vtk.vtkImageActor()
self.vmtkRenderer.AddKeyBinding('n','Next.',self.NextCallback)
self.vmtkRenderer.AddKeyBinding('p','Previous.',self.PreviousCallback)
self.vmtkRenderer.AddKeyBinding('i','Interact.', self.InteractCallback)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ChaliZhg, 项目名称:vmtk, 代码行数:31, 代码来源:vmtkimagelinetracer.py
示例6: Execute
def Execute(self):
if (self._Surface == None):
self.PrintError('vmtkPickPointSeedSelector Error: Surface not set.')
return
self._SourceSeedIds.Initialize()
self._TargetSeedIds.Initialize()
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
glyphs = vtk.vtkGlyph3D()
glyphSource = vtk.vtkSphereSource()
glyphs.SetInput(self.PickedSeeds)
glyphs.SetSource(glyphSource.GetOutput())
glyphs.SetScaleModeToDataScalingOff()
glyphs.SetScaleFactor(self._Surface.GetLength()*0.01)
glyphMapper = vtk.vtkPolyDataMapper()
glyphMapper.SetInput(glyphs.GetOutput())
self.SeedActor = vtk.vtkActor()
self.SeedActor.SetMapper(glyphMapper)
self.SeedActor.GetProperty().SetColor(1.0,0.0,0.0)
self.SeedActor.PickableOff()
self.vmtkRenderer.Renderer.AddActor(self.SeedActor)
self.vmtkRenderer.RenderWindowInteractor.AddObserver("KeyPressEvent", self.KeyPressed)
surfaceMapper = vtk.vtkPolyDataMapper()
surfaceMapper.SetInput(self._Surface)
surfaceMapper.ScalarVisibilityOff()
surfaceActor = vtk.vtkActor()
surfaceActor.SetMapper(surfaceMapper)
surfaceActor.GetProperty().SetOpacity(1.0)
self.vmtkRenderer.Renderer.AddActor(surfaceActor)
self.OutputText('Please position the mouse and press space to add source points, \'u\' to undo\n')
any = 0
while any == 0:
self.InitializeSeeds()
self.vmtkRenderer.Render()
any = self.PickedSeedIds.GetNumberOfIds()
self._SourceSeedIds.DeepCopy(self.PickedSeedIds)
self.OutputText('Please position the mouse and press space to add target points, \'u\' to undo\n')
any = 0
while any == 0:
self.InitializeSeeds()
self.vmtkRenderer.Render()
any = self.PickedSeedIds.GetNumberOfIds()
self._TargetSeedIds.DeepCopy(self.PickedSeedIds)
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ValentinaRossi, 项目名称:vmtk, 代码行数:59, 代码来源:vmtkcenterlines.py
示例7: Execute
def Execute(self):
if not self.Centerlines:
self.PrintError('Error: No input centerlines.')
return
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.CellDataArrayName:
cellCenters = vtk.vtkCellCenters()
cellCenters.SetInput(self.Centerlines)
cellCenters.Update()
cellCenters.GetOutput().GetPointData().SetActiveScalars(self.CellDataArrayName)
labelsMapper = vtk.vtkLabeledDataMapper();
labelsMapper.SetInput(cellCenters.GetOutput())
labelsMapper.SetLabelModeToLabelScalars()
labelsActor = vtk.vtkActor2D()
labelsActor.SetMapper(labelsMapper)
self.vmtkRenderer.Renderer.AddActor(labelsActor)
centerlineMapper = vtk.vtkPolyDataMapper()
centerlineMapper.SetInput(self.Centerlines)
if self.CellDataArrayName and not self.PointDataArrayName:
centerlineMapper.ScalarVisibilityOn()
centerlineMapper.SetScalarModeToUseCellData()
self.Centerlines.GetCellData().SetActiveScalars(self.CellDataArrayName)
centerlineMapper.SetScalarRange(self.Centerlines.GetCellData().GetScalars().GetRange(0))
elif self.PointDataArrayName:
centerlineMapper.ScalarVisibilityOn()
centerlineMapper.SetScalarModeToUsePointData()
self.Centerlines.GetPointData().SetActiveScalars(self.PointDataArrayName)
centerlineMapper.SetScalarRange(self.Centerlines.GetPointData().GetScalars().GetRange(0))
else:
centerlineMapper.ScalarVisibilityOff()
centerlineActor = vtk.vtkActor()
centerlineActor.SetMapper(centerlineMapper)
self.vmtkRenderer.Renderer.AddActor(centerlineActor)
scalarBarActor = None
if self.Legend and centerlineActor and self.PointDataArrayName:
scalarBarActor = vtk.vtkScalarBarActor()
scalarBarActor.SetLookupTable(centerlineActor.GetMapper().GetLookupTable())
scalarBarActor.GetLabelTextProperty().ItalicOff()
scalarBarActor.GetLabelTextProperty().BoldOff()
scalarBarActor.GetLabelTextProperty().ShadowOff()
scalarBarActor.SetLabelFormat('%.2f')
scalarBarActor.SetTitle(self.PointDataArrayName)
self.vmtkRenderer.Renderer.AddActor(scalarBarActor)
if self.Display:
self.vmtkRenderer.Render()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:SaraZanchi, 项目名称:vmtk, 代码行数:59, 代码来源:vmtkcenterlineviewer.py
示例8: Execute
def Execute(self):
if self.Surface == None:
self.PrintError('Error: no Surface.')
if self.WidgetType == "box":
self.ClipFunction = vtk.vtkPlanes()
elif self.WidgetType == "sphere":
self.ClipFunction = vtk.vtkSphere()
self.Clipper = vtk.vtkClipPolyData()
self.Clipper.SetInput(self.Surface)
self.Clipper.SetClipFunction(self.ClipFunction)
self.Clipper.GenerateClippedOutputOn()
self.Clipper.InsideOutOn()
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(self.Surface)
mapper.ScalarVisibilityOff()
self.Actor = vtk.vtkActor()
self.Actor.SetMapper(mapper)
self.vmtkRenderer.Renderer.AddActor(self.Actor)
if self.WidgetType == "box":
self.ClipWidget = vtk.vtkBoxWidget()
self.ClipWidget.GetFaceProperty().SetColor(0.6,0.6,0.2)
self.ClipWidget.GetFaceProperty().SetOpacity(0.25)
elif self.WidgetType == "sphere":
self.ClipWidget = vtk.vtkSphereWidget()
self.ClipWidget.GetSphereProperty().SetColor(0.6,0.6,0.2)
self.ClipWidget.GetSphereProperty().SetOpacity(0.25)
self.ClipWidget.GetSelectedSphereProperty().SetColor(0.6,0.0,0.0)
self.ClipWidget.GetSelectedSphereProperty().SetOpacity(0.75)
self.ClipWidget.SetRepresentationToSurface()
self.ClipWidget.SetPhiResolution(20)
self.ClipWidget.SetThetaResolution(20)
self.ClipWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.Display()
self.Transform = vtk.vtkTransform()
self.ClipWidget.GetTransform(self.Transform)
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
if self.CleanOutput == 1:
cleaner = vtk.vtkCleanPolyData()
cleaner.SetInput(self.Surface)
cleaner.Update()
self.Surface = cleaner.GetOutput()
if self.Surface.GetSource():
self.Surface.GetSource().UnRegisterAllOutputs()
开发者ID:ValentinaRossi, 项目名称:vmtk, 代码行数:59, 代码来源:vmtksurfaceclipper.py
示例9: Execute
def Execute(self):
if self.Centerlines == None:
self.PrintError('Error: No input centerlines.')
if self.ReferenceSystems == None:
self.PrintError('Error: No input reference systems.')
if self.Interactive and not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
if self.Interactive:
self.vmtkRenderer.RegisterScript(self)
viewer = vmtkcenterlineviewer.vmtkCenterlineViewer()
viewer.Centerlines = self.Centerlines
viewer.CellDataArrayName = self.GroupIdsArrayName
viewer.vmtkRenderer = self.vmtkRenderer
viewer.InputText = self.InputText
viewer.OutputText = self.OutputText
viewer.PrintError = self.PrintError
viewer.PringLog = self.PrintLog
viewer.Display = 0
viewer.Execute()
groupIdString = self.InputText("Please input the reference groupId:\n",self.GroupIdValidator)
self.ReferenceGroupId = int(groupIdString)
offsetFilter = vtkvmtk.vtkvmtkCenterlineReferenceSystemAttributesOffset()
offsetFilter.SetInput(self.Centerlines)
offsetFilter.SetReferenceSystems(self.ReferenceSystems)
offsetFilter.SetAbscissasArrayName(self.AbscissasArrayName)
offsetFilter.SetNormalsArrayName(self.NormalsArrayName)
if not self.ReplaceAttributes:
offsetFilter.SetOffsetAbscissasArrayName(self.OffsetAbscissasArrayName)
offsetFilter.SetOffsetNormalsArrayName(self.OffsetNormalsArrayName)
else:
offsetFilter.SetOffsetAbscissasArrayName(self.AbscissasArrayName)
offsetFilter.SetOffsetNormalsArrayName(self.NormalsArrayName)
offsetFilter.SetGroupIdsArrayName(self.GroupIdsArrayName)
offsetFilter.SetCenterlineIdsArrayName(self.CenterlineIdsArrayName)
offsetFilter.SetReferenceSystemsNormalArrayName(self.ReferenceSystemsNormalArrayName)
offsetFilter.SetReferenceSystemsGroupIdsArrayName(self.GroupIdsArrayName)
offsetFilter.SetReferenceGroupId(self.ReferenceGroupId)
offsetFilter.Update()
self.Centerlines = offsetFilter.GetOutput()
if self.ReferenceGroupId == -1:
self.ReferenceGroupId = offsetFilter.GetReferenceGroupId()
if self.Centerlines.GetSource():
self.Centerlines.GetSource().UnRegisterAllOutputs()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ChaliZhg, 项目名称:vmtk, 代码行数:59, 代码来源:vmtkcenterlineoffsetattributes.py
示例10: Execute
def Execute(self):
if self.Surface == None:
self.PrintError('Error: no Surface.')
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
triangleFilter = vtk.vtkTriangleFilter()
triangleFilter.SetInput(self.Surface)
triangleFilter.Update()
self.Surface = triangleFilter.GetOutput()
contourScalars = vtk.vtkDoubleArray()
contourScalars.SetNumberOfComponents(1)
contourScalars.SetNumberOfTuples(self.Surface.GetNumberOfPoints())
contourScalars.SetName(self.ContourScalarsArrayName)
contourScalars.FillComponent(0,self.OutsideValue)
self.Surface.GetPointData().AddArray(contourScalars)
self.Surface.GetPointData().SetActiveScalars(self.ContourScalarsArrayName)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(self.Surface)
mapper.ScalarVisibilityOn()
self.Actor = vtk.vtkActor()
self.Actor.SetMapper(mapper)
self.Actor.GetMapper().SetScalarRange(-1.0,0.0)
self.vmtkRenderer.Renderer.AddActor(self.Actor)
self.ContourWidget = vtk.vtkContourWidget()
self.ContourWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
rep = vtk.vtkOrientedGlyphContourRepresentation.SafeDownCast(self.ContourWidget.GetRepresentation())
rep.GetLinesProperty().SetColor(1, 0.2, 0)
rep.GetLinesProperty().SetLineWidth(3.0)
pointPlacer = vtk.vtkPolygonalSurfacePointPlacer()
pointPlacer.AddProp(self.Actor)
pointPlacer.GetPolys().AddItem(self.Surface)
rep.SetPointPlacer(pointPlacer)
self.Interpolator = vtk.vtkPolygonalSurfaceContourLineInterpolator()
self.Interpolator.GetPolys().AddItem(self.Surface)
rep.SetLineInterpolator(self.Interpolator)
self.vmtkRenderer.AddKeyBinding('space','Generate scalars',self.ScalarsCallback)
self.vmtkRenderer.AddKeyBinding('d','Delete contour',self.DeleteContourCallback)
self.vmtkRenderer.AddKeyBinding('i','Start interaction',self.InteractCallback)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ChaliZhg, 项目名称:vmtk, 代码行数:58, 代码来源:vmtksurfaceregiondrawing.py
示例11: BuildView
def BuildView(self):
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.Actor != None:
self.vmtkRenderer.Renderer.RemoveActor(self.Actor)
if self.ScalarBarActor != None:
self.vmtkRenderer.Renderer.RemoveActor(self.ScalarBarActor)
if self.Mesh != None:
mapper = vtk.vtkDataSetMapper()
mapper.SetInput(self.Mesh)
if (self.ArrayName != ''):
self.Mesh.GetPointData().SetActiveScalars(self.ArrayName)
if (self.Mesh.GetPointData().GetScalars() != None):
array = self.Mesh.GetPointData().GetScalars()
if (self.ScalarRange[1] > self.ScalarRange[0]):
mapper.SetScalarRange(self.ScalarRange)
else:
mapper.SetScalarRange(array.GetRange(0))
if (self.Grayscale == 1):
lut = vtk.vtkLookupTable()
lut.SetValueRange(0.0,1.0)
lut.SetSaturationRange(0.0,0.0)
mapper.SetLookupTable(lut)
self.Actor = vtk.vtkActor()
self.Actor.SetMapper(mapper)
if (self.FlatInterpolation == 1):
self.Actor.GetProperty().SetInterpolationToFlat()
self.Actor.GetProperty().SetOpacity(self.Opacity)
self.vmtkRenderer.Renderer.AddActor(self.Actor)
if (self.Legend == 1) & (self.Actor != None):
self.ScalarBarActor = vtk.vtkScalarBarActor()
self.ScalarBarActor.SetLookupTable(self.Actor.GetMapper().GetLookupTable())
self.ScalarBarActor.GetLabelTextProperty().ItalicOff()
self.ScalarBarActor.GetLabelTextProperty().BoldOff()
self.ScalarBarActor.GetLabelTextProperty().ShadowOff()
## self.ScalarBarActor.GetLabelTextProperty().SetColor(0.0,0.0,0.0)
self.ScalarBarActor.SetLabelFormat('%.2f')
self.vmtkRenderer.Renderer.AddActor(self.ScalarBarActor)
if (self.Display == 1):
self.vmtkRenderer.Render()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:SaraZanchi, 项目名称:vmtk, 代码行数:53, 代码来源:vmtkmeshviewer.py
示例12: Execute
def Execute(self):
if self.Surface == None:
self.PrintError('Error: no Surface.')
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
triangleFilter = vtk.vtkTriangleFilter()
triangleFilter.SetInputData(self.Surface)
triangleFilter.Update()
self.Surface = triangleFilter.GetOutput()
self.tagviewer = vmtkscripts.vmtkSurfaceViewer()
self.tagviewer.Surface = self.Surface
self.tagviewer.vmtkRenderer = self.vmtkRenderer
self.tagviewer.Representation = 'edges'
self.tagviewer.Opacity = self.Opacity
self.tagviewer.Execute()
self.ContourWidget = vtk.vtkContourWidget()
self.ContourWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
rep = vtk.vtkOrientedGlyphContourRepresentation.SafeDownCast(self.ContourWidget.GetRepresentation())
rep.GetLinesProperty().SetColor(1, 0, 0)
rep.GetLinesProperty().SetLineWidth(4.0)
pointPlacer = vtk.vtkPolygonalSurfacePointPlacer()
pointPlacer.AddProp(self.tagviewer.Actor)
pointPlacer.GetPolys().AddItem(self.Surface)
rep.SetPointPlacer(pointPlacer)
self.Interpolator = vtk.vtkPolygonalSurfaceContourLineInterpolator()
self.Interpolator.GetPolys().AddItem(self.Surface)
rep.SetLineInterpolator(self.Interpolator)
self.InputInfo("Building loop ...\n")
self.vmtkRenderer.AddKeyBinding('space','Generate loop',self.LoopCallback)
self.vmtkRenderer.AddKeyBinding('d','Delete contour',self.DeleteContourCallback)
self.vmtkRenderer.AddKeyBinding('i','Start/stop contour drawing',self.InteractCallback)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:151706061, 项目名称:vmtk, 代码行数:52, 代码来源:vmtksurfaceloopextraction.py
示例13: BuildView
def BuildView(self):
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
self.PlaneWidget = vtk.vtkImplicitPlaneWidget()
if self.Actor != None:
self.vmtkRenderer.Renderer.RemoveActor(self.Actor)
if self.Mesh != None:
self.MeshCutFilter = vtk.vtkCutter()
self.MeshCutFilter.SetInputData(self.Mesh)
cutPlane = vtk.vtkPlane()
self.PlaneWidget.GetPlane(cutPlane)
self.MeshCutFilter.SetCutFunction(cutPlane)
self.MeshCutFilter.Update()
self.Surface = self.MeshCutFilter.GetOutput()
self.PlaneWidget.AddObserver("StartInteractionEvent",self.StartPlaneCallback)
self.PlaneWidget.AddObserver("EndInteractionEvent",self.EndPlaneCallback)
mapper = vtk.vtkDataSetMapper()
mapper.SetInputData(self.Mesh)
self.Actor = vtk.vtkActor()
self.Actor.SetMapper(mapper)
self.vmtkRenderer.Renderer.AddActor(self.Actor)
self.Actor.GetProperty().SetOpacity(self.Opacity)
self.PlaneWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidget.SetPlaceFactor(1.25)
self.PlaneWidget.DrawPlaneOn()
self.PlaneWidget.GetPlaneProperty().SetOpacity(0.1)
self.PlaneWidget.SetProp3D(self.Actor)
self.PlaneWidget.PlaceWidget()
self.PlaneWidget.SetOrigin(self.Actor.GetCenter())
self.PlaneWidget.On()
if (self.Display == 1):
self.vmtkRenderer.Render()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:151706061, 项目名称:vmtk, 代码行数:50, 代码来源:vmtkmeshcutter.py
示例14: BuildView
def BuildView(self):
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.Volume:
self.vmtkRenderer.Renderer.RemoveVolume(self.Volume)
if (self.ArrayName != ''):
self.Image.GetPointData().SetActiveScalars(self.ArrayName)
scalarRange = [0.0, 0.0]
if self.WindowLevel[0] > 0.0:
scalarRange = [self.WindowLevel[1] - self.WindowLevel[0]/2.0, self.WindowLevel[1] + self.WindowLevel[0]/2.0]
else:
scalarRange = self.Image.GetScalarRange()
colorTransferFunction = vtk.vtkColorTransferFunction()
colorTransferFunction.AddRGBPoint(scalarRange[0], 0.0, 0.0, 0.0)
colorTransferFunction.AddRGBPoint(scalarRange[1], 1.0, 1.0, 1.0)
volumeMapper = vtk.vtkFixedPointVolumeRayCastMapper()
volumeMapper.SetInput(self.Image)
volumeMapper.SetBlendModeToMaximumIntensity()
if self.AutoSampleDistance:
volumeMapper.AutoAdjustSampleDistancesOn()
else:
volumeMapper.SetSampleDistance(self.SampleDistance)
volumeProperty = vtk.vtkVolumeProperty()
volumeProperty.ShadeOn()
volumeProperty.SetInterpolationTypeToLinear()
volumeProperty.SetColor(colorTransferFunction)
self.Volume = vtk.vtkVolume()
self.Volume.SetMapper(volumeMapper)
self.Volume.SetProperty(volumeProperty)
self.vmtkRenderer.Renderer.AddVolume(self.Volume)
if (self.Display == 1):
self.vmtkRenderer.Render()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:ChaliZhg, 项目名称:vmtk, 代码行数:50, 代码来源:vmtkimagemipviewer.py
示例15: Execute
def Execute(self):
if (self.Image == None) & (self.Display == 1):
self.PrintError('Error: no Image.')
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.PaintedImage = vtk.vtkImageData()
self.PaintedImage.DeepCopy(self.Image)
self.vmtkRenderer.RegisterScript(self)
##self.PrintLog('Ctrl + left click to add seed.')
self.Picker = vtk.vtkCellPicker()
self.Picker.SetTolerance(0.005)
self.PlaneWidgetX = vtk.vtkImagePlaneWidget()
self.PlaneWidgetX.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetX.AddObserver("StartInteractionEvent", self.StartInteraction)
self.PlaneWidgetX.AddObserver("InteractionEvent", self.Interaction)
self.PlaneWidgetX.AddObserver("EndInteractionEvent", self.EndInteraction)
self.PlaneWidgetX.SetPicker(self.Picker)
self.PlaneWidgetY = vtk.vtkImagePlaneWidget()
self.PlaneWidgetY.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetY.AddObserver("StartInteractionEvent", self.StartInteraction)
self.PlaneWidgetY.AddObserver("InteractionEvent", self.Interaction)
self.PlaneWidgetY.AddObserver("EndInteractionEvent", self.EndInteraction)
self.PlaneWidgetY.SetPicker(self.Picker)
self.PlaneWidgetZ = vtk.vtkImagePlaneWidget()
self.PlaneWidgetZ.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.PlaneWidgetZ.AddObserver("StartInteractionEvent", self.StartInteraction)
self.PlaneWidgetZ.AddObserver("InteractionEvent", self.Interaction)
self.PlaneWidgetZ.AddObserver("EndInteractionEvent", self.EndInteraction)
self.PlaneWidgetZ.SetPicker(self.Picker)
self.BuildView()
self.WidgetsOff()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
开发者ID:tangui, 项目名称:vmtk, 代码行数:43, 代码来源:vmtkimagepainter.py
示例16: Execute
def Execute(self):
if (self.Mesh == None):
self.PrintError('Error: no Mesh.')
self.Planes = vtk.vtkPlanes()
self.Clipper = vtk.vtkClipDataSet()
self.Clipper.SetInput(self.Mesh)
self.Clipper.SetClipFunction(self.Planes)
self.Clipper.GenerateClippedOutputOn()
self.Clipper.InsideOutOn()
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
mapper = vtk.vtkDataSetMapper()
mapper.SetInput(self.Mesh)
mapper.ScalarVisibilityOff()
self.Actor = vtk.vtkActor()
self.Actor.SetMapper(mapper)
self.vmtkRenderer.Renderer.AddActor(self.Actor)
self.BoxWidget = vtk.vtkBoxWidget()
self.BoxWidget.SetInteractor(self.vmtkRenderer.RenderWindowInteractor)
self.BoxWidget.GetFaceProperty().SetColor(0.6,0.6,0.2)
self.BoxWidget.GetFaceProperty().SetOpacity(0.25)
self.vmtkRenderer.AddKeyBinding('i','Interact.', self.InteractCallback)
self.vmtkRenderer.AddKeyBinding('space','Clip.', self.ClipCallback)
self.Display()
if self.OwnRenderer:
self.vmtkRenderer.Deallocate()
if self.Mesh.GetSource():
self.Mesh.GetSource().UnRegisterAllOutputs()
开发者ID:SaraZanchi, 项目名称:vmtk, 代码行数:41, 代码来源:vmtkmeshclipper.py
示例17: Execute
def Execute(self):
if not self.Centerlines:
self.PrintError("Error: No input centerlines.")
return
if not self.vmtkRenderer:
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
self.vmtkRenderer.RegisterScript(self)
if self.CellDataArrayName:
cellCenters = vtk.vtkCellCenters()
cellCenters.SetInputData(self.Centerlines)
cellCenters.Update()
cellCenters.GetOutput().GetPointData().SetActiveScalars(self.CellDataArrayName)
labelsMapper = vtk.vtkLabeledDataMapper()
labelsMapper.SetInputConnection(cellCenters.GetOutputPort())
labelsMapper.SetLabelModeToLabelScalars()
labelsActor = vtk.vtkActor2D()
labelsActor.SetMapper(labelsMapper)
self.vmtkRenderer.Renderer.AddActor(labelsActor)
centerlineMapper = vtk.vtkPolyDataMapper()
centerlineMapper.SetInputData(self.Centerlines)
if self.CellDataArrayName and not self.PointDataArrayName:
centerlineMapper.ScalarVisibilityOn()
centerlineMapper.SetScalarModeToUseCellData()
self.Centerlines.GetCellData().SetActiveScalars(self.CellDataArrayName)
centerlineMapper.SetScalarRange(self.Centerlines.GetCellData().GetScalars().GetRange(0))
elif self.PointDataArrayName:
centerlineMapper.ScalarVisibilityOn()
centerlineMapper.SetScalarModeToUsePointData()
self.Centerlines.GetPointData().SetActiveScalars(self.PointDataArrayName)
centerlineMapper.SetScalarRange(self.Centerlines.GetPointData().GetScalars().GetRange(0))
else:
centerlineMapper.ScalarVisibilityOff()
if self.ColorMap == "grayscale":
lut = centerlineMapper.GetLookupTable()
lut.SetNumberOfTableValues(self.NumberOfColors)
lut.SetValueRange(0.0, 1.0)
lut.SetSaturationRange(0.0, 0.0)
lut.Build()
centerlineMapper.SetLookupTable(lut)
if self.ColorMap == "rainbow":
lut = centerlineMapper.GetLookupTable()
lut.SetHueRange(0.666667, 0.0)
lut.SetSaturationRange(0.75, 0.75)
lut.SetValueRange(1.0, 1.0)
lut.SetAlphaRange(1.0, 1.0)
lut.SetNumberOfColors(self.NumberOfColors)
lut.Build()
centerlineMapper.SetLookupTable(lut)
if self.ColorMap == "blackbody":
lut = centerlineMapper.GetLookupTable()
lut.SetNumberOfTableValues(self.NumberOfColors)
colorTransferFunction = vtk.vtkColorTransferFunction()
colorTransferFunction.SetColorSpaceToRGB()
colorTransferFunction.AddRGBPoint(0, 0.0, 0.0, 0.0)
colorTransferFunction.AddRGBPoint(0.4, 0.901961, 0.0, 0.0)
colorTransferFunction.AddRGBPoint(0.8, 0.901961, 0.901961, 0.0)
colorTransferFunction.AddRGBPoint(1.0, 1.0, 1.0, 1.0)
for ii, ss in enumerate([float(xx) / float(self.NumberOfColors) for xx in range(self.NumberOfColors)]):
cc = colorTransferFunction.GetColor(ss)
lut.SetTableValue(ii, cc[0], cc[1], cc[2], 1.0)
lut.Build()
centerlineMapper.SetLookupTable(lut)
if self.ColorMap == "cooltowarm":
lut = centerlineMapper.GetLookupTable()
lut.SetNumberOfTableValues(self.NumberOfColors)
colorTransferFunction = vtk.vtkColorTransferFunction()
colorTransferFunction.SetColorSpaceToDiverging()
colorTransferFunction.AddRGBPoint(0, 0.231373, 0.298039, 0.752941)
colorTransferFunction.AddRGBPoint(0.5, 0.865003, 0.865003, 0.865003)
colorTransferFunction.AddRGBPoint(1.0, 0.705882, 0.0156863, 0.14902)
for ii, ss in enumerate([float(xx) / float(self.NumberOfColors) for xx in range(self.NumberOfColors)]):
cc = colorTransferFunction.GetColor(ss)
lut.SetTableValue(ii, cc[0], cc[1], cc[2], 1.0)
lut.Build()
centerlineMapper.SetLookupTable(lut)
centerlineActor = vtk.vtkActor()
centerlineActor.SetMapper(centerlineMapper)
self.vmtkRenderer.Renderer.AddActor(centerlineActor)
scalarBarActor = None
if self.Legend and centerlineActor and self.PointDataArrayName:
scalarBarActor = vtk.vtkScalarBarActor()
scalarBarActor.SetLookupTable(centerlineActor.GetMapper().GetLookupTable())
scalarBarActor.GetLabelTextProperty().ItalicOff()
scalarBarActor.GetLabelTextProperty().BoldOff()
scalarBarActor.GetLabelTextProperty().ShadowOff()
scalarBarActor.SetLabelFormat("%.2f")
scalarBarActor.SetTitle(self.PointDataArrayName)
#.........这里部分代码省略.........
开发者ID:aabdulwahed, 项目名称:vmtk, 代码行数:101, 代码来源:vmtkcenterlineviewer.py
示例18: Execute
def Execute(self):
if self.Surface == None:
self.PrintError('Error: No input surface.')
if self.ExtensionMode == "centerlinedirection" and self.Centerlines == None:
self.PrintError('Error: No input centerlines.')
boundaryIds = vtk.vtkIdList()
if self.Interactive:
if not self.vmtkRenderer:
import vmtkrenderer
self.vmtkRenderer = vmtkrenderer.vmtkRenderer()
self.vmtkRenderer.Initialize()
self.OwnRenderer = 1
boundaryExtractor = vtkvmtk.vtkvmtkPolyDataBoundaryExtractor()
boundaryExtractor.SetInput(self.Surface)
boundaryExtractor.Update()
boundaries = boundaryExtractor.GetOutput()
numberOfBoundaries = boundaries.GetNumberOfCells()
seedPoints = vtk.vtkPoints()
for i in range(numberOfBoundaries):
barycenter = [0.0, 0.0, 0.0]
vtkvmtk.vtkvmtkBoundaryReferenceSystems.ComputeBoundaryBarycenter(boundaries.GetCell(i).GetPoints(),barycenter)
seedPoints.InsertNextPoint(barycenter)
seedPolyData = vtk.vtkPolyData()
seedPolyData.SetPoints(seedPoints)
seedPolyData.Update()
labelsMapper = vtk.vtkLabeledDataMapper();
labelsMapper.SetInput(seedPolyData)
labelsMapper.SetLabelModeToLabelIds()
labelsActor = vtk.vtkActor2D()
labelsActor.SetMapper(labelsMapper)
self.vmtkRenderer.Renderer.AddActor(labelsActor)
surfaceMapper = vtk.vtkPolyDataMapper()
surfaceMapper.SetInput(self.Surface)
surfaceMapper.ScalarVisibilityOff()
surfaceActor = vtk.vtkActor()
surfaceActor.SetMapper(surfaceMapper)
surfaceActor.GetProperty().SetOpacity(0.25)
self.vmtkRenderer.Renderer.AddActor(surfaceActor)
self.vmtkRenderer.Render()
self.vmtkRenderer.Renderer.RemoveActor(labelsActor)
self.vmtkRenderer.Renderer.RemoveActor(surfaceActor)
ok = False
while not ok:
labelString = self.InputText("Please input boundary ids: ",self.LabelValidator)
labels = [int(label) for label in labelString.split()]
ok = True
for label in labels:
if label not in range(numberOfBoundaries):
ok = False
for label in labels:
boundaryIds.InsertNextId(label)
flowExtensionsFilter = vtkvmtk.vtkvmtkPolyDataFlowExtensionsFilter()
flowExtensionsFilter.SetInput(self.Surface)
flowExtensionsFilter.SetCenterlines(self.Centerlines)
flowExtensionsFilter.SetSigma(self.Sigma)
flowExtensionsFilter.SetAdaptiveExtensionLength(self.AdaptiveExtensionLength)
flowExtensionsFilter.SetAdaptiveExtensionRadius(self.AdaptiveExtensionRadius)
flowExtensionsFilter.SetAdaptiveNumberOfBoundaryPoints(self.AdaptiveNumberOfBoundaryPoints)
flowExtensionsFilter.SetExtensionLength(self.ExtensionLength)
flowExtensionsFilter.SetExtensionRatio(self.ExtensionRatio)
flowExtensionsFilter.SetExtensionRadius(self.ExtensionRadius)
flowExtensionsFilter.SetTransitionRatio(self.TransitionRatio)
flowExtensionsFilter.SetCenterlineNormalEstimationDistanceRatio(self.CenterlineNormalEstimationDistanceRatio)
flowExtensionsFilter.SetNumberOfBoundaryPoints(self.TargetNumberOfBoundaryPoints)
if self.ExtensionMode == "centerlinedirection":
flowExtensionsFilter.SetExtensionModeToUseCenterlineDirection()
elif self.ExtensionMode == "boundarynormal":
flowExtensionsFilter.SetExtensionModeToUseNormalToBoundary()
if self.InterpolationMode == "linear":
flowExtensionsFilter.SetInterpolationModeToLinear()
elif self.InterpolationMode == "thinplatespline":
flowExtensionsFilter.SetInterpolationModeToThinPlateSpline()
if self.Interactive:
flowExtensionsFilter.SetBoundaryIds(boundaryIds)
flowExtensionsFilter.Update()
self.Surface = flowExtensionsFilter.GetOutput()
if self.Surface.GetSource():
self.Surface.GetSource().UnRegisterAllOutputs()
开发者ID:ValentinaRossi, 项目名称:vmtk, 代码行数:93, 代码来源:vmtkflowextensions.py
Python入门教程 Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。 P
阅读:13952| 2022-01-22
Python wikiutil.getFrontPage函数代码示例
阅读:10293| 2022-05-24
Python 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本
阅读:4184| 2022-01-22
Python tests.group函数代码示例
阅读:4067| 2022-05-27
Python util.check_if_user_has_permission函数代码示例
阅读:3892| 2022-05-27
Python 练习实例98 Python 100例题目:从键盘输入一个字符串,将小写字母全部转换成大
阅读:3541| 2022-01-22
Python 环境搭建 本章节我们将向大家介绍如何在本地搭建 Python 开发环境。 Py
阅读:3072| 2022-01-22
Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也
阅读:2737| 2022-01-22
Python output.darkgreen函数代码示例
阅读:2683| 2022-05-25
Python 中文编码前面章节中我们已经学会了如何用 Python 输出 Hello, World!,英文没
阅读:2352| 2022-01-22
请发表评论