Skip to content
Snippets Groups Projects
Commit 009e0536 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Transform widget removed from OverlayDisplayPanel (now that they are

controlled with GEDMode). Unfortunately this means that spline
interpolation is no longer automatically switched on when image is moved
to affine space. Perhaps I can put some logic into the DisplayContext to
do this, or think of a more modular way of adding this behaviour in ...
parent a8ed58f3
No related branches found
No related tags found
No related merge requests found
...@@ -102,14 +102,10 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel): ...@@ -102,14 +102,10 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel):
self.__currentOverlay in self._overlayList: self.__currentOverlay in self._overlayList:
display = self._displayCtx.getDisplay(self.__currentOverlay) display = self._displayCtx.getDisplay(self.__currentOverlay)
opts = display.getDisplayOpts()
display.removeListener('overlayType', self._name) display.removeListener('overlayType', self._name)
display.removeListener('name', self._name) display.removeListener('name', self._name)
if isinstance(opts, displayctx.VolumeOpts):
opts.removeListener('transform', self._name)
self.__currentOverlay = None self.__currentOverlay = None
fslpanel.FSLEyesPanel.destroy(self) fslpanel.FSLEyesPanel.destroy(self)
...@@ -140,14 +136,10 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel): ...@@ -140,14 +136,10 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel):
lastOverlay in self._overlayList: lastOverlay in self._overlayList:
lastDisplay = self._displayCtx.getDisplay(lastOverlay) lastDisplay = self._displayCtx.getDisplay(lastOverlay)
lastOpts = lastDisplay.getDisplayOpts()
lastDisplay.removeListener('overlayType', self._name) lastDisplay.removeListener('overlayType', self._name)
lastDisplay.removeListener('name', self._name) lastDisplay.removeListener('name', self._name)
if isinstance(lastOpts, displayctx.VolumeOpts):
lastOpts.removeListener('transform', self._name)
if lastOverlay is not None: if lastOverlay is not None:
displayExpanded = self.__widgets.IsExpanded('display') displayExpanded = self.__widgets.IsExpanded('display')
optsExpanded = self.__widgets.IsExpanded('opts') optsExpanded = self.__widgets.IsExpanded('opts')
...@@ -160,9 +152,6 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel): ...@@ -160,9 +152,6 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel):
display.addListener('overlayType', self._name, self.__ovlTypeChanged) display.addListener('overlayType', self._name, self.__ovlTypeChanged)
display.addListener('name', self._name, self.__ovlNameChanged) display.addListener('name', self._name, self.__ovlNameChanged)
if isinstance(opts, displayctx.VolumeOpts):
opts.addListener('transform', self._name, self.__transformChanged)
self.__widgets.Clear() self.__widgets.Clear()
self.__widgets.AddGroup('display', strings.labels[self, display]) self.__widgets.AddGroup('display', strings.labels[self, display])
...@@ -249,32 +238,6 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel): ...@@ -249,32 +238,6 @@ class OverlayDisplayPanel(fslpanel.FSLEyesPanel):
self.Layout() self.Layout()
def __transformChanged(self, *a):
"""Called when the transform setting of the currently selected overlay
changes.
If the current overlay has an :attr:`.Display.overlayType` of
``volume``, and the :attr:`.ImageOpts.transform` property has been set
to ``affine``, the :attr:`.VolumeOpts.interpolation` property is set to
``spline``. Otherwise interpolation is disabled.
"""
overlay = self._displayCtx.getSelectedOverlay()
display = self._displayCtx.getDisplay(overlay)
opts = display.getDisplayOpts()
if not isinstance(opts, displayctx.VolumeOpts):
return
choices = opts.getProp('interpolation').getChoices(display)
if opts.transform in ('none', 'pixdim'):
opts.interpolation = 'none'
elif opts.transform == 'affine':
if 'spline' in choices: opts.interpolation = 'spline'
else: opts.interpolation = 'linear'
def __buildColourMapWidget(self, cmapWidget): def __buildColourMapWidget(self, cmapWidget):
"""Creates a control which allows the user to load a custom colour """Creates a control which allows the user to load a custom colour
map. This control is added to the settings for :class:`.Image` map. This control is added to the settings for :class:`.Image`
...@@ -317,8 +280,6 @@ _DISPLAY_PROPS = td.TypeDict({ ...@@ -317,8 +280,6 @@ _DISPLAY_PROPS = td.TypeDict({
'VolumeOpts' : [ 'VolumeOpts' : [
props.Widget('resolution', showLimits=False), props.Widget('resolution', showLimits=False),
props.Widget('transform',
labels=strings.choices['ImageOpts.transform']),
props.Widget('volume', props.Widget('volume',
showLimits=False, showLimits=False,
enabledWhen=lambda o: o.overlay.is4DImage()), enabledWhen=lambda o: o.overlay.is4DImage()),
...@@ -342,8 +303,6 @@ _DISPLAY_PROPS = td.TypeDict({ ...@@ -342,8 +303,6 @@ _DISPLAY_PROPS = td.TypeDict({
'MaskOpts' : [ 'MaskOpts' : [
props.Widget('resolution', showLimits=False), props.Widget('resolution', showLimits=False),
props.Widget('transform',
labels=strings.choices['ImageOpts.transform']),
props.Widget('volume', props.Widget('volume',
showLimits=False, showLimits=False,
enabledWhen=lambda o: o.overlay.is4DImage()), enabledWhen=lambda o: o.overlay.is4DImage()),
...@@ -353,8 +312,6 @@ _DISPLAY_PROPS = td.TypeDict({ ...@@ -353,8 +312,6 @@ _DISPLAY_PROPS = td.TypeDict({
'RGBVectorOpts' : [ 'RGBVectorOpts' : [
props.Widget('resolution', showLimits=False), props.Widget('resolution', showLimits=False),
props.Widget('transform',
labels=strings.choices['ImageOpts.transform']),
props.Widget('interpolation'), props.Widget('interpolation'),
props.Widget('xColour'), props.Widget('xColour'),
props.Widget('yColour'), props.Widget('yColour'),
...@@ -367,8 +324,6 @@ _DISPLAY_PROPS = td.TypeDict({ ...@@ -367,8 +324,6 @@ _DISPLAY_PROPS = td.TypeDict({
'LineVectorOpts' : [ 'LineVectorOpts' : [
props.Widget('resolution', showLimits=False), props.Widget('resolution', showLimits=False),
props.Widget('transform',
labels=strings.choices['ImageOpts.transform']),
props.Widget('xColour'), props.Widget('xColour'),
props.Widget('yColour'), props.Widget('yColour'),
props.Widget('zColour'), props.Widget('zColour'),
...@@ -401,8 +356,6 @@ _DISPLAY_PROPS = td.TypeDict({ ...@@ -401,8 +356,6 @@ _DISPLAY_PROPS = td.TypeDict({
dependencies=[(lambda o: o.display, 'softwareMode')]), dependencies=[(lambda o: o.display, 'softwareMode')]),
# props.Widget('showNames'), # props.Widget('showNames'),
props.Widget('resolution', showLimits=False), props.Widget('resolution', showLimits=False),
props.Widget('transform',
labels=strings.choices['ImageOpts.transform']),
props.Widget('volume', props.Widget('volume',
showLimits=False, showLimits=False,
enabledWhen=lambda o: o.overlay.is4DImage())] enabledWhen=lambda o: o.overlay.is4DImage())]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment