diff --git a/fsl/utils/slicecanvas.py b/fsl/utils/slicecanvas.py index a7f5e98cb4d8c3dd17f97f19d56f8a97afd4a098..f8ff10a45edeb4b4211365fd35d72eb1aeabf172 100644 --- a/fsl/utils/slicecanvas.py +++ b/fsl/utils/slicecanvas.py @@ -249,6 +249,14 @@ class SliceCanvas(wxgl.GLCanvas): self.Bind(wx.EVT_PAINT, self.draw) + def alphaChanged(newAlpha, *a): + self.Refresh() + + self.image.addListener( + 'alpha', + 'SliceCanvasAlpha_{}'.format(id(self)), + alphaChanged) + def _initGLData(self): """ @@ -415,6 +423,10 @@ class SliceCanvas(wxgl.GLCanvas): gl.glUseProgram(self.shaders) + # enable transparency + gl.glEnable(gl.GL_BLEND) + gl.glBlendFunc(gl.GL_SRC_ALPHA, gl.GL_ONE_MINUS_SRC_ALPHA) + # Set up the colour buffer gl.glEnable(gl.GL_TEXTURE_1D) gl.glActiveTexture(gl.GL_TEXTURE0)