diff --git a/src/Python/Annotation/MultiLineText.py b/src/Python/Annotation/MultiLineText.py index d5e8f7ecd8ab91312df484a6d10e98e6161a035d..91748a0c47df587f08f9905e7fe0575e70c0a95b 100755 --- a/src/Python/Annotation/MultiLineText.py +++ b/src/Python/Annotation/MultiLineText.py @@ -1,6 +1,27 @@ #!/usr/bin/env python -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingFreeType +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonCore import vtkPoints +from vtkmodules.vtkCommonDataModel import ( + vtkCellArray, + vtkPolyData +) +from vtkmodules.vtkRenderingCore import ( + vtkActor2D, + vtkCoordinate, + vtkPolyDataMapper2D, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer, + vtkTextMapper, + vtkTextProperty +) def main(): @@ -9,7 +30,7 @@ def main(): # Create the text mappers and the associated Actor2Ds. # The font and text properties (except justification) are the same for # each single line mapper. Let's create a common text property object - singleLineTextProp = vtk.vtkTextProperty() + singleLineTextProp = vtkTextProperty() singleLineTextProp.SetFontSize(font_size) singleLineTextProp.SetFontFamilyToArial() singleLineTextProp.BoldOff() @@ -18,56 +39,56 @@ def main(): # The font and text properties (except justification) are the same for # each multi line mapper. Let's create a common text property object - multiLineTextProp = vtk.vtkTextProperty() + multiLineTextProp = vtkTextProperty() multiLineTextProp.ShallowCopy(singleLineTextProp) multiLineTextProp.BoldOn() multiLineTextProp.ItalicOn() multiLineTextProp.ShadowOn() multiLineTextProp.SetLineSpacing(0.8) - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() # The text is on a single line and bottom-justified. - singleLineTextB = vtk.vtkTextMapper() + singleLineTextB = vtkTextMapper() singleLineTextB.SetInput('Single line (bottom)') tprop = singleLineTextB.GetTextProperty() tprop.ShallowCopy(singleLineTextProp) tprop.SetVerticalJustificationToBottom() tprop.SetColor(colors.GetColor3d('Tomato')) - singleLineTextActorB = vtk.vtkActor2D() + singleLineTextActorB = vtkActor2D() singleLineTextActorB.SetMapper(singleLineTextB) singleLineTextActorB.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() singleLineTextActorB.GetPositionCoordinate().SetValue(0.05, 0.85) # The text is on a single line and center-justified (vertical justification). - singleLineTextC = vtk.vtkTextMapper() + singleLineTextC = vtkTextMapper() singleLineTextC.SetInput('Single line (centered)') tprop = singleLineTextC.GetTextProperty() tprop.ShallowCopy(singleLineTextProp) tprop.SetVerticalJustificationToCentered() tprop.SetColor(colors.GetColor3d('DarkGreen')) - singleLineTextActorC = vtk.vtkActor2D() + singleLineTextActorC = vtkActor2D() singleLineTextActorC.SetMapper(singleLineTextC) singleLineTextActorC.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() singleLineTextActorC.GetPositionCoordinate().SetValue(0.05, 0.75) # The text is on a single line and top-justified. - singleLineTextT = vtk.vtkTextMapper() + singleLineTextT = vtkTextMapper() singleLineTextT.SetInput('Single line (top)') tprop = singleLineTextT.GetTextProperty() tprop.ShallowCopy(singleLineTextProp) tprop.SetVerticalJustificationToTop() tprop.SetColor(colors.GetColor3d('Peacock')) - singleLineTextActorT = vtk.vtkActor2D() + singleLineTextActorT = vtkActor2D() singleLineTextActorT.SetMapper(singleLineTextT) singleLineTextActorT.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() singleLineTextActorT.GetPositionCoordinate().SetValue(0.05, 0.65) # The text is on multiple lines and left- and top-justified. - textMapperL = vtk.vtkTextMapper() + textMapperL = vtkTextMapper() textMapperL.SetInput('This is\nmulti-line\ntext output\n(left-top)') tprop = textMapperL.GetTextProperty() tprop.ShallowCopy(multiLineTextProp) @@ -75,13 +96,13 @@ def main(): tprop.SetVerticalJustificationToTop() tprop.SetColor(colors.GetColor3d('Tomato')) - textActorL = vtk.vtkActor2D() + textActorL = vtkActor2D() textActorL.SetMapper(textMapperL) textActorL.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() textActorL.GetPositionCoordinate().SetValue(0.05, 0.5) # The text is on multiple lines and center-justified (both horizontal and vertical). - textMapperC = vtk.vtkTextMapper() + textMapperC = vtkTextMapper() textMapperC.SetInput('This is\nmulti-line\ntext output\n(centered)') tprop = textMapperC.GetTextProperty() tprop.ShallowCopy(multiLineTextProp) @@ -89,13 +110,13 @@ def main(): tprop.SetVerticalJustificationToCentered() tprop.SetColor(colors.GetColor3d('DarkGreen')) - textActorC = vtk.vtkActor2D() + textActorC = vtkActor2D() textActorC.SetMapper(textMapperC) textActorC.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() textActorC.GetPositionCoordinate().SetValue(0.5, 0.5) # The text is on multiple lines and right- and bottom-justified. - textMapperR = vtk.vtkTextMapper() + textMapperR = vtkTextMapper() textMapperR.SetInput('This is\nmulti-line\ntext output\n(right-bottom)') tprop = textMapperR.GetTextProperty() tprop.ShallowCopy(multiLineTextProp) @@ -103,7 +124,7 @@ def main(): tprop.SetVerticalJustificationToBottom() tprop.SetColor(colors.GetColor3d('Peacock')) - textActorR = vtk.vtkActor2D() + textActorR = vtkActor2D() textActorR.SetMapper(textMapperR) textActorR.GetPositionCoordinate().SetCoordinateSystemToNormalizedDisplay() textActorR.GetPositionCoordinate().SetValue(0.95, 0.5) @@ -111,7 +132,7 @@ def main(): # Draw the grid to demonstrate the placement of the text. # Set up the necessary points. - Pts = vtk.vtkPoints() + Pts = vtkPoints() Pts.InsertNextPoint(0.05, 0.0, 0.0) Pts.InsertNextPoint(0.05, 1.0, 0.0) Pts.InsertNextPoint(0.5, 0.0, 0.0) @@ -128,7 +149,7 @@ def main(): Pts.InsertNextPoint(0.50, 0.65, 0.0) # Set up the lines that use these points. - Lines = vtk.vtkCellArray() + Lines = vtkCellArray() Lines.InsertNextCell(2) Lines.InsertCellPoint(0) Lines.InsertCellPoint(1) @@ -152,27 +173,27 @@ def main(): Lines.InsertCellPoint(13) # Create a grid that uses these points and lines. - Grid = vtk.vtkPolyData() + Grid = vtkPolyData() Grid.SetPoints(Pts) Grid.SetLines(Lines) # Set up the coordinate system. - normCoords = vtk.vtkCoordinate() + normCoords = vtkCoordinate() normCoords.SetCoordinateSystemToNormalizedViewport() # Set up the mapper and actor (2D) for the grid. - mapper = vtk.vtkPolyDataMapper2D() + mapper = vtkPolyDataMapper2D() mapper.SetInputData(Grid) mapper.SetTransformCoordinate(normCoords) - gridActor = vtk.vtkActor2D() + gridActor = vtkActor2D() gridActor.SetMapper(mapper) gridActor.GetProperty().SetColor(colors.GetColor3d('DimGray')) # Create the Renderer, RenderWindow, and RenderWindowInteractor - renderer = vtk.vtkRenderer() - renderWindow = vtk.vtkRenderWindow() + renderer = vtkRenderer() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) # Add the actors to the renderer set the background and size zoom in closer to the image render diff --git a/src/Python/Annotation/TextOrigin.py b/src/Python/Annotation/TextOrigin.py index 0df0c2c280c6aad2abdc2cf1ed1273bfc7211e89..0e82efa278c9f0b755f313ad180ddfc39f4541a1 100755 --- a/src/Python/Annotation/TextOrigin.py +++ b/src/Python/Annotation/TextOrigin.py @@ -1,40 +1,53 @@ #!/usr/bin/env python -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkFiltersGeneral import vtkAxes +from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackballCamera +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkFollower, + vtkPolyDataMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) +from vtkmodules.vtkRenderingFreeType import vtkVectorText def main(): - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() # Create the axes and the associated mapper and actor. - axes = vtk.vtkAxes() + axes = vtkAxes() axes.SetOrigin(0, 0, 0) - axesMapper = vtk.vtkPolyDataMapper() + axesMapper = vtkPolyDataMapper() axesMapper.SetInputConnection(axes.GetOutputPort()) - axesActor = vtk.vtkActor() + axesActor = vtkActor() axesActor.SetMapper(axesMapper) # Create the 3D text and the associated mapper and follower (a type of actor). Position the text so it is displayed over the origin of the axes. - atext = vtk.vtkVectorText() + atext = vtkVectorText() atext.SetText('Origin') - textMapper = vtk.vtkPolyDataMapper() + textMapper = vtkPolyDataMapper() textMapper.SetInputConnection(atext.GetOutputPort()) - textActor = vtk.vtkFollower() + textActor = vtkFollower() textActor.SetMapper(textMapper) textActor.SetScale(0.2, 0.2, 0.2) textActor.AddPosition(0, -0.1, 0) textActor.GetProperty().SetColor(colors.GetColor3d('Peacock')) # Create the Renderer, RenderWindow, and RenderWindowInteractor. - renderer = vtk.vtkRenderer() - renderWindow = vtk.vtkRenderWindow() + renderer = vtkRenderer() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindow.SetSize(640, 480) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(renderWindow) - style = vtk.vtkInteractorStyleTrackballCamera() + style = vtkInteractorStyleTrackballCamera() interactor.SetInteractorStyle(style) # Add the actors to the renderer. diff --git a/src/Python/Arrays/GetValues.py b/src/Python/Arrays/GetValues.py index 5879def9873f50e42aa8b5bde81e546f3c209ea2..0eeaad26bebb5f1a13bb2df0f9d3bbf234479297 100755 --- a/src/Python/Arrays/GetValues.py +++ b/src/Python/Arrays/GetValues.py @@ -1,12 +1,15 @@ -import vtkmodules.all as vtk +#!/usr/bin/env python + +from vtkmodules.vtkCommonDataModel import vtkPolyData +from vtkmodules.vtkFiltersSources import vtkSphereSource def main(): # setup sphere - sphereSource = vtk.vtkSphereSource() + sphereSource = vtkSphereSource() sphereSource.Update() - polydata = vtk.vtkPolyData() + polydata = vtkPolyData() polydata.ShallowCopy(sphereSource.GetOutput()) normals = polydata.GetPointData().GetNormals() diff --git a/src/Python/Arrays/RenameArray.py b/src/Python/Arrays/RenameArray.py index 6605c76275a0588065681d19e8be6b23deaaf68f..e0412267c40abee8ea2c5bcfeb03776d5ce8012a 100755 --- a/src/Python/Arrays/RenameArray.py +++ b/src/Python/Arrays/RenameArray.py @@ -1,18 +1,22 @@ -import vtkmodules.all as vtk +#!/usr/bin/env python + +from vtkmodules.vtkCommonDataModel import vtkPolyData +from vtkmodules.vtkFiltersSources import vtkSphereSource +from vtkmodules.vtkIOXML import vtkXMLPolyDataWriter def main(): # setup sphere - sphereSource = vtk.vtkSphereSource() + sphereSource = vtkSphereSource() sphereSource.Update() - polydata = vtk.vtkPolyData() + polydata = vtkPolyData() polydata.ShallowCopy(sphereSource.GetOutput()) normals = polydata.GetPointData().GetNormals() normals.SetName('TestN') - writer = vtk.vtkXMLPolyDataWriter() + writer = vtkXMLPolyDataWriter() writer.SetFileName('Test.vtp') writer.SetInputData(polydata) writer.Write() diff --git a/src/Python/CompositeData/CompositePolyDataMapper.py b/src/Python/CompositeData/CompositePolyDataMapper.py index a6f808cc1a7c50b700e7c7070b3bc74f4d2516c0..8676506fd152d7fc6e23e535d8d7cb444e1a45d0 100755 --- a/src/Python/CompositeData/CompositePolyDataMapper.py +++ b/src/Python/CompositeData/CompositePolyDataMapper.py @@ -1,24 +1,36 @@ #!/usr/bin/env python -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet +from vtkmodules.vtkFiltersSources import vtkSphereSource +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkCompositeDataDisplayAttributes, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) +from vtkmodules.vtkRenderingOpenGL2 import vtkCompositePolyDataMapper2 def main(): - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() # Create Sphere 1. - sphere1 = vtk.vtkSphereSource() + sphere1 = vtkSphereSource() sphere1.SetRadius(3) sphere1.SetCenter(0, 0, 0) sphere1.Update() # Create Sphere 2. - sphere2 = vtk.vtkSphereSource() + sphere2 = vtkSphereSource() sphere2.SetRadius(2) sphere2.SetCenter(2, 0, 0) sphere2.Update() - mbds = vtk.vtkMultiBlockDataSet() + mbds = vtkMultiBlockDataSet() mbds.SetNumberOfBlocks(3) mbds.SetBlock(0, sphere1.GetOutput()) # Leave block 1 NULL. NULL blocks are valid and should be handled by @@ -27,9 +39,9 @@ def main(): # NULL in this process. mbds.SetBlock(2, sphere2.GetOutput()) - mapper = vtk.vtkCompositePolyDataMapper2() + mapper = vtkCompositePolyDataMapper2() mapper.SetInputDataObject(mbds) - cdsa = vtk.vtkCompositeDataDisplayAttributes() + cdsa = vtkCompositeDataDisplayAttributes() mapper.SetCompositeDataDisplayAttributes(cdsa) # You can use the vtkCompositeDataDisplayAttributes to set the color, @@ -49,14 +61,14 @@ def main(): mapper.SetBlockColor(1, colors.GetColor3d('LavenderBlush')) mapper.SetBlockColor(2, colors.GetColor3d('Lavender')) - actor = vtk.vtkActor() + actor = vtkActor() actor.SetMapper(mapper) # Create the Renderer, RenderWindow, and RenderWindowInteractor. - renderer = vtk.vtkRenderer() - renderWindow = vtk.vtkRenderWindow() + renderer = vtkRenderer() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) - renderWindowInteractor = vtk.vtkRenderWindowInteractor() + renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) # Enable user interface interactor. diff --git a/src/Python/CompositeData/MultiBlockDataSet.py b/src/Python/CompositeData/MultiBlockDataSet.py index 31ca013ea604faa94227841b1efe0da1a59bebd8..6c716689cd2cc74b9d4c61f5774a2aee144c10e3 100755 --- a/src/Python/CompositeData/MultiBlockDataSet.py +++ b/src/Python/CompositeData/MultiBlockDataSet.py @@ -1,31 +1,46 @@ #!/usr/bin/env python -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet +from vtkmodules.vtkFiltersExtraction import vtkExtractEdges +from vtkmodules.vtkFiltersGeometry import vtkCompositeDataGeometryFilter +from vtkmodules.vtkFiltersSources import vtkSphereSource +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkPolyDataMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def main(): - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() # PART 1 Make some Data. # Make a tree. - root = vtk.vtkMultiBlockDataSet() + root = vtkMultiBlockDataSet() - branch = vtk.vtkMultiBlockDataSet() + branch = vtkMultiBlockDataSet() root.SetBlock(0, branch) # Make some leaves. - leaf1 = vtk.vtkSphereSource() + leaf1 = vtkSphereSource() leaf1.SetCenter(0, 0, 0) leaf1.Update() branch.SetBlock(0, leaf1.GetOutput()) - leaf2 = vtk.vtkSphereSource() + leaf2 = vtkSphereSource() leaf2.SetCenter(1.75, 2.5, 0) leaf2.SetRadius(1.5) leaf2.Update() branch.SetBlock(1, leaf2.GetOutput()) - leaf3 = vtk.vtkSphereSource() + leaf3 = vtkSphereSource() leaf3.SetCenter(4, 0, 0) leaf3.SetRadius(2) leaf3.Update() @@ -33,7 +48,7 @@ def main(): # PART 2 Do something with the data # a non composite aware filter, the pipeline will iterate - edges = vtk.vtkExtractEdges() + edges = vtkExtractEdges() edges.SetInputData(root) # PART 3 Show the data @@ -41,19 +56,19 @@ def main(): # this filter aggregates all blocks into one polydata # this is handy for display, although fairly limited # see vtkCompositePolyDataMapper2 for something better - polydata = vtk.vtkCompositeDataGeometryFilter() + polydata = vtkCompositeDataGeometryFilter() polydata.SetInputConnection(edges.GetOutputPort()) # Create the Renderer, RenderWindow, and RenderWindowInteractor. - renderer = vtk.vtkRenderer() - renderWindow = vtk.vtkRenderWindow() + renderer = vtkRenderer() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) - renderWindowInteractor = vtk.vtkRenderWindowInteractor() + renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) - mapper = vtk.vtkPolyDataMapper() + mapper = vtkPolyDataMapper() mapper.SetInputConnection(0, polydata.GetOutputPort(0)) - actor = vtk.vtkActor() + actor = vtkActor() actor.GetProperty().SetColor(colors.GetColor3d('Yellow')) actor.GetProperty().SetLineWidth(2) actor.SetMapper(mapper) diff --git a/src/Python/CompositeData/OverlappingAMR.py b/src/Python/CompositeData/OverlappingAMR.py index 42766f45f7000fa4dc77732346adfd54dccdc7dc..48ffaf9ff455936a578141950f5c64963d192861 100755 --- a/src/Python/CompositeData/OverlappingAMR.py +++ b/src/Python/CompositeData/OverlappingAMR.py @@ -1,10 +1,32 @@ #!/usr/bin/env python -import vtkmodules.all as vtk + +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonCore import vtkFloatArray +from vtkmodules.vtkCommonDataModel import ( + vtkAMRBox, + vtkOverlappingAMR, + vtkSphere, + vtkUniformGrid +) +from vtkmodules.vtkFiltersCore import vtkContourFilter +from vtkmodules.vtkFiltersGeometry import vtkCompositeDataGeometryFilter +from vtkmodules.vtkFiltersModeling import vtkOutlineFilter +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkPolyDataMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def MakeScalars(dims, origin, spacing, scalars): # Implicit function used to compute scalars - sphere = vtk.vtkSphere() + sphere = vtkSphere() sphere.SetRadius(3) sphere.SetCenter(5, 5, 5) scalars.SetNumberOfTuples(dims[0] * dims[1] * dims[2]) @@ -18,7 +40,7 @@ def MakeScalars(dims, origin, spacing, scalars): def main(): - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() # Create and populate the AMR dataset # The dataset should look like @@ -29,7 +51,7 @@ def main(): # uniform grid, dimensions 11, 11, 11, AMR box (10, 10, 10) - (19, 19, 19) # Use MakeScalars() above to fill the scalar arrays - amr = vtk.vtkOverlappingAMR() + amr = vtkOverlappingAMR() blocksPerLevel = [1, 2] amr.Initialize(2, blocksPerLevel) @@ -37,43 +59,43 @@ def main(): spacing = [1.0, 1.0, 1.0] dims = [11, 11, 11] - ug1 = vtk.vtkUniformGrid() + ug1 = vtkUniformGrid() # Geometry ug1.SetOrigin(origin) ug1.SetSpacing(spacing) ug1.SetDimensions(dims) # Data - scalars = vtk.vtkFloatArray() + scalars = vtkFloatArray() ug1.GetPointData().SetScalars(scalars) MakeScalars(dims, origin, spacing, scalars) lo = [0, 0, 0] hi = [9, 9, 9] - box1 = vtk.vtkAMRBox() + box1 = vtkAMRBox() amr.SetAMRBox(0, 0, box1) amr.SetDataSet(0, 0, ug1) spacing2 = [0.5, 0.5, 0.5] - ug2 = vtk.vtkUniformGrid() + ug2 = vtkUniformGrid() # Geometry ug2.SetOrigin(origin) ug2.SetSpacing(spacing2) ug2.SetDimensions(dims) # Data - scalars2 = vtk.vtkFloatArray() + scalars2 = vtkFloatArray() ug2.GetPointData().SetScalars(scalars2) MakeScalars(dims, origin, spacing2, scalars2) lo2 = [0, 0, 0] hi2 = [9, 9, 9] - box2 = vtk.vtkAMRBox() + box2 = vtkAMRBox() amr.SetAMRBox(1, 0, box2) amr.SetDataSet(1, 0, ug2) origin3 = [5, 5, 5] - ug3 = vtk.vtkUniformGrid() + ug3 = vtkUniformGrid() # Geometry ug3.SetOrigin(origin3) @@ -81,52 +103,52 @@ def main(): ug3.SetDimensions(dims) # Data - scalars3 = vtk.vtkFloatArray() + scalars3 = vtkFloatArray() ug3.GetPointData().SetScalars(scalars3) MakeScalars(dims, origin3, spacing2, scalars3) lo3 = [10, 10, 10] hi3 = [19, 19, 19] - box3 = vtk.vtkAMRBox() + box3 = vtkAMRBox() amr.SetAMRBox(1, 1, box3) amr.SetDataSet(1, 1, ug3) amr.SetRefinementRatio(0, 2) # Render the amr data here. - of = vtk.vtkOutlineFilter() + of = vtkOutlineFilter() of.SetInputData(amr) - geomFilter = vtk.vtkCompositeDataGeometryFilter() + geomFilter = vtkCompositeDataGeometryFilter() geomFilter.SetInputConnection(of.GetOutputPort()) # Create an iso-surface - at 10. - cf = vtk.vtkContourFilter() + cf = vtkContourFilter() cf.SetInputData(amr) cf.SetNumberOfContours(1) cf.SetValue(0, 10.0) - geomFilter2 = vtk.vtkCompositeDataGeometryFilter() + geomFilter2 = vtkCompositeDataGeometryFilter() geomFilter2.SetInputConnection(cf.GetOutputPort()) # Create the render window, renderer, and interactor. - aren = vtk.vtkRenderer() - renWin = vtk.vtkRenderWindow() + aren = vtkRenderer() + renWin = vtkRenderWindow() renWin.AddRenderer(aren) - iren = vtk.vtkRenderWindowInteractor() + iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Associate the geometry with a mapper and the mapper to an actor. - mapper = vtk.vtkPolyDataMapper() + mapper = vtkPolyDataMapper() mapper.SetInputConnection(of.GetOutputPort()) - actor1 = vtk.vtkActor() + actor1 = vtkActor() actor1.GetProperty().SetColor(colors.GetColor3d('Yellow')) actor1.SetMapper(mapper) # Associate the geometry with a mapper and the mapper to an actor. - mapper2 = vtk.vtkPolyDataMapper() + mapper2 = vtkPolyDataMapper() mapper2.SetInputConnection(geomFilter2.GetOutputPort()) - actor2 = vtk.vtkActor() + actor2 = vtkActor() actor2.SetMapper(mapper2) # Add the actor to the renderer and start handling events. diff --git a/src/Python/DataManipulation/LineOnMesh.py b/src/Python/DataManipulation/LineOnMesh.py index 98a177d0f829795d9092ebe1b7dbd06293f3d9ff..6d07d589f79d3de375ceac9a76a4fefa6b559880 100755 --- a/src/Python/DataManipulation/LineOnMesh.py +++ b/src/Python/DataManipulation/LineOnMesh.py @@ -1,11 +1,33 @@ #!/usr/bin/env python import numpy as np -import vtkmodules.all as vtk +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonComputationalGeometry import vtkParametricSpline +from vtkmodules.vtkCommonCore import ( + mutable, + vtkPoints, + vtkUnsignedCharArray +) +from vtkmodules.vtkCommonDataModel import ( + vtkCellArray, + vtkCellLocator, + vtkPolyData, + vtkTriangle +) +from vtkmodules.vtkFiltersCore import vtkCleanPolyData +from vtkmodules.vtkFiltersModeling import vtkLoopSubdivisionFilter +from vtkmodules.vtkFiltersSources import vtkParametricFunctionSource +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkPolyDataMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def main(): - named_colors = vtk.vtkNamedColors() + named_colors = vtkNamedColors() # Make a 32 x 32 grid. size = 32 @@ -17,10 +39,10 @@ def main(): topography = np.random.randint(0, 5, (size, size)) # Define points, triangles and colors - colors = vtk.vtkUnsignedCharArray() + colors = vtkUnsignedCharArray() colors.SetNumberOfComponents(3) - points = vtk.vtkPoints() - triangles = vtk.vtkCellArray() + points = vtkPoints() + triangles = vtkCellArray() # Build the meshgrid manually. count = 0 @@ -35,7 +57,7 @@ def main(): points.InsertNextPoint(i, (j + 1), z2) points.InsertNextPoint((i + 1), j, z3) - triangle = vtk.vtkTriangle() + triangle = vtkTriangle() triangle.GetPointIds().SetId(0, count) triangle.GetPointIds().SetId(1, count + 1) triangle.GetPointIds().SetId(2, count + 2) @@ -51,7 +73,7 @@ def main(): points.InsertNextPoint((i + 1), (j + 1), z2) points.InsertNextPoint((i + 1), j, z3) - triangle = vtk.vtkTriangle() + triangle = vtkTriangle() triangle.GetPointIds().SetId(0, count + 3) triangle.GetPointIds().SetId(1, count + 4) triangle.GetPointIds().SetId(2, count + 5) @@ -70,7 +92,7 @@ def main(): colors.InsertNextTypedTuple(r) # Create a polydata object. - trianglePolyData = vtk.vtkPolyData() + trianglePolyData = vtkPolyData() # Add the geometry and topology to the polydata. trianglePolyData.SetPoints(points) @@ -78,18 +100,18 @@ def main(): trianglePolyData.SetPolys(triangles) # Clean the polydata so that the edges are shared! - cleanPolyData = vtk.vtkCleanPolyData() + cleanPolyData = vtkCleanPolyData() cleanPolyData.SetInputData(trianglePolyData) # Use a filter to smooth the data (will add triangles and smooth). - smooth_loop = vtk.vtkLoopSubdivisionFilter() + smooth_loop = vtkLoopSubdivisionFilter() smooth_loop.SetNumberOfSubdivisions(3) smooth_loop.SetInputConnection(cleanPolyData.GetOutputPort()) # Create a mapper and actor for smoothed dataset. - mapper = vtk.vtkPolyDataMapper() + mapper = vtkPolyDataMapper() mapper.SetInputConnection(smooth_loop.GetOutputPort()) - actor_loop = vtk.vtkActor() + actor_loop = vtkActor() actor_loop.SetMapper(mapper) actor_loop.GetProperty().SetInterpolationToFlat() @@ -98,7 +120,7 @@ def main(): # Define a cellLocator to be able to compute intersections between lines. # and the surface - locator = vtk.vtkCellLocator() + locator = vtkCellLocator() locator.SetDataSet(smooth_loop.GetOutput()) locator.BuildLocator() @@ -108,17 +130,17 @@ def main(): # Make a list of points. Each point is the intersection of a vertical line # defined by p1 and p2 and the surface. - points = vtk.vtkPoints() + points = vtkPoints() for i in range(maxloop): p1 = [2 + i * dist, 16, -1] p2 = [2 + i * dist, 16, 6] # Outputs (we need only pos which is the x, y, z position # of the intersection) - t = vtk.mutable(0) + t = mutable(0) pos = [0.0, 0.0, 0.0] pcoords = [0.0, 0.0, 0.0] - subId = vtk.mutable(0) + subId = mutable(0) locator.IntersectWithLine(p1, p2, tolerance, t, pos, pcoords, subId) # Add a slight offset in z. @@ -127,27 +149,27 @@ def main(): points.InsertNextPoint(pos) # Create a spline and add the points - spline = vtk.vtkParametricSpline() + spline = vtkParametricSpline() spline.SetPoints(points) - functionSource = vtk.vtkParametricFunctionSource() + functionSource = vtkParametricFunctionSource() functionSource.SetUResolution(maxloop) functionSource.SetParametricFunction(spline) # Map the spline - mapper = vtk.vtkPolyDataMapper() + mapper = vtkPolyDataMapper() mapper.SetInputConnection(functionSource.GetOutputPort()) # Define the line actor - actor = vtk.vtkActor() + actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(named_colors.GetColor3d('Red')) actor.GetProperty().SetLineWidth(3) # Visualize - renderer = vtk.vtkRenderer() - renderWindow = vtk.vtkRenderWindow() + renderer = vtkRenderer() + renderWindow = vtkRenderWindow() renderWindow.AddRenderer(renderer) - renderWindowInteractor = vtk.vtkRenderWindowInteractor() + renderWindowInteractor = vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) # Add actors and render diff --git a/src/Python/DataManipulation/MeshLabelImageColor.py b/src/Python/DataManipulation/MeshLabelImageColor.py index 777ab9c174abcf4d2c514b39e4aca70705594e21..ce6e69b20dd02a149d8b31417d03792ca5759b79 100755 --- a/src/Python/DataManipulation/MeshLabelImageColor.py +++ b/src/Python/DataManipulation/MeshLabelImageColor.py @@ -1,20 +1,48 @@ -import vtkmodules.all as vtk +#!/usr/bin/env python + +# noinspection PyUnresolvedReferences +import vtkmodules.vtkInteractionStyle +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonCore import ( + VTK_VERSION_NUMBER, + vtkLookupTable, + vtkVersion +) +from vtkmodules.vtkFiltersCore import ( + vtkPolyDataNormals, + vtkWindowedSincPolyDataFilter +) +from vtkmodules.vtkFiltersGeneral import ( + vtkDiscreteFlyingEdges3D, + vtkDiscreteMarchingCubes +) +from vtkmodules.vtkIOImage import vtkMetaImageReader +from vtkmodules.vtkImagingCore import vtkExtractVOI +from vtkmodules.vtkRenderingCore import ( + vtkPolyDataMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) +from vtkmodules.vtkRenderingLOD import vtkLODActor def main(): # vtkFlyingEdges3D was introduced in VTK >= 8.2 use_flying_edges = vtk_version_ok(8, 2, 0) - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() ifn, index = get_program_parameters() # Prepare to read the file. - reader_volume = vtk.vtkMetaImageReader() + reader_volume = vtkMetaImageReader() reader_volume.SetFileName(ifn) reader_volume.Update() # Extract the region of interest. - voi = vtk.vtkExtractVOI() + voi = vtkExtractVOI() voi.SetInputConnection(reader_volume.GetOutputPort()) voi.SetVOI(0, 517, 0, 228, 0, 392) voi.SetSampleRate(1, 1, 1) @@ -26,11 +54,11 @@ def main(): # For label images. if use_flying_edges: try: - contour = vtk.vtkDiscreteFlyingEdges3D() + contour = vtkDiscreteFlyingEdges3D() except AttributeError: - contour = vtk.vtkDiscreteMarchingCubes() + contour = vtkDiscreteMarchingCubes() else: - contour = vtk.vtkDiscreteMarchingCubes() + contour = vtkDiscreteMarchingCubes() contour.SetInputConnection(voi.GetOutputPort()) # contour.ComputeNormalsOn() @@ -39,7 +67,7 @@ def main(): contour.SetValue(0, index) contour.Update() # Needed for GetNumberOfPolys()!!! - smoother = vtk.vtkWindowedSincPolyDataFilter() + smoother = vtkWindowedSincPolyDataFilter() smoother.SetInputConnection(contour.GetOutputPort()) smoother.SetNumberOfIterations(30) # This has little effect on the error! # smoother.BoundarySmoothingOff() @@ -70,7 +98,7 @@ def main(): maxz = 3.85 # Create the color map. - lut = vtk.vtkLookupTable() + lut = vtkLookupTable() lut.SetTableRange(minz, maxz) # This does nothing, use mapper.SetScalarRange(minz, maxz). lut.SetHueRange(2 / 3.0, 1) # lut.SetSaturationRange(0, 0) @@ -79,7 +107,7 @@ def main(): lut.Build() # Calculate cell normals. - triangle_cell_normals = vtk.vtkPolyDataNormals() + triangle_cell_normals = vtkPolyDataNormals() triangle_cell_normals.SetInputData(smoothed_polys) triangle_cell_normals.ComputeCellNormalsOn() triangle_cell_normals.ComputePointNormalsOff() @@ -87,7 +115,7 @@ def main(): triangle_cell_normals.AutoOrientNormalsOn() triangle_cell_normals.Update() # Creates vtkPolyData. - mapper = vtk.vtkPolyDataMapper() + mapper = vtkPolyDataMapper() # mapper.SetInput(smoothed_polys) # This has no normals. mapper.SetInputConnection(triangle_cell_normals.GetOutputPort()) # this is better for vis;-) mapper.ScalarVisibilityOn() # Show colour. @@ -97,22 +125,22 @@ def main(): mapper.SetLookupTable(lut) # Take the isosurface data and create geometry. - actor = vtk.vtkLODActor() + actor = vtkLODActor() actor.SetNumberOfCloudPoints(100000) actor.SetMapper(mapper) # Create the renderer. - ren = vtk.vtkRenderer() + ren = vtkRenderer() ren.SetBackground(colors.GetColor3d('DimGray')) ren.AddActor(actor) # Create a window for the renderer of size 600X600 - ren_win = vtk.vtkRenderWindow() + ren_win = vtkRenderWindow() ren_win.AddRenderer(ren) ren_win.SetSize(600, 600) # Set a user interface interactor for the render window. - iren = vtk.vtkRenderWindowInteractor() + iren = vtkRenderWindowInteractor() iren.SetRenderWindow(ren_win) # Start the initialization and rendering. @@ -153,9 +181,9 @@ def vtk_version_ok(major, minor, build): """ needed_version = 10000000000 * int(major) + 100000000 * int(minor) + int(build) try: - vtk_version_number = vtk.VTK_VERSION_NUMBER + vtk_version_number = VTK_VERSION_NUMBER except AttributeError: # as error: - ver = vtk.vtkVersion() + ver = vtkVersion() vtk_version_number = 10000000000 * ver.GetVTKMajorVersion() + 100000000 * ver.GetVTKMinorVersion() \ + ver.GetVTKBuildVersion() if vtk_version_number >= needed_version: diff --git a/src/Python/ExplicitStructuredGrid/CreateESGrid.py b/src/Python/ExplicitStructuredGrid/CreateESGrid.py index 14c36eac94a2b66d4dde0c296a7b65990b1fc95f..800c8779da9ec498d3b1b5adaf18fc6279db29a3 100755 --- a/src/Python/ExplicitStructuredGrid/CreateESGrid.py +++ b/src/Python/ExplicitStructuredGrid/CreateESGrid.py @@ -1,7 +1,26 @@ #!/usr/bin/env python import numpy as np -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkCommonCore import vtkPoints +from vtkmodules.vtkCommonDataModel import ( + vtkCellArray, + vtkExplicitStructuredGrid +) +from vtkmodules.vtkFiltersCore import ( + vtkExplicitStructuredGridToUnstructuredGrid, + vtkUnstructuredGridToExplicitStructuredGrid +) +from vtkmodules.vtkInteractionStyle import vtkInteractorStyleRubberBandPick +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkDataSetMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def create_explicit_structured_grid(dimensions, spacing=(1, 1, 1)): @@ -16,20 +35,20 @@ def create_explicit_structured_grid(dimensions, spacing=(1, 1, 1)): Returns ------- - grid : vtk.vtkExplicitStructuredGrid + grid : vtkExplicitStructuredGrid An explicit structured grid. """ ni, nj, nk = dimensions si, sj, sk = spacing - points = vtk.vtkPoints() + points = vtkPoints() for z in range(0, nk * sk, sk): for y in range(0, nj * sj, sj): for x in range(0, ni * si, si): points.InsertNextPoint((x, y, z)) - cells = vtk.vtkCellArray() + cells = vtkCellArray() for k in range(0, nk - 1): for j in range(0, nj - 1): for i in range(0, ni - 1): @@ -39,7 +58,7 @@ def create_explicit_structured_grid(dimensions, spacing=(1, 1, 1)): pts = np.ravel_multi_index(multi_index, dimensions, order='F') cells.InsertNextCell(8, pts) - grid = vtk.vtkExplicitStructuredGrid() + grid = vtkExplicitStructuredGrid() grid.SetDimensions(ni, nj, nk) grid.SetPoints(points) grid.SetCells(cells) @@ -51,16 +70,16 @@ def convert_to_unstructured_grid(grid): Parameters ---------- - grid : vtk.vtkExplicitStructuredGrid + grid : vtkExplicitStructuredGrid An explicit structured grid. Returns ------- - vtk.vtkUnstructuredGrid + vtkUnstructuredGrid An unstructured grid. """ - converter = vtk.vtkExplicitStructuredGridToUnstructuredGrid() + converter = vtkExplicitStructuredGridToUnstructuredGrid() converter.SetInputData(grid) converter.Update() return converter.GetOutput() @@ -71,17 +90,17 @@ def convert_to_explicit_structured_grid(grid): Parameters ---------- - grid : vtk.UnstructuredGrid + grid : UnstructuredGrid An unstructured grid. Returns ------- - vtk.vtkExplicitStructuredGrid + vtkExplicitStructuredGrid An explicit structured grid. The ``'BLOCK_I'``, ``'BLOCK_J'`` and ``'BLOCK_K'`` cell arrays are required. """ - converter = vtk.vtkUnstructuredGridToExplicitStructuredGrid() + converter = vtkUnstructuredGridToExplicitStructuredGrid() converter.SetInputData(grid) converter.SetInputArrayToProcess(0, 0, 0, 1, 'BLOCK_I') converter.SetInputArrayToProcess(1, 0, 0, 1, 'BLOCK_J') @@ -95,22 +114,22 @@ def main(): grid = convert_to_unstructured_grid(grid) grid = convert_to_explicit_structured_grid(grid) - mapper = vtk.vtkDataSetMapper() + mapper = vtkDataSetMapper() mapper.SetInputData(grid) - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() - actor = vtk.vtkActor() + actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().EdgeVisibilityOn() actor.GetProperty().LightingOff() actor.GetProperty().SetColor(colors.GetColor3d('Seashell')) - renderer = vtk.vtkRenderer() + renderer = vtkRenderer() renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d('DarkSlateGray')) - window = vtk.vtkRenderWindow() + window = vtkRenderWindow() window.AddRenderer(renderer) window.SetWindowName('CreateESGrid') window.SetSize(1024, 768) @@ -123,9 +142,9 @@ def main(): camera.SetDistance(137.681759) camera.SetClippingRange(78.173985, 211.583658) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(window) - interactor.SetInteractorStyle(vtk.vtkInteractorStyleRubberBandPick()) + interactor.SetInteractorStyle(vtkInteractorStyleRubberBandPick()) window.Render() interactor.Start() diff --git a/src/Python/ExplicitStructuredGrid/LoadESGrid.py b/src/Python/ExplicitStructuredGrid/LoadESGrid.py index 41c5c0ebf1a992824dcc9281a5bd574ed09b5b00..45d686a26aa6eef27c557148304bcf32e1e4f519 100755 --- a/src/Python/ExplicitStructuredGrid/LoadESGrid.py +++ b/src/Python/ExplicitStructuredGrid/LoadESGrid.py @@ -1,6 +1,18 @@ #!/usr/bin/env python -import vtkmodules.all as vtk +# noinspection PyUnresolvedReferences +import vtkmodules.vtkRenderingOpenGL2 +from vtkmodules.vtkCommonColor import vtkNamedColors +from vtkmodules.vtkFiltersCore import vtkUnstructuredGridToExplicitStructuredGrid +from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader +from vtkmodules.vtkInteractionStyle import vtkInteractorStyleRubberBandPick +from vtkmodules.vtkRenderingCore import ( + vtkActor, + vtkDataSetMapper, + vtkRenderWindow, + vtkRenderWindowInteractor, + vtkRenderer +) def get_program_parameters(argv): @@ -16,11 +28,11 @@ def get_program_parameters(argv): def main(fn): - reader = vtk.vtkXMLUnstructuredGridReader() + reader = vtkXMLUnstructuredGridReader() reader.SetFileName(fn) reader.Update() - converter = vtk.vtkUnstructuredGridToExplicitStructuredGrid() + converter = vtkUnstructuredGridToExplicitStructuredGrid() converter.GlobalWarningDisplayOff() # hide VTK errors converter.SetInputConnection(reader.GetOutputPort()) converter.SetInputArrayToProcess(0, 0, 0, 1, 'BLOCK_I') @@ -34,22 +46,22 @@ def main(fn): scalars = grid.GetCellData().GetArray('ConnectivityFlags') - mapper = vtk.vtkDataSetMapper() + mapper = vtkDataSetMapper() mapper.SetInputData(grid) mapper.SetColorModeToMapScalars() mapper.SetScalarRange(scalars.GetRange()) - actor = vtk.vtkActor() + actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().EdgeVisibilityOn() - colors = vtk.vtkNamedColors() + colors = vtkNamedColors() - renderer = vtk.vtkRenderer() + renderer = vtkRenderer() renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d('DimGray')) - window = vtk.vtkRenderWindow() + window = vtkRenderWindow() window.AddRenderer(renderer) window.SetWindowName('LoadESGrid') window.SetSize(1024, 768) @@ -62,9 +74,9 @@ def main(fn): camera.SetDistance(9111.926908) camera.SetClippingRange(595.217338, 19595.429475) - interactor = vtk.vtkRenderWindowInteractor() + interactor = vtkRenderWindowInteractor() interactor.SetRenderWindow(window) - interactor.SetInteractorStyle(vtk.vtkInteractorStyleRubberBandPick()) + interactor.SetInteractorStyle(vtkInteractorStyleRubberBandPick()) window.Render() interactor.Start() diff --git a/src/Python/Medical/GenerateCubesFromLabels.py b/src/Python/Medical/GenerateCubesFromLabels.py index f2e3ba38f459969eb48b8cf04a364efb4f2ddabb..642a64b6b44d0df66dc4631b96519ed04a2343a0 100755 --- a/src/Python/Medical/GenerateCubesFromLabels.py +++ b/src/Python/Medical/GenerateCubesFromLabels.py @@ -34,7 +34,8 @@ def main(): selector.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject().FIELD_ASSOCIATION_CELLS, vtk.vtkDataSetAttributes().SCALARS) selector.SetInputConnection(pad.GetOutputPort()) - selector.ThresholdBetween(start_label, end_label) + selector.SetLowerThreshold(start_label) + selector.SetUpperThreshold(end_label) selector.Update() # Shift the geometry by 1/2