-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcapture.py
36 lines (27 loc) · 1008 Bytes
/
capture.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import slicer
import ScreenCapture
import vtk
import datetime
# Caputer 3D rendering window with transparent background
def c(path = 0):
renderWindow = slicer.app.layoutManager().threeDWidget(0).threeDView().renderWindow()
renderWindow.SetAlphaBitPlanes(1)
wti = vtk.vtkWindowToImageFilter()
wti.SetInput(renderWindow)
wti.SetInputBufferTypeToRGBA()
writer = vtk.vtkPNGWriter()
now = datetime.datetime.now()
if path == 0:
nowDatetime = now.strftime('%Y-%m-%d-%H-%M-%S')
writer.SetFileName("D:\\capture"+nowDatetime+".png")
else:
writer.SetFileName(path)
writer.SetInputConnection(wti.GetOutputPort())
writer.Write()
def d():
viewNodeID = "vtkMRMLViewNode1"
cap = ScreenCapture.ScreenCaptureLogic()
view = cap.viewFromNode(slicer.mrmlScene.GetNodeByID(viewNodeID))
now = datetime.datetime.now()
nowDatetime = now.strftime('%Y-%m-%d-%H-%M-%S')
cap.captureImageFromView(view, "D:\\capture"+nowDatetime+".png")