From e768c0c6c7b6a101de6871d1c1aa27df32168a9c Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Thu, 9 Jul 2015 12:06:31 +0100
Subject: [PATCH] Removed spacepanel, as it is silly. It will be in git history
 if i ever want to use it again.

---
 fsl/data/strings.py             |   1 -
 fsl/fslview/views/__init__.py   |   3 -
 fsl/fslview/views/spacepanel.py | 204 --------------------------------
 3 files changed, 208 deletions(-)
 delete mode 100644 fsl/fslview/views/spacepanel.py

diff --git a/fsl/data/strings.py b/fsl/data/strings.py
index 7444145e5..578c382d8 100644
--- a/fsl/data/strings.py
+++ b/fsl/data/strings.py
@@ -95,7 +95,6 @@ titles = TypeDict({
     'LightBoxPanel'   : 'Lightbox View',
     'TimeSeriesPanel' : 'Time series',
     'HistogramPanel'  : 'Histogram',
-    'SpacePanel'      : 'Space inspector',
 
     'CanvasPanel.screenshot'          : 'Save screenshot',
     'CanvasPanel.screenshot.notSaved' : 'Save overlay before continuing',
diff --git a/fsl/fslview/views/__init__.py b/fsl/fslview/views/__init__.py
index b4b174bd6..c41b8f997 100644
--- a/fsl/fslview/views/__init__.py
+++ b/fsl/fslview/views/__init__.py
@@ -23,7 +23,6 @@ import orthopanel
 import lightboxpanel
 import timeseriespanel
 import histogrampanel
-import spacepanel
 
 FSLViewPanel    = fslpanel       .FSLViewPanel
 CanvasPanel     = canvaspanel    .CanvasPanel
@@ -31,8 +30,6 @@ OrthoPanel      = orthopanel     .OrthoPanel
 LightBoxPanel   = lightboxpanel  .LightBoxPanel
 TimeSeriesPanel = timeseriespanel.TimeSeriesPanel
 HistogramPanel  = histogrampanel .HistogramPanel
-SpacePanel      = spacepanel     .SpacePanel
-
 
 
 def listViewPanels():
diff --git a/fsl/fslview/views/spacepanel.py b/fsl/fslview/views/spacepanel.py
deleted file mode 100644
index f49781df5..000000000
--- a/fsl/fslview/views/spacepanel.py
+++ /dev/null
@@ -1,204 +0,0 @@
-#!/usr/bin/env python
-#
-# SpacePanel.py -
-#
-# Author: Paul McCarthy <pauldmccarthy@gmail.com>
-#
-
-import logging
-log = logging.getLogger(__name__)
-
-import numpy               as np
-
-import fsl.data.strings    as strings
-import fsl.data.image      as fslimage
-import fsl.utils.transform as transform
-import                        plotpanel
-
-class SpacePanel(plotpanel.PlotPanel):
-
-    
-    def __init__(self, parent, overlayList, displayCtx):
-        plotpanel.PlotPanel.__init__(
-            self, parent, overlayList, displayCtx, proj='3d')
-
-        figure = self.getFigure()
-        canvas = self.getCanvas()
-        axis   = self.getAxis()
-
-        axis.mouse_init()
-
-        # the canvas doesn't seem to refresh itself,
-        # so we'll do it manually on mouse events
-        def draw(*a):
-            canvas.draw()
-
-        canvas.mpl_connect('button_press_event',   draw)
-        canvas.mpl_connect('motion_notify_event',  draw)
-        canvas.mpl_connect('button_release_event', draw) 
-
-        figure.subplots_adjust(
-            top=1.0, bottom=0.0, left=0.0, right=1.0)
-
-        figure.patch.set_visible(False)
-
-        self._overlayList.addListener('overlays', self._name,
-                                      self._selectedOverlayChanged)
-        self._displayCtx .addListener('selectedOverlay', self._name,
-                                      self._selectedOverlayChanged)
-
-        self._selectedOverlayChanged()
-
-
-    def destroy(self):
-        """De-registers property listeners."""
-
-        plotpanel.PlotPanel.destroy(self)
-        
-        self._overlayList.removeListener('overlays',        self._name)
-        self._displayCtx .removeListener('selectedOverlay', self._name)
-
-        for overlay in self._overlayList:
-            display = self._displayCtx.getDisplay(overlay)
-            display.removeListener('transform', self._name)
-
-
-    def _selectedOverlayChanged(self, *a):
-
-        axis   = self.getAxis()
-        canvas = self.getCanvas()
-
-        axis.clear()
-
-        if len(self._overlayList) == 0:
-            canvas.draw()
-            return
-
-        overlay = self._displayCtx.getSelectedOverlay()
-        display = self._displayCtx.getDisplay(overlay)
-        opts    = display.getDisplayOpts()
-
-        if not isinstance(overlay, fslimage.Image):
-            self.message(strings.messages[self, 'nonVolumetric'])
-            return
-
-        opts.addListener('transform',
-                         self._name,
-                         self._selectedOverlayChanged,
-                         overwrite=True)
-
-        axis.set_title(display.name)
-        axis.set_xlabel('X')
-        axis.set_ylabel('Y')
-        axis.set_zlabel('Z')
-
-        self._plotOverlayCorners(overlay, opts)
-        self._plotOverlayBounds( overlay, opts)
-        self._plotOverlayLabels( overlay, opts)
-        self._plotAxisLengths(   overlay, opts)
-
-        axis.legend()
-        canvas.draw()
-
-
-    def _plotOverlayBounds(self, overlay, opts):
-
-        v2DMat  = opts.getTransform('voxel', 'display')
-
-        xlo, xhi = transform.axisBounds(overlay.shape, v2DMat, 0)
-        ylo, yhi = transform.axisBounds(overlay.shape, v2DMat, 1)
-        zlo, zhi = transform.axisBounds(overlay.shape, v2DMat, 2)
-
-        points = np.zeros((8, 3), dtype=np.float32)
-        points[0, :] = [xlo, ylo, zlo]
-        points[1, :] = [xlo, ylo, zhi]
-        points[2, :] = [xlo, yhi, zlo]
-        points[3, :] = [xlo, yhi, zhi]
-        points[4, :] = [xhi, ylo, zlo]
-        points[5, :] = [xhi, ylo, zhi]
-        points[6, :] = [xhi, yhi, zlo]
-        points[7, :] = [xhi, yhi, zhi]
-
-        self.getAxis().scatter(points[:, 0], points[:, 1], points[:, 2],
-                               color='r', s=40)
-
-        
-    def _plotOverlayLabels(self, overlay, opts):
-
-        axis   = self.getAxis()
-        centre = np.array(overlay.shape[:3]) / 2.0
-
-        for ax, colour in zip(range(3), ['r', 'g', 'b']):
-
-            voxSpan = np.vstack((centre, centre))
-            
-            voxSpan[0, ax] = 0
-            voxSpan[1, ax] = overlay.shape[ax]
-
-            orient = overlay.getVoxelOrientation(ax)
-
-            lblLo = strings.anatomy['Image', 'lowshort',  orient]
-            lblHi = strings.anatomy['Image', 'highshort', orient]
-
-            wldSpan = transform.transform(
-                voxSpan, opts.getTransform('voxel', 'display'))
-
-            axis.plot(wldSpan[:, 0],
-                      wldSpan[:, 1],
-                      wldSpan[:, 2],
-                      lw=2,
-                      color=colour)
-
-            axis.text(wldSpan[0, 0], wldSpan[0, 1], wldSpan[0, 2], lblLo)
-            axis.text(wldSpan[1, 0], wldSpan[1, 1], wldSpan[1, 2], lblHi)
-
-
-    def _plotAxisLengths(self, overlay, opts):
-
-        axis  = self.getAxis()
-        xform = opts.getTransform('voxel', 'display')
-
-        for ax, colour, label in zip(range(3),
-                                     ['r', 'g', 'b'],
-                                     ['X', 'Y', 'Z']):
-
-            points = np.zeros((2, 3), dtype=np.float32)
-            points[:]     = [-0.5, -0.5, -0.5]
-            points[1, ax] = overlay.shape[ax] - 0.5
-
-            tx    = transform.transform(points, xform)
-            axlen = transform.axisLength(overlay.shape, xform, ax)
-
-            axis.plot(tx[:, 0],
-                      tx[:, 1],
-                      tx[:, 2],
-                      lw=1,
-                      color=colour,
-                      alpha=0.5,
-                      label='Axis {} (length {:0.2f})'.format(label, axlen))
-
-
-    def _plotOverlayCorners(self, overlay, opts):
-        
-        x, y, z = overlay.shape[:3]
-
-        x = x - 0.5
-        y = y - 0.5
-        z = z - 0.5
-
-        points = np.zeros((8, 3), dtype=np.float32)
-
-        points[0, :] = [-0.5, -0.5, -0.5]
-        points[1, :] = [-0.5, -0.5,  z]
-        points[2, :] = [-0.5,  y,   -0.5]
-        points[3, :] = [-0.5,  y,    z]
-        points[4, :] = [x,    -0.5, -0.5]
-        points[5, :] = [x,    -0.5,  z]
-        points[6, :] = [x,     y,   -0.5]
-        points[7, :] = [x,     y,    z] 
-
-        points = transform.transform(
-            points, opts.getTransform('voxel', 'display'))
-
-        self.getAxis().scatter(points[:, 0], points[:, 1], points[:, 2],
-                               color='b', s=40)
-- 
GitLab