1#!/usr/bin/env python 2import vtk 3from vtk.util.misc import vtkGetDataRoot 4VTK_DATA_ROOT = vtkGetDataRoot() 5 6# Image pipeline 7reader = vtk.vtkImageReader() 8reader.ReleaseDataFlagOff() 9reader.SetDataByteOrderToLittleEndian() 10reader.SetDataExtent(0,63,0,63,1,93) 11reader.SetDataSpacing(3.2,3.2,1.5) 12reader.SetDataOrigin(-100.8,-100.8,-69) 13reader.SetFilePrefix("" + str(VTK_DATA_ROOT) + "/Data/headsq/quarter") 14reader.SetDataMask(0x7fff) 15reader.Update() 16p1 = vtk.vtkPoints() 17p2 = vtk.vtkPoints() 18p1.InsertNextPoint(0,0,0) 19p2.InsertNextPoint(-60,10,20) 20p1.InsertNextPoint(-100,-100,-50) 21p2.InsertNextPoint(-100,-100,-50) 22p1.InsertNextPoint(-100,-100,50) 23p2.InsertNextPoint(-100,-100,50) 24p1.InsertNextPoint(-100,100,-50) 25p2.InsertNextPoint(-100,100,-50) 26p1.InsertNextPoint(-100,100,50) 27p2.InsertNextPoint(-100,100,50) 28p1.InsertNextPoint(100,-100,-50) 29p2.InsertNextPoint(100,-100,-50) 30p1.InsertNextPoint(100,-100,50) 31p2.InsertNextPoint(100,-100,50) 32p1.InsertNextPoint(100,100,-50) 33p2.InsertNextPoint(100,100,-50) 34p1.InsertNextPoint(100,100,50) 35p2.InsertNextPoint(100,100,50) 36transform = vtk.vtkThinPlateSplineTransform() 37transform.SetSourceLandmarks(p1) 38transform.SetTargetLandmarks(p2) 39transform.SetBasisToR() 40reslice = vtk.vtkImageReslice() 41reslice.SetInputConnection(reader.GetOutputPort()) 42reslice.SetResliceTransform(transform) 43reslice.SetInterpolationModeToLinear() 44reslice.SetOutputSpacing(1,1,1) 45cac = vtk.vtkImageCacheFilter() 46cac.SetInputConnection(reslice.GetOutputPort()) 47cac.SetCacheSize(1000) 48cac.SetInputConnection(reslice.GetOutputPort()) 49viewer = vtk.vtkImageViewer() 50viewer.SetInputConnection(cac.GetOutputPort()) 51viewer.SetZSlice(90) 52viewer.SetColorWindow(2000) 53viewer.SetColorLevel(1000) 54viewer.SetSize(200,200) 55viewer.Render() 56# --- end of script -- 57