diff --git a/Code/Mantid/Build/doxygen_to_sip.py b/Code/Mantid/Build/doxygen_to_sip.py
index 1c096169acfecf94e1f954338094dd0e3d8c519e..4652132bcc691631c1425bc861e54f932f535ab0 100755
--- a/Code/Mantid/Build/doxygen_to_sip.py
+++ b/Code/Mantid/Build/doxygen_to_sip.py
@@ -15,7 +15,7 @@ def findInSubdirectory(filename, subdirectory=''):
     for root, dirs, names in os.walk(path):
         if filename in names:
             return os.path.join(root, filename)
-    raise 'File not found'
+    return None
 
 def find_cpp_file(basedir, classname):
     return findInSubdirectory(classname + ".cpp", basedir) 
@@ -28,6 +28,8 @@ def grab_doxygen(cppfile, method):
     cppfile :: full path to the .cpp file
     method :: method definition to look for
     """
+    if cppfile is None:
+        return None
     lines = open(cppfile, 'r').read().split('\n')
     #print method
     out = []
@@ -94,7 +96,11 @@ def process_sip(filename):
             if n > 0: classname = classname[0:n].strip()
             # Now, we look for the .cpp file
             classcpp = find_cpp_file(root, classname)
-            print "Found class '%s' at %s" % (classname, classcpp)
+            if classcpp is None:
+                print "WARNING: Could not find cpp file for class %s" % classname
+            else:
+                print "Found class '%s' .cpp file " % classname
+            
             
         if classname != "":
             # We are within a real class
diff --git a/Code/Mantid/MantidQt/Factory/inc/MantidQtFactory/WidgetFactory.h b/Code/Mantid/MantidQt/Factory/inc/MantidQtFactory/WidgetFactory.h
index 7b9d98960cd601003f10154bbbec40ba40db7945..69a8d956490da3150fa658acb7f6e035f40d159f 100644
--- a/Code/Mantid/MantidQt/Factory/inc/MantidQtFactory/WidgetFactory.h
+++ b/Code/Mantid/MantidQt/Factory/inc/MantidQtFactory/WidgetFactory.h
@@ -46,7 +46,8 @@ namespace Factory
     WidgetFactoryImpl();
     virtual ~WidgetFactoryImpl();
     
-    MantidQt::SliceViewer::SliceViewerWindow * createSliceViewerWindow(const QString& wsName, const QString& label);
+    MantidQt::SliceViewer::SliceViewerWindow* createSliceViewerWindow(const QString& wsName, const QString& label);
+    MantidQt::SliceViewer::SliceViewer* createSliceViewer(const QString& wsName);
 
   };
 
diff --git a/Code/Mantid/MantidQt/Factory/src/WidgetFactory.cpp b/Code/Mantid/MantidQt/Factory/src/WidgetFactory.cpp
index ed3956fe78831a78d0624dcb1ca03928751b4b59..86377c2c179c58f25cea0efd6514a83e1f1f6a2e 100644
--- a/Code/Mantid/MantidQt/Factory/src/WidgetFactory.cpp
+++ b/Code/Mantid/MantidQt/Factory/src/WidgetFactory.cpp
@@ -1,6 +1,7 @@
 #include "MantidQtFactory/WidgetFactory.h"
 #include "MantidKernel/System.h"
 #include "MantidQtSliceViewer/SliceViewerWindow.h"
+#include "MantidQtSliceViewer/SliceViewer.h"
 
 using namespace MantidQt::SliceViewer;
 
@@ -43,6 +44,26 @@ namespace Factory
     return window;
   }
 
+  //----------------------------------------------------------------------------------------------
+  /** Create an instance of a bare SliceViewer Widget.
+   * This is only capable of doing 2D views, and cannot do line plots
+   * since it does not have a LineViewer.
+   *
+   * Use WidgetFactory::createSliceViewerWindow to create a window combining both.
+   *
+   * @param wsName :: name of the workspace to show. Optional, blank for no workspace.
+   * @return the created SliceViewer *
+   */
+  MantidQt::SliceViewer::SliceViewer* WidgetFactoryImpl::createSliceViewer(const QString& wsName)
+  {
+    MantidQt::SliceViewer::SliceViewer * slicer = new MantidQt::SliceViewer::SliceViewer();
+    //TODO: Save in a list
+    if (!wsName.isEmpty())
+      slicer->setWorkspace(wsName);
+    return slicer;
+  }
+
+
 
 } // namespace Mantid
 } // namespace Factory
diff --git a/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt b/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
index 0f75b16130d308880ebc7d1818c0ba27ab147c18..4c6901c42e8b0b01e39c1ef20a65a24b024a2fe4 100644
--- a/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
@@ -129,8 +129,8 @@ endif ()
 ###########################################################################
 
 # python unit tests
-#if ( PYUNITTEST_FOUND )
-if ( 0 )
+if ( PYUNITTEST_FOUND )
+#if ( 0 )
   pyunittest_add_test ( SliceViewerTest.py ${TEST_PY_FILES} "" )
   add_dependencies ( SliceViewerTest.py MantidQt Algorithms )
   add_dependencies ( GUITests SliceViewerTest.py )
diff --git a/Code/Mantid/MantidQt/SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h b/Code/Mantid/MantidQt/SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h
index ce7062e5282283e1518e8be52a6e46128108eb37..6b4bc3ad85179bba2b56e85f82c520468f0e8549 100644
--- a/Code/Mantid/MantidQt/SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h
+++ b/Code/Mantid/MantidQt/SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h
@@ -32,8 +32,8 @@ class EXPORT_OPT_MANTIDQT_SLICEVIEWER SliceViewerWindow : public QMainWindow, pu
 public:
   SliceViewerWindow(const QString& wsName, const QString& label = QString() , Qt::WFlags f=0);
   ~SliceViewerWindow();
-  MantidQt::SliceViewer::SliceViewer * getSlicer() { return m_slicer; }
-  MantidQt::SliceViewer::LineViewer * getLiner() { return m_liner; }
+  MantidQt::SliceViewer::SliceViewer* getSlicer();
+  MantidQt::SliceViewer::LineViewer* getLiner();
 
 private:
   void setLineViewerValues(QPointF start2D, QPointF end2D, double width);
diff --git a/Code/Mantid/MantidQt/SliceViewer/src/SliceViewerWindow.cpp b/Code/Mantid/MantidQt/SliceViewer/src/SliceViewerWindow.cpp
index b0ae0eb2210c3d8cd336d5470ddfd570c74648a8..8ef87c5b70ea69eb905c6840899b3a70fe313332 100644
--- a/Code/Mantid/MantidQt/SliceViewer/src/SliceViewerWindow.cpp
+++ b/Code/Mantid/MantidQt/SliceViewer/src/SliceViewerWindow.cpp
@@ -106,6 +106,26 @@ SliceViewerWindow::~SliceViewerWindow()
 
 }
 
+//------------------------------------------------------------------------------------------------
+/** Get the SliceViewer widget inside the SliceViewerWindow.
+ * This is the main widget for controlling the 2D views
+ * and slice points.
+ *
+ * @return a pointer to the SliceViewer widget.
+ */
+MantidQt::SliceViewer::SliceViewer* SliceViewerWindow::getSlicer()
+{ return m_slicer; }
+
+//------------------------------------------------------------------------------------------------
+/** Get the LineViewer widget inside the SliceViewerWindow.
+ * This is the widget for controlling the 1D line integration
+ * settings.
+ *
+ * @return a pointer to the LineViewer widget.
+ */
+MantidQt::SliceViewer::LineViewer* SliceViewerWindow::getLiner()
+{ return m_liner; }
+
 //------------------------------------------------------------------------------------------------
 void SliceViewerWindow::resizeEvent(QResizeEvent * /*event*/)
 {
diff --git a/Code/Mantid/MantidQt/SliceViewer/test/SliceViewerPythonInterfaceTest.py b/Code/Mantid/MantidQt/SliceViewer/test/SliceViewerPythonInterfaceTest.py
index 74aef136b90c64484346edf0c8788a1700f12e95..3f31354f901d1bf0eea69c7fcbb1cfe958a11ab6 100644
--- a/Code/Mantid/MantidQt/SliceViewer/test/SliceViewerPythonInterfaceTest.py
+++ b/Code/Mantid/MantidQt/SliceViewer/test/SliceViewerPythonInterfaceTest.py
@@ -38,10 +38,11 @@ class SliceViewerPythonInterfaceTest(unittest.TestCase):
     def setUp(self):
         """ Set up and create a SliceViewer widget """
         sys.stderr.write("Starting setUp\n")
-        self.sv = mantidqtpython.MantidQt.SliceViewer.SliceViewer()
-        #self.sv.show()
-        # Open the default workspace for testing
-        self.sv.setWorkspace('uniform')
+        # Get the factory to create the SliceViewerWindow in C++
+        factory = mantidqtpython.MantidQt.Factory.WidgetFactoryImpl()
+        self.svw = factory.createSliceViewerWindow("uniform", "")
+        # Retrieve the SliceViewer widget alone.
+        self.sv = self.svw.getSlicer()
         pass
     
     def tearDown(self):
diff --git a/Code/Mantid/MantidQt/mantidqt.in.sip b/Code/Mantid/MantidQt/mantidqt.in.sip
index a3d7d9a94de9bce3825690f67a6328c37d4ff7fd..2437103e979f4f9732c395d96dda1f88f70f37ee 100644
--- a/Code/Mantid/MantidQt/mantidqt.in.sip
+++ b/Code/Mantid/MantidQt/mantidqt.in.sip
@@ -62,6 +62,31 @@
 
 
 
+namespace MantidQt
+{
+namespace Factory
+{
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class WidgetFactoryImpl
+  {
+  %TypeHeaderCode
+  #include "Factory/inc/MantidQtFactory/WidgetFactory.h"
+  %End
+
+  public:
+    WidgetFactoryImpl();
+    MantidQt::SliceViewer::SliceViewerWindow* createSliceViewerWindow(const QString& wsName, const QString& label);
+    MantidQt::SliceViewer::SliceViewer* createSliceViewer(const QString& wsName);
+
+  };
+
+}; // end namespace
+}; // end namespace
+
+
 
 namespace MantidQt
 {
@@ -69,44 +94,73 @@ namespace SliceViewer
 {
 
 
-/***************************************************************************/
-/***************************************************************************/
-/***************************************************************************/
-class SliceViewer : QWidget
-{
-%TypeHeaderCode
-#include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
-%End
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewerWindow : QMainWindow
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h"
+  %End
+
+  public:
+    SliceViewerWindow(const QString& wsName, const QString& label, Qt::WFlags f);
+    MantidQt::SliceViewer::SliceViewer* getSlicer();
+    MantidQt::SliceViewer::LineViewer* getLiner();
+
+  };
 
-public:
-  void setWorkspace(const QString & wsName)	  throw (std::runtime_error);
-  void showControls(bool visible);
-  
-  void setXYDim(int indexX, int indexY)	    throw (std::invalid_argument);
-  void setXYDim(const QString & dimX, const QString & dimY)	    throw (std::invalid_argument, std::runtime_error);
-  int getDimX() const;
-  int getDimY() const;
-
-  void setSlicePoint(int dim, double value)	    throw (std::invalid_argument);
-  void setSlicePoint(const QString & dim, double value)	  throw (std::invalid_argument, std::runtime_error);
-  double getSlicePoint(int dim) const 	  throw (std::invalid_argument);
-  double getSlicePoint(const QString & dim) const		throw (std::invalid_argument, std::runtime_error);
-  void setXYLimits(double xleft, double xright, double ybottom, double ytop);
-  QwtDoubleInterval getXLimits() const;
-  QwtDoubleInterval getYLimits() const;
-  void zoomBy(double factor);
-  void setXYCenter(double x, double y);
-  void resetZoom();
-
-  void loadColorMap(QString filename);
-  void setColorScale(double min, double max, bool log)  		throw (std::invalid_argument);
-  double getColorScaleMin() const;
-  double getColorScaleMax() const;
-  bool getColorScaleLog() const;
-  void setColorScaleAutoFull();
-  void setColorScaleAutoSlice();
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class LineViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/LineViewer.h"
+  %End
+
+  };
+
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
+  %End
+
+  public:
+    void setWorkspace(const QString & wsName)   throw (std::runtime_error);
+    void showControls(bool visible);
     
-};
+    void setXYDim(int indexX, int indexY)     throw (std::invalid_argument);
+    void setXYDim(const QString & dimX, const QString & dimY)     throw (std::invalid_argument, std::runtime_error);
+    int getDimX() const;
+    int getDimY() const;
+
+    void setSlicePoint(int dim, double value)     throw (std::invalid_argument);
+    void setSlicePoint(const QString & dim, double value)   throw (std::invalid_argument, std::runtime_error);
+    double getSlicePoint(int dim) const     throw (std::invalid_argument);
+    double getSlicePoint(const QString & dim) const   throw (std::invalid_argument, std::runtime_error);
+    void setXYLimits(double xleft, double xright, double ybottom, double ytop);
+    QwtDoubleInterval getXLimits() const;
+    QwtDoubleInterval getYLimits() const;
+    void zoomBy(double factor);
+    void setXYCenter(double x, double y);
+    void resetZoom();
+
+    void loadColorMap(QString filename);
+    void setColorScale(double min, double max, bool log)      throw (std::invalid_argument);
+    double getColorScaleMin() const;
+    double getColorScaleMax() const;
+    bool getColorScaleLog() const;
+    void setColorScaleAutoFull();
+    void setColorScaleAutoSlice();
+
+  };
 
 
 
diff --git a/Code/Mantid/MantidQt/mantidqt.rhel5.sip b/Code/Mantid/MantidQt/mantidqt.rhel5.sip
index 07f05756cf878234c16c01c8a4c3b708df7c9e9b..ca0f31e0acb8c8a8d23408afb4a88b1c171ac8f1 100644
--- a/Code/Mantid/MantidQt/mantidqt.rhel5.sip
+++ b/Code/Mantid/MantidQt/mantidqt.rhel5.sip
@@ -62,6 +62,31 @@
 
 
 
+namespace MantidQt
+{
+namespace Factory
+{
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class WidgetFactoryImpl
+  {
+  %TypeHeaderCode
+  #include "Factory/inc/MantidQtFactory/WidgetFactory.h"
+  %End
+
+  public:
+    WidgetFactoryImpl();
+    MantidQt::SliceViewer::SliceViewerWindow* createSliceViewerWindow(const QString& wsName, const QString& label);
+    MantidQt::SliceViewer::SliceViewer* createSliceViewer(const QString& wsName);
+
+  };
+
+}; // end namespace
+}; // end namespace
+
+
 
 namespace MantidQt
 {
@@ -69,67 +94,98 @@ namespace SliceViewer
 {
 
 
-/***************************************************************************/
-/***************************************************************************/
-/***************************************************************************/
-class SliceViewer : QWidget
-{
-%TypeHeaderCode
-#include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
-%End
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewerWindow : QMainWindow
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h"
+  %End
 
-public:
-  void setWorkspace(const QString & wsName)	  throw (std::runtime_error);
+  public:
+    SliceViewerWindow(const QString& wsName, const QString& label, Qt::WFlags f);
+    MantidQt::SliceViewer::SliceViewer* getSlicer();
 
-  void showControls(bool visible);
+    MantidQt::SliceViewer::LineViewer* getLiner();
 
-  
-  void setXYDim(int indexX, int indexY)	    throw (std::invalid_argument);
 
-  void setXYDim(const QString & dimX, const QString & dimY)	    throw (std::invalid_argument, std::runtime_error);
+  };
 
-  int getDimX() const;
 
-  int getDimY() const;
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class LineViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/LineViewer.h"
+  %End
 
+  };
 
-  void setSlicePoint(int dim, double value)	    throw (std::invalid_argument);
 
-  void setSlicePoint(const QString & dim, double value)	  throw (std::invalid_argument, std::runtime_error);
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
+  %End
 
-  double getSlicePoint(int dim) const 	  throw (std::invalid_argument);
+  public:
+    void setWorkspace(const QString & wsName)   throw (std::runtime_error);
 
-  double getSlicePoint(const QString & dim) const		throw (std::invalid_argument, std::runtime_error);
+    void showControls(bool visible);
 
-  void setXYLimits(double xleft, double xright, double ybottom, double ytop);
+    
+    void setXYDim(int indexX, int indexY)     throw (std::invalid_argument);
 
-  QwtDoubleInterval getXLimits() const;
+    void setXYDim(const QString & dimX, const QString & dimY)     throw (std::invalid_argument, std::runtime_error);
 
-  QwtDoubleInterval getYLimits() const;
+    int getDimX() const;
 
-  void zoomBy(double factor);
+    int getDimY() const;
 
-  void setXYCenter(double x, double y);
 
-  void resetZoom();
+    void setSlicePoint(int dim, double value)     throw (std::invalid_argument);
 
+    void setSlicePoint(const QString & dim, double value)   throw (std::invalid_argument, std::runtime_error);
 
-  void loadColorMap(QString filename);
+    double getSlicePoint(int dim) const     throw (std::invalid_argument);
 
-  void setColorScale(double min, double max, bool log)  		throw (std::invalid_argument);
+    double getSlicePoint(const QString & dim) const   throw (std::invalid_argument, std::runtime_error);
 
-  double getColorScaleMin() const;
+    void setXYLimits(double xleft, double xright, double ybottom, double ytop);
 
-  double getColorScaleMax() const;
+    QwtDoubleInterval getXLimits() const;
 
-  bool getColorScaleLog() const;
+    QwtDoubleInterval getYLimits() const;
 
-  void setColorScaleAutoFull();
+    void zoomBy(double factor);
 
-  void setColorScaleAutoSlice();
+    void setXYCenter(double x, double y);
 
-    
-};
+    void resetZoom();
+
+
+    void loadColorMap(QString filename);
+
+    void setColorScale(double min, double max, bool log)      throw (std::invalid_argument);
+
+    double getColorScaleMin() const;
+
+    double getColorScaleMax() const;
+
+    bool getColorScaleLog() const;
+
+    void setColorScaleAutoFull();
+
+    void setColorScaleAutoSlice();
+
+
+  };
 
 
 
diff --git a/Code/Mantid/MantidQt/mantidqt.sip b/Code/Mantid/MantidQt/mantidqt.sip
index dac5f8f600159584d17dee92b23a4de54f1fc4a5..4d45e72a76c7d8e872b0d049d477f6ce7f95eb6a 100644
--- a/Code/Mantid/MantidQt/mantidqt.sip
+++ b/Code/Mantid/MantidQt/mantidqt.sip
@@ -62,6 +62,31 @@
 
 
 
+namespace MantidQt
+{
+namespace Factory
+{
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class WidgetFactoryImpl
+  {
+  %TypeHeaderCode
+  #include "Factory/inc/MantidQtFactory/WidgetFactory.h"
+  %End
+
+  public:
+    WidgetFactoryImpl();
+    MantidQt::SliceViewer::SliceViewerWindow* createSliceViewerWindow(const QString& wsName, const QString& label);
+    MantidQt::SliceViewer::SliceViewer* createSliceViewer(const QString& wsName);
+
+  };
+
+}; // end namespace
+}; // end namespace
+
+
 
 namespace MantidQt
 {
@@ -69,17 +94,68 @@ namespace SliceViewer
 {
 
 
-/***************************************************************************/
-/***************************************************************************/
-/***************************************************************************/
-class SliceViewer : QWidget
-{
-%TypeHeaderCode
-#include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewerWindow : QMainWindow
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewerWindow.h"
+  %End
+
+  public:
+    SliceViewerWindow(const QString& wsName, const QString& label, Qt::WFlags f);
+    MantidQt::SliceViewer::SliceViewer* getSlicer();
+%Docstring
+MantidQt::SliceViewer::SliceViewer* SliceViewerWindow::getSlicer()
+------------------------------------------------------------------
+    Get the SliceViewer widget inside the SliceViewerWindow.
+    This is the main widget for controlling the 2D views
+    and slice points.
+   
+    @return a pointer to the SliceViewer widget.
+   
 %End
 
-public:
-  void setWorkspace(const QString & wsName)	  throw (std::runtime_error);
+    MantidQt::SliceViewer::LineViewer* getLiner();
+%Docstring
+MantidQt::SliceViewer::LineViewer* SliceViewerWindow::getLiner()
+----------------------------------------------------------------
+    Get the LineViewer widget inside the SliceViewerWindow.
+    This is the widget for controlling the 1D line integration
+    settings.
+   
+    @return a pointer to the LineViewer widget.
+   
+%End
+
+
+  };
+
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class LineViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/LineViewer.h"
+  %End
+
+  };
+
+
+  /***************************************************************************/
+  /***************************************************************************/
+  /***************************************************************************/
+  class SliceViewer : QWidget
+  {
+  %TypeHeaderCode
+  #include "SliceViewer/inc/MantidQtSliceViewer/SliceViewer.h"
+  %End
+
+  public:
+    void setWorkspace(const QString & wsName)   throw (std::runtime_error);
 %Docstring
 void SliceViewer::setWorkspace(const QString & wsName)
 ------------------------------------------------------
@@ -92,7 +168,7 @@ void SliceViewer::setWorkspace(const QString & wsName)
    
 %End
 
-  void showControls(bool visible);
+    void showControls(bool visible);
 %Docstring
 void SliceViewer::showControls(bool visible)
 --------------------------------------------
@@ -102,8 +178,8 @@ void SliceViewer::showControls(bool visible)
    
 %End
 
-  
-  void setXYDim(int indexX, int indexY)	    throw (std::invalid_argument);
+    
+    void setXYDim(int indexX, int indexY)     throw (std::invalid_argument);
 %Docstring
 void SliceViewer::setXYDim(int indexX, int indexY)
 --------------------------------------------------
@@ -119,7 +195,7 @@ void SliceViewer::setXYDim(int indexX, int indexY)
    
 %End
 
-  void setXYDim(const QString & dimX, const QString & dimY)	    throw (std::invalid_argument, std::runtime_error);
+    void setXYDim(const QString & dimX, const QString & dimY)     throw (std::invalid_argument, std::runtime_error);
 %Docstring
 void SliceViewer::setXYDim(const QString & dimX, const QString & dimY)
 ----------------------------------------------------------------------
@@ -131,7 +207,7 @@ void SliceViewer::setXYDim(const QString & dimX, const QString & dimY)
    
 %End
 
-  int getDimX() const;
+    int getDimX() const;
 %Docstring
 int SliceViewer::getDimX()
 --------------------------
@@ -140,7 +216,7 @@ int SliceViewer::getDimX()
    
 %End
 
-  int getDimY() const;
+    int getDimY() const;
 %Docstring
 int SliceViewer::getDimY()
 --------------------------
@@ -150,7 +226,7 @@ int SliceViewer::getDimY()
 %End
 
 
-  void setSlicePoint(int dim, double value)	    throw (std::invalid_argument);
+    void setSlicePoint(int dim, double value)     throw (std::invalid_argument);
 %Docstring
 void SliceViewer::setSlicePoint(int dim, double value)
 ------------------------------------------------------
@@ -163,7 +239,7 @@ void SliceViewer::setSlicePoint(int dim, double value)
    
 %End
 
-  void setSlicePoint(const QString & dim, double value)	  throw (std::invalid_argument, std::runtime_error);
+    void setSlicePoint(const QString & dim, double value)   throw (std::invalid_argument, std::runtime_error);
 %Docstring
 void SliceViewer::setSlicePoint(const QString & dim, double value)
 ------------------------------------------------------------------
@@ -176,7 +252,7 @@ void SliceViewer::setSlicePoint(const QString & dim, double value)
    
 %End
 
-  double getSlicePoint(int dim) const 	  throw (std::invalid_argument);
+    double getSlicePoint(int dim) const     throw (std::invalid_argument);
 %Docstring
 double SliceViewer::getSlicePoint(int dim)
 ------------------------------------------
@@ -187,7 +263,7 @@ double SliceViewer::getSlicePoint(int dim)
    
 %End
 
-  double getSlicePoint(const QString & dim) const		throw (std::invalid_argument, std::runtime_error);
+    double getSlicePoint(const QString & dim) const   throw (std::invalid_argument, std::runtime_error);
 %Docstring
 double SliceViewer::getSlicePoint(const QString & dim)
 ------------------------------------------------------
@@ -198,7 +274,7 @@ double SliceViewer::getSlicePoint(const QString & dim)
    
 %End
 
-  void setXYLimits(double xleft, double xright, double ybottom, double ytop);
+    void setXYLimits(double xleft, double xright, double ybottom, double ytop);
 %Docstring
 void SliceViewer::setXYLimits(double xleft, double xright, double ybottom, double ytop)
 ---------------------------------------------------------------------------------------
@@ -217,21 +293,21 @@ void SliceViewer::setXYLimits(double xleft, double xright, double ybottom, doubl
    
 %End
 
-  QwtDoubleInterval getXLimits() const;
+    QwtDoubleInterval getXLimits() const;
 %Docstring
 QwtDoubleInterval SliceViewer::getXLimits()
 -------------------------------------------
     @return Returns the [left, right] limits of the view in the X axis. 
 %End
 
-  QwtDoubleInterval getYLimits() const;
+    QwtDoubleInterval getYLimits() const;
 %Docstring
 QwtDoubleInterval SliceViewer::getYLimits()
 -------------------------------------------
     @return Returns the [bottom, top] limits of the view in the Y axis. 
 %End
 
-  void zoomBy(double factor);
+    void zoomBy(double factor);
 %Docstring
 void SliceViewer::zoomBy(double factor)
 ---------------------------------------
@@ -242,7 +318,7 @@ void SliceViewer::zoomBy(double factor)
    
 %End
 
-  void setXYCenter(double x, double y);
+    void setXYCenter(double x, double y);
 %Docstring
 void SliceViewer::setXYCenter(double x, double y)
 -------------------------------------------------
@@ -256,7 +332,7 @@ void SliceViewer::setXYCenter(double x, double y)
    
 %End
 
-  void resetZoom();
+    void resetZoom();
 %Docstring
 void SliceViewer::resetZoom()
 -----------------------------
@@ -268,7 +344,7 @@ void SliceViewer::resetZoom()
 %End
 
 
-  void loadColorMap(QString filename);
+    void loadColorMap(QString filename);
 %Docstring
 void SliceViewer::loadColorMap(QString filename)
 ------------------------------------------------
@@ -278,7 +354,7 @@ void SliceViewer::loadColorMap(QString filename)
    
 %End
 
-  void setColorScale(double min, double max, bool log)  		throw (std::invalid_argument);
+    void setColorScale(double min, double max, bool log)      throw (std::invalid_argument);
 %Docstring
 void SliceViewer::setColorScale(double min, double max, bool log)
 -----------------------------------------------------------------
@@ -292,28 +368,28 @@ void SliceViewer::setColorScale(double min, double max, bool log)
    
 %End
 
-  double getColorScaleMin() const;
+    double getColorScaleMin() const;
 %Docstring
 double SliceViewer::getColorScaleMin()
 --------------------------------------
     @return the value that corresponds to the lowest color on the color map 
 %End
 
-  double getColorScaleMax() const;
+    double getColorScaleMax() const;
 %Docstring
 double SliceViewer::getColorScaleMax()
 --------------------------------------
     @return the value that corresponds to the highest color on the color map 
 %End
 
-  bool getColorScaleLog() const;
+    bool getColorScaleLog() const;
 %Docstring
 bool SliceViewer::getColorScaleLog()
 ------------------------------------
     @return True if the color scale is in logarithmic mode 
 %End
 
-  void setColorScaleAutoFull();
+    void setColorScaleAutoFull();
 %Docstring
 void SliceViewer::setColorScaleAutoFull()
 -----------------------------------------
@@ -323,7 +399,7 @@ void SliceViewer::setColorScaleAutoFull()
    
 %End
 
-  void setColorScaleAutoSlice();
+    void setColorScaleAutoSlice();
 %Docstring
 void SliceViewer::setColorScaleAutoSlice()
 ------------------------------------------
@@ -334,8 +410,8 @@ void SliceViewer::setColorScaleAutoSlice()
    
 %End
 
-    
-};
+
+  };