From 344993ed6ca7ec8eacaed80441e0c1ad320bc84b Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Fri, 18 Mar 2016 12:24:36 +0000 Subject: [PATCH] Bugfix in vectoropts - refreshAuxImage was clobbering all settings with modulateImage. More robust management of volume vs vector shader in glvector_funcs. --- fsl/fsleyes/displaycontext/vectoropts.py | 2 +- fsl/fsleyes/gl/gl21/glvector_funcs.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fsl/fsleyes/displaycontext/vectoropts.py b/fsl/fsleyes/displaycontext/vectoropts.py index dcfb79f46..4326dbe28 100644 --- a/fsl/fsleyes/displaycontext/vectoropts.py +++ b/fsl/fsleyes/displaycontext/vectoropts.py @@ -181,7 +181,7 @@ class VectorOpts(volumeopts.Nifti1Opts): """ prop = self.getProp(imageName) - val = self.modulateImage + val = getattr(self, imageName) overlays = self.displayCtx.getOrderedOverlays() options = [None] diff --git a/fsl/fsleyes/gl/gl21/glvector_funcs.py b/fsl/fsleyes/gl/gl21/glvector_funcs.py index 3a95d81e7..2e4b59320 100644 --- a/fsl/fsleyes/gl/gl21/glvector_funcs.py +++ b/fsl/fsleyes/gl/gl21/glvector_funcs.py @@ -31,6 +31,8 @@ def compileShaders(self, vertShader, indexed=False): opts = self.displayOpts useVolumeFragShader = opts.colourImage is not None + self.useVolumeFragShader = useVolumeFragShader + if useVolumeFragShader: fragShader = 'glvolume' else: fragShader = 'glvector' @@ -48,7 +50,6 @@ def updateFragmentShaderState(self, useSpline=False): changed = False opts = self.displayOpts shader = self.shader - useVolumeFragShader = opts.colourImage is not None invClipValXform = self.clipTexture.invVoxValXform clippingRange = opts.clippingRange @@ -67,7 +68,7 @@ def updateFragmentShaderState(self, useSpline=False): clipLow = -0.1 clipHigh = 1.1 - if useVolumeFragShader: + if self.useVolumeFragShader: voxValXform = self.colourTexture.voxValXform invVoxValXform = self.colourTexture.invVoxValXform -- GitLab