Source code for sksurgeryvtk.models.vtk_image_model

# -*- coding: utf-8 -*-

"""
VTK pipeline to represent an image with a vtkImageActor.
"""

#pylint:disable=super-with-arguments

import os
import vtk
import sksurgeryvtk.models.vtk_base_model as vbm


[docs]class VTKImageModel(vbm.VTKBaseModel): """ Class to represent a VTK image model. Normally read from a file, but could be created on the fly. """ def __init__(self, filename, visibility=True, opacity=1.0): """ Creates an image model, represented as a vtkImageActor. :param filename: filename, should be .png in the first instance. :param visibility: [True/False] boolean :param opacity: [0, 1] """ super(VTKImageModel, self).__init__((1.0, 1.0, 1.0), visibility, opacity ) self.source_file = None self.reader = None self.source = None if filename is not None: self.reader = vtk.vtkPNGReader() self.reader.SetFileName(filename) self.reader.Update() self.source = self.reader.GetOutput() self.source_file = filename self.name = os.path.basename(self.source_file) else: self.source = vtk.vtkImageData() self.name = "" self.actor = vtk.vtkImageActor() self.actor.SetInputData(self.source)