Skip to content
Snippets Groups Projects
Commit 19eed3bd authored by Joshua Steer's avatar Joshua Steer
Browse files

Enabled export of png files with transparent backgrounds from AmpScan

parent 076460f2
No related branches found
No related tags found
No related merge requests found
...@@ -96,16 +96,16 @@ class ampVTK(object): ...@@ -96,16 +96,16 @@ class ampVTK(object):
self.axes[viewport].GetTitleTextProperty(axes).SetFontFamilyToCourier() self.axes[viewport].GetTitleTextProperty(axes).SetFontFamilyToCourier()
self.axes[viewport].GetLabelTextProperty(axes).SetFontFamilyToCourier() self.axes[viewport].GetLabelTextProperty(axes).SetFontFamilyToCourier()
self.axes[viewport].GetXAxesLinesProperty().SetColor(color) # self.axes[viewport].GetXAxesLinesProperty().SetColor(color)
self.axes[viewport].GetYAxesLinesProperty().SetColor(color) # self.axes[viewport].GetYAxesLinesProperty().SetColor(color)
self.axes[viewport].GetZAxesLinesProperty().SetColor(color) # self.axes[viewport].GetZAxesLinesProperty().SetColor(color)
#
self.axes[viewport].SetGridLineLocation(self.axes[viewport].VTK_GRID_LINES_FURTHEST) # self.axes[viewport].SetGridLineLocation(self.axes[viewport].VTK_GRID_LINES_FURTHEST)
#
self.axes[viewport].XAxisMinorTickVisibilityOff() # self.axes[viewport].XAxisMinorTickVisibilityOff()
self.axes[viewport].YAxisMinorTickVisibilityOff() # self.axes[viewport].YAxisMinorTickVisibilityOff()
self.axes[viewport].ZAxisMinorTickVisibilityOff() # self.axes[viewport].ZAxisMinorTickVisibilityOff()
self.rens[viewport].AddActor(self.axes[viewport]) # self.rens[viewport].AddActor(self.axes[viewport])
class qtVtkWindow(QVTKRenderWindowInteractor, ampVTK): class qtVtkWindow(QVTKRenderWindowInteractor, ampVTK):
...@@ -195,12 +195,14 @@ class vtkRenWin(vtk.vtkRenderWindow, ampVTK): ...@@ -195,12 +195,14 @@ class vtkRenWin(vtk.vtkRenderWindow, ampVTK):
[self.winWidth, self.winHeight, 3])) / 255.0 [self.winWidth, self.winHeight, 3])) / 255.0
def getScreenshot(self, fname, mag=10): def getScreenshot(self, fname, mag=10):
self.SetAlphaBitPlanes(1)
w2if = vtk.vtkWindowToImageFilter() w2if = vtk.vtkWindowToImageFilter()
w2if.SetInput(self) w2if.SetInput(self)
w2if.SetScale(mag) w2if.SetScale(mag)
w2if.SetInputBufferTypeToRGBA()
w2if.Update() w2if.Update()
writer = vtk.vtkTIFFWriter() writer = vtk.vtkPNGWriter()
writer.SetFileName(fname) writer.SetFileName(fname)
writer.SetInputConnection(w2if.GetOutputPort()) writer.SetInputConnection(w2if.GetOutputPort())
writer.Write() writer.Write()
...@@ -210,7 +212,7 @@ class visMixin(object): ...@@ -210,7 +212,7 @@ class visMixin(object):
def genIm(self, actor=['limb'], winWidth=512, winHeight=512, def genIm(self, actor=['limb'], winWidth=512, winHeight=512,
views=[[0, -1, 0]], background=[1.0, 1.0, 1.0], projection=True, views=[[0, -1, 0]], background=[1.0, 1.0, 1.0], projection=True,
shading=True, mag=10): shading=True, mag=10, out='im', name='test.tiff'):
""" """
""" """
...@@ -224,7 +226,13 @@ class visMixin(object): ...@@ -224,7 +226,13 @@ class visMixin(object):
win.setProjection(projection, viewport=i) win.setProjection(projection, viewport=i)
win.renderActors(self.actors, actor, viewport=i, shading=shading, zoom=1.3) win.renderActors(self.actors, actor, viewport=i, shading=shading, zoom=1.3)
win.Render() win.Render()
win.getScreenshot('test.tiff') win.getImage()
if out == 'im':
return win.im
elif out == 'fh':
win.getScreenshot(name)
return
# win.getScreenshot('test.tiff')
# return win.im # return win.im
def addActor(self, stype=0, CMap=None): def addActor(self, stype=0, CMap=None):
......
...@@ -12,7 +12,7 @@ class feMixin(object): ...@@ -12,7 +12,7 @@ class feMixin(object):
def addFE(self, files): def addFE(self, files):
if len(files) == 1: if len(files) == 1:
data = np.load(files[0], encoding='bytes').item() data = np.load(files[0], encoding='bytes').item()
for k, v in data.items(): for k in list(data.keys()):
data[str(k, 'utf-8')] = data.pop(k) data[str(k, 'utf-8')] = data.pop(k)
if len(files) == 3: if len(files) == 3:
data = {} data = {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment