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