import itk
from itk import TubeTK as ttk
import vtk
import itkwidgets
from itkwidgets import view
import ipywebrtc as webrtc
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.pagesizes import letter, inch
soReader = itk.SpatialObjectReader[3].New()
soReader.SetFileName("Data/MRI-Normals/Normal003-VascularNetwork.tre")
soReader.Update()
vess = soReader.GetGroup()
vtpFileName = "Data/MRI-Normals/Normal003-VascularNetwork.vtp"
vtpWriter = ttk.WriteTubesAsPolyData.New()
vtpWriter.SetInput(vess)
vtpWriter.SetFileName(vtpFileName)
vtpWriter.Update()
reader = vtk.vtkXMLPolyDataReader()
reader.SetFileName(vtpFileName)
reader.Update()
vessVtp = reader.GetOutput()
img = itk.imread("Data/MRI-Normals/Normal003-MRA.mha", itk.F)
vtk_camera = vtk.vtkCamera()
vtk_camera.SetPosition([350, 1, 350])
vtk_camera.SetFocalPoint([ 150, -10, -300 ])
vtk_camera.SetViewUp([-4.5256451e-01, 1.3861613e-02, -8.9162391e-01])
viewer = view(image=img, geometries=vessVtp, cmap=itkwidgets.cm.bone, gradient_opacity=0.8)
viewer.camera=vtk_camera
viewer
Viewer(camera=array([[ 3.5000000e+02, 1.0000000e+00, 3.5000000e+02], [ 1.5000000e+02, -1.0000000e+01,…
viewer
Viewer(geometries=[], gradient_opacity=0.22, point_sets=[], rendered_image=<itk.itkImagePython.itkImageF3; pro…
image_recorder = webrtc.ImageRecorder(stream=viewer, filename='Patient001.jpg', autosave=True)
image_recorder.recording=True
canvas = Canvas("report.pdf",pagesize=letter)
canvas.drawString(4.25 * inch, 10 * inch, "Patient001")
canvas.drawImage("Patient001.jpg", 4*inch, 5*inch, width=2*inch, height=2*inch)
canvas.showPage()
canvas.save()