15 if scalarVolumeNode
is None:
16 scalarVolumeNode = slicer.vtkMRMLScalarVolumeNode()
17 scalarVolumeNode.SetScene(slicer.mrmlScene)
18 slicer.mrmlScene.AddNode(scalarVolumeNode)
21 mvImage = multiVolumeNode.GetImageData()
22 extract = vtk.vtkImageExtractComponents()
23 extract.SetInputData(mvImage)
24 extract.SetComponents(frameId)
27 ras2ijk = vtk.vtkMatrix4x4()
28 ijk2ras = vtk.vtkMatrix4x4()
29 multiVolumeNode.GetRASToIJKMatrix(ras2ijk)
30 multiVolumeNode.GetIJKToRASMatrix(ijk2ras)
31 scalarVolumeNode.SetRASToIJKMatrix(ras2ijk)
32 scalarVolumeNode.SetIJKToRASMatrix(ijk2ras)
34 scalarVolumeNode.SetAndObserveImageData(extract.GetOutput())
36 displayNode = scalarVolumeNode.GetDisplayNode()
37 if displayNode
is None:
38 displayNode = slicer.mrmlScene.CreateNodeByClass(
"vtkMRMLScalarVolumeDisplayNode")
39 displayNode.SetReferenceCount(1)
40 displayNode.SetScene(slicer.mrmlScene)
41 slicer.mrmlScene.AddNode(displayNode)
42 displayNode.SetDefaultColorMap()
43 scalarVolumeNode.SetAndObserveDisplayNodeID(displayNode.GetID())
44 return scalarVolumeNode
48 appLogic = slicer.app.applicationLogic()
49 selectionNode = appLogic.GetSelectionNode()
50 selectionNode.SetReferenceActiveVolumeID(bg)
51 selectionNode.SetReferenceSecondaryVolumeID(fg)
52 appLogic.PropagateVolumeSelection()
63 layoutNodes = slicer.mrmlScene.GetNodesByClass(
"vtkMRMLLayoutNode")
64 layoutNodes.SetReferenceCount(layoutNodes.GetReferenceCount()-1)
65 layoutNodes.InitTraversal()
66 layoutNode = layoutNodes.GetNextItemAsObject()
67 layoutNode.SetViewArrangement(slicer.vtkMRMLLayoutNode.SlicerLayoutConventionalQuantitativeView)