Skip to content

Slicer crashes when sending red slice via OpenIGTLink #103

Open
@mcfly3001

Description

@mcfly3001

Slicer crashes when trying to send an image of the red slice via OpenIGTLink. The crash only occurs when the red slice has reached a certain resolution. Small resolutions work fine.

Here the steps and code to reproduce the crash:
Start Slicer and open the python console window. Enter the following code:

def update_image(wti):
     wti.Update()
     wti.Modified()


# Create IGTLink server node
node = slicer.mrmlScene.GetFirstNodeByName("SliceStreaming")
connector_node = slicer.vtkMRMLIGTLConnectorNode()
connector_node.SetTypeServer(18944)
slicer.mrmlScene.AddNode(connector_node)
connector_node.Start()

# create window to image filter
layout_manager = slicer.app.layoutManager()
slice_widget = layout_manager.sliceWidget("Red")
slice_view = slice_widget.sliceView()
render_window = slice_view.renderWindow()
slice_logic = slice_widget.sliceLogic()
render_window = slice_view.renderWindow()
wti = vtk.vtkWindowToImageFilter()
wti.SetInput(render_window)
wti.Update()

# create volume node
volume_node = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLScalarVolumeNode")
connector_node.RegisterOutgoingMRMLNode(volume_node)
volume_node.SetAndObserveImageData(wti.GetOutput())

# update volume when red slice changed
slice_logic.AddObserver(vtk.vtkCommand.ModifiedEvent, lambda logic, evt: update_image(wti))

Next, start the ImagerClient3.exe example script:

ImagerClient3.exe localhost 18944 30 2

Now, when dragging the slider of the red slice, the image is successsfully send to the client. To trigger the crash, change the layout such that the red slice is taking more space (e.g. red slice only). Slicer crashes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions