# Runtime Crashing (Google Colab)

**URL:** https://discourse.vtk.org/t/runtime-crashing-google-colab/6699
**Category:** Support
**Created:** [September 26, 2021, 12:58am UTC](https://discourse.vtk.org/t/runtime-crashing-google-colab/6699 "2021-09-26T00:58:23Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![aleena98](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/a/2acd7d/32.png) [@aleena98](https://discourse.vtk.org/u/aleena98)
#### Post date: [September 26, 2021, 12:58am UTC](https://discourse.vtk.org/t/runtime-crashing-google-colab/6699/1 "2021-09-26T00:58:23Z")

</div>

I am trying to run the following code to slice nifti images but the run time keeps crashing:

image\_path = “/content/drive/MyDrive/10001.zip (Unzipped Files)/10001/orig/TOF.nii.gz”  
reader = vtk.vtkNIFTIImageReader()  
reader.SetFileName(image\_path)  
reader.SetDataExtent(0, 63, 0, 63, 1, 93)  
reader.SetDataSpacing(3.2, 3.2, 1.5)  
reader.SetDataOrigin(0.0, 0.0, 0.0)  
reader.SetDataScalarTypeToUnsignedShort()  
reader.UpdateWholeExtent()  
#reader.TimeAsVectorOn()  
reader.Update()  
(xMin, xMax, yMin, yMax, zMin, zMax) = reader.GetExecutive().GetWholeExtent(reader.GetOutputInformation(0))  
(xSpacing, ySpacing, zSpacing) = reader.GetOutput().GetSpacing()  
(x0, y0, z0) = reader.GetOutput().GetOrigin()

center = [x0 + xSpacing \* 0.5 \* (xMin + xMax),  
y0 + ySpacing \* 0.5 \* (yMin + yMax),  
z0 + zSpacing \* 0.5 \* (zMin + zMax)]  
axial = vtk.vtkMatrix4x4()  
axial.DeepCopy((1, 0, 0, center[0],  
0, 1, 0, center[1],  
0, 0, 1, center[2],  
0, 0, 0, 1))

coronal = vtk.vtkMatrix4x4()  
coronal.DeepCopy((1, 0, 0, center[0],  
0, 0, 1, center[1],  
0,-1, 0, center[2],  
0, 0, 0, 1))

sagittal = vtk.vtkMatrix4x4()  
sagittal.DeepCopy((0, 0,-1, center[0],  
1, 0, 0, center[1],  
0,-1, 0, center[2],  
0, 0, 0, 1))

oblique = vtk.vtkMatrix4x4()  
oblique.DeepCopy((1, 0, 0, center[0],  
0, 0.866025, -0.5, center[1],  
0, 0.5, 0.866025, center[2],  
0, 0, 0, 1))  
reslice = vtk.vtkImageReslice()  
reslice.SetInputConnection(reader.GetOutputPort())  
reslice.SetOutputDimensionality(2)  
reslice.SetResliceAxes(sagittal)  
reslice.SetInterpolationModeToLinear()

table = vtk.vtkLookupTable()  
table.SetRange(0, 2000) # image intensity range  
table.SetValueRange(0.0, 1.0) # from black to white  
table.SetSaturationRange(0.0, 0.0) # no color saturation  
table.SetRampToLinear()  
table.Build()

color = vtk.vtkImageMapToColors()  
color.SetLookupTable(table)  
color.SetInputConnection(reslice.GetOutputPort())  
actor = vtk.vtkImageActor()  
actor.GetMapper().SetInputConnection(color.GetOutputPort())

renderer = vtk.vtkRenderer()  
renderer.AddActor(actor)

window = vtk.vtkRenderWindow()  
window.AddRenderer(renderer)

interactorStyle = vtk.vtkInteractorStyleImage()  
interactor = vtk.vtkRenderWindowInteractor()  
interactor.SetInteractorStyle(interactorStyle)  
window.SetInteractor(interactor)  
window.Render()  
actions = {}  
actions[“Slicing”] = 0

def ButtonCallback(obj, event):  
if event == “LeftButtonPressEvent”:  
actions[“Slicing”] = 1  
else:  
actions[“Slicing”] = 0

def MouseMoveCallback(obj, event):  
(lastX, lastY) = interactor.GetLastEventPosition()  
(mouseX, mouseY) = interactor.GetEventPosition()  
if actions[“Slicing”] == 1:  
deltaY = mouseY - lastY  
reslice.Update()  
sliceSpacing = reslice.GetOutput().GetSpacing()[2]  
matrix = reslice.GetResliceAxes()  
# move the center point that we are slicing through  
center = matrix.MultiplyPoint((0, 0, sliceSpacing\*deltaY, 1))  
matrix.SetElement(0, 3, center[0])  
matrix.SetElement(1, 3, center[1])  
matrix.SetElement(2, 3, center[2])  
window.Render()  
else:  
interactorStyle.OnMouseMove()

interactorStyle.AddObserver(“MouseMoveEvent”, MouseMoveCallback)  
interactorStyle.AddObserver(“LeftButtonPressEvent”, ButtonCallback)  
interactorStyle.AddObserver(“LeftButtonReleaseEvent”, ButtonCallback)

# Start interaction

interactor.Start()
