Skip to content
Snippets Groups Projects
Commit c80e2961 authored by Andrew Maclean's avatar Andrew Maclean
Browse files

Adding ImageOrientation, ImagePermute

parent 4406e384
No related branches found
No related tags found
1 merge request!389C++ to python api 08
Pipeline #424315 passed
......@@ -612,6 +612,7 @@ See [this tutorial](http://www.vtk.org/Wiki/VTK/Tutorials/3DDataTypes) for a bri
[ImageMask](/PythonicAPI/Images/ImageMask) | Mask a region of an image.
[ImageNonMaximumSuppression](/PythonicAPI/Images/ImageNonMaximumSuppression) | Find peaks in an image using non maximum suppression.
[ImageOpenClose3D](/PythonicAPI/Images/ImageOpenClose3D) | Open or close (morphologically) an image.
[ImageOrientation](/PythonicAPI/Images/ImageOrientation) | Orientation of the view of an image.
[MarkKeypoints](/PythonicAPI/Images/MarkKeypoints) | Mark keypoints in an image.
......@@ -635,6 +636,7 @@ See [this tutorial](http://www.vtk.org/Wiki/VTK/Tutorials/3DDataTypes) for a bri
[ImageEllipsoidSource](/PythonicAPI/Images/ImageEllipsoidSource) | Create an image of an ellipsoid.
[ImageGradient](/PythonicAPI/VisualizationAlgorithms/ImageGradient) | Create an imaging pipeline to visualize gradient information.
[ImageGradientMagnitude](/PythonicAPI/Images/ImageGradientMagnitude) | Compute the magnitude of the gradient at each pixel of an image.
[ImagePermute](/PythonicAPI/Images/ImagePermute) | Switch axes of an image.
[IsoSubsample](/PythonicAPI/ImageProcessing/IsoSubsample) | This figure demonstrates aliasing that occurs when a high-frequency signal is subsampled. High frequencies appear as low frequency artifacts. The left image is an isosurface of a skull after subsampling. The right image used a low-pass filter before subsampling to reduce aliasing.
[MorphologyComparison](/PythonicAPI/ImageProcessing/MorphologyComparison) | This figure demonstrates various binary filters that can alter the shape of segmented regions.
[ImageWarp](/PythonicAPI/Images/ImageWarp) | Combine the imaging and visualization pipelines to deform an image in the z-direction. The vtkMergeFilter is used to combine the warped surface with the original color data.
......
File mode changed from 100644 to 100755
#!/usr/bin/env python3
# noinspection PyUnresolvedReferences
import vtkmodules.vtkInteractionStyle
# noinspection PyUnresolvedReferences
import vtkmodules.vtkRenderingOpenGL2
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkImagingCore import vtkImagePermute
from vtkmodules.vtkImagingSources import vtkImageEllipsoidSource
from vtkmodules.vtkInteractionStyle import vtkInteractorStyleImage
from vtkmodules.vtkRenderingCore import (
vtkImageActor,
vtkRenderer,
vtkRenderWindow,
vtkRenderWindowInteractor
)
def main():
colors = vtkNamedColors()
# Create an image.
source = vtkImageEllipsoidSource(whole_extent=(0, 20, 0, 20, 0, 0), center=(10, 10, 0), radius=(2, 5, 0))
source.SetOutputScalarTypeToUnsignedChar()
permute_filter = vtkImagePermute(filtered_axes=(1, 0, 2))
source >> permute_filter
# Create the actors.
original_actor = vtkImageActor()
source >> original_actor.mapper
permuted_actor = vtkImageActor()
permute_filter >> permuted_actor.mapper
# Define viewport ranges (x_min, y_min, x_max, y_max).
original_viewport = (0.0, 0.0, 0.5, 1.0)
permuted_viewport = (0.5, 0.0, 1.0, 1.0)
# Setup renderers.
original_renderer = vtkRenderer(viewport=original_viewport, background=colors.GetColor3d('CornflowerBlue'))
original_renderer.AddActor(original_actor)
permuted_renderer = vtkRenderer(viewport=permuted_viewport, background=colors.GetColor3d('SteelBlue'))
permuted_renderer.AddActor(permuted_actor)
render_window = vtkRenderWindow(size=(600, 300), window_name='ImageOrientation')
render_window.AddRenderer(original_renderer)
render_window.AddRenderer(permuted_renderer)
render_window_interactor = vtkRenderWindowInteractor()
style = vtkInteractorStyleImage()
render_window_interactor.interactor_style = style
render_window_interactor.render_window = render_window
render_window.Render()
render_window_interactor.Initialize()
render_window_interactor.Start()
if __name__ == '__main__':
main()
#!/usr/bin/env python3
# noinspection PyUnresolvedReferences
import vtkmodules.vtkInteractionStyle
# noinspection PyUnresolvedReferences
import vtkmodules.vtkRenderingOpenGL2
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkImagingCore import vtkImagePermute
from vtkmodules.vtkImagingSources import vtkImageEllipsoidSource
from vtkmodules.vtkInteractionStyle import vtkInteractorStyleImage
from vtkmodules.vtkRenderingCore import (
vtkImageActor,
vtkRenderer,
vtkRenderWindow,
vtkRenderWindowInteractor
)
def main():
colors = vtkNamedColors()
# Create an image.
source = vtkImageEllipsoidSource(whole_extent=(0, 20, 0, 20, 0, 0), center=(10, 10, 0), radius=(2, 5, 0))
source.SetOutputScalarTypeToUnsignedChar()
permute_filter = vtkImagePermute(filtered_axes=(1, 0, 2))
source >> permute_filter
# Create the actors.
original_actor = vtkImageActor()
source >> original_actor.mapper
permuted_actor = vtkImageActor()
permute_filter >> permuted_actor.mapper
# Define viewport ranges (x_min, y_min, x_max, y_max).
original_viewport = (0.0, 0.0, 0.5, 1.0)
permuted_viewport = (0.5, 0.0, 1.0, 1.0)
# Setup renderers.
original_renderer = vtkRenderer(viewport=original_viewport, background=colors.GetColor3d('CornflowerBlue'))
original_renderer.AddActor(original_actor)
permuted_renderer = vtkRenderer(viewport=permuted_viewport, background=colors.GetColor3d('SteelBlue'))
permuted_renderer.AddActor(permuted_actor)
render_window = vtkRenderWindow(size=(600, 300), window_name='ImagePermute')
render_window.AddRenderer(original_renderer)
render_window.AddRenderer(permuted_renderer)
render_window_interactor = vtkRenderWindowInteractor()
style = vtkInteractorStyleImage()
render_window_interactor.interactor_style = style
render_window_interactor.render_window = render_window
render_window.Render()
render_window_interactor.Initialize()
render_window_interactor.Start()
if __name__ == '__main__':
main()
src/Testing/Baseline/PythonicAPI/Images/TestImageOrientation.png

129 B

src/Testing/Baseline/PythonicAPI/Images/TestImagePermute.png

129 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment