Index: src/sas/dataloader/data_info.py
===================================================================
--- src/sas/dataloader/data_info.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
+++ src/sas/dataloader/data_info.py	(revision 7eaf9f21f295baa6e9594bfada6f9dde6baa5f67)
@@ -25,4 +25,55 @@
 import numpy
 import math
+
+
+class plottable_sesans1D:
+    """
+    SESANS is a place holder for 1D SESANS plottables.
+    
+    #TODO: This was directly copied from the plottables_1D.
+    #TODO: The class has not been updated from there.
+    """
+    # The presence of these should be mutually
+    # exclusive with the presence of Qdev (dx)
+    x = None
+    y = None
+    dx = None
+    dy = None
+    ## Slit smearing length
+    dxl = None
+    ## Slit smearing width
+    dxw = None
+    
+    # Units
+    _xaxis = ''
+    _xunit = ''
+    _yaxis = ''
+    _yunit = ''
+    
+    def __init__(self, x, y, dx=None, dy=None, dxl=None, dxw=None):
+        self.x = numpy.asarray(x)
+        self.y = numpy.asarray(y)
+        if dx is not None:
+            self.dx = numpy.asarray(dx)
+        if dy is not None:
+            self.dy = numpy.asarray(dy)
+        if dxl is not None:
+            self.dxl = numpy.asarray(dxl)
+        if dxw is not None: 
+            self.dxw = numpy.asarray(dxw)
+
+    def xaxis(self, label, unit):
+        """
+        set the x axis label and unit
+        """
+        self._xaxis = label
+        self._xunit = unit
+        
+    def yaxis(self, label, unit):
+        """
+        set the y axis label and unit
+        """
+        self._yaxis = label
+        self._yunit = unit
 
 
@@ -940,4 +991,80 @@
         
         
+class SESANSData1D(plottable_sesans1D, DataInfo):
+    """
+    SESANS 1D data class
+    """
+    x_unit = '1/A'
+    y_unit = '1/cm'
+    
+    def __init__(self, x, y, dx=None, dy=None):
+        DataInfo.__init__(self)
+        plottable_sesans1D.__init__(self, x, y, dx, dy)
+        
+    def __str__(self):
+        """
+        Nice printout
+        """
+        _str =  "%s\n" % DataInfo.__str__(self)
+    
+        _str += "Data:\n"
+        _str += "   Type:         %s\n" % self.__class__.__name__
+        _str += "   X-axis:       %s\t[%s]\n" % (self._xaxis, self._xunit)
+        _str += "   Y-axis:       %s\t[%s]\n" % (self._yaxis, self._yunit)
+        _str += "   Length:       %g\n" % len(self.x)
+
+        return _str
+
+    def is_slit_smeared(self):
+        """
+        Check whether the data has slit smearing information
+        
+        :return: True is slit smearing info is present, False otherwise
+        
+        """
+        def _check(v):
+            if (v.__class__ == list or v.__class__ == numpy.ndarray) \
+                and len(v) > 0 and min(v) > 0:
+                return True
+            
+            return False
+        
+        return _check(self.dxl) or _check(self.dxw)
+        
+    def clone_without_data(self, length=0, clone=None):
+        """
+        Clone the current object, without copying the data (which
+        will be filled out by a subsequent operation).
+        The data arrays will be initialized to zero.
+        
+        :param length: length of the data array to be initialized
+        :param clone: if provided, the data will be copied to clone
+        """
+        from copy import deepcopy
+        
+        if clone is None or not issubclass(clone.__class__, Data1D):
+            x  = numpy.zeros(length)
+            dx = numpy.zeros(length)
+            y  = numpy.zeros(length)
+            dy = numpy.zeros(length)
+            clone = Data1D(x, y, dx=dx, dy=dy)
+        
+        clone.title          = self.title
+        clone.run            = self.run
+        clone.filename       = self.filename
+        clone.instrument     = self.instrument
+        clone.notes          = deepcopy(self.notes)
+        clone.process        = deepcopy(self.process)
+        clone.detector       = deepcopy(self.detector)
+        clone.sample         = deepcopy(self.sample)
+        clone.source         = deepcopy(self.source)
+        clone.collimation    = deepcopy(self.collimation)
+        clone.trans_spectrum = deepcopy(self.trans_spectrum)
+        clone.meta_data      = deepcopy(self.meta_data)
+        clone.errors         = deepcopy(self.errors)
+        
+        return clone
+    
+    
 class Data2D(plottable_2D, DataInfo):
     """
Index: src/sas/dataloader/manipulations.py
===================================================================
--- src/sas/dataloader/manipulations.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/dataloader/manipulations.py	(revision 400155bab01bdb35b3cf83069f57cf9f47005bca)
@@ -582,5 +582,5 @@
     """
     #Todo: remove center.
-    def __init__(self, r_min=0, r_max=0, center_x=0, center_y=0, nbins=20):
+    def __init__(self, r_min=0, r_max=0, center_x=0, center_y=0, nbins=36):
         # Minimum radius
         self.r_min = r_min
@@ -593,4 +593,5 @@
         # Number of angular bins
         self.nbins_phi = nbins
+
         
     def __call__(self, data2D):
@@ -622,5 +623,8 @@
         phi_values = numpy.zeros(self.nbins_phi)
         phi_err    = numpy.zeros(self.nbins_phi)
-        
+	
+	# Shift to apply to calculated phi values in order to center first bin at zero
+	phi_shift = Pi / self.nbins_phi
+
         for npt in range(len(data)):
             frac = 0
@@ -637,9 +641,9 @@
                 continue
             # binning           
-            i_phi = int(math.floor((self.nbins_phi) * phi_value / (2 * Pi)))
+            i_phi = int(math.floor((self.nbins_phi) * (phi_value+phi_shift) / (2 * Pi)))
             
             # Take care of the edge case at phi = 2pi.
-            if i_phi == self.nbins_phi:
-                i_phi =  self.nbins_phi - 1
+            if i_phi >= self.nbins_phi:
+                i_phi =  0
             phi_bins[i_phi] += frac * data[npt]
             
@@ -655,5 +659,5 @@
             phi_bins[i] = phi_bins[i] / phi_counts[i]
             phi_err[i] = math.sqrt(phi_err[i]) / phi_counts[i]
-            phi_values[i] = 2.0 * math.pi / self.nbins_phi * (1.0 * i + 0.5)
+            phi_values[i] = 2.0 * math.pi / self.nbins_phi * (1.0 * i)
             
         idx = (numpy.isfinite(phi_bins))
Index: src/sas/guiframe/local_perspectives/data_loader/data_loader.py
===================================================================
--- src/sas/guiframe/local_perspectives/data_loader/data_loader.py	(revision b3efb7dfc293a955756eccf52e0bbd30d3a2c32d)
+++ src/sas/guiframe/local_perspectives/data_loader/data_loader.py	(revision b45cde35d36e3d241e3ee1427715d7ff31251ea7)
@@ -233,5 +233,5 @@
                 error_message += "Make sure the content of your file"
                 error_message += " is properly formatted.\n\n"
-                error_message += "When contacting the DANSE team, mention the"
+                error_message += "When contacting the SasView team, mention the"
                 error_message += " following:\n%s" % str(error)
             elif data_error:
Index: src/sas/guiframe/local_perspectives/plotting/AnnulusSlicer.py
===================================================================
--- src/sas/guiframe/local_perspectives/plotting/AnnulusSlicer.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/guiframe/local_perspectives/plotting/AnnulusSlicer.py	(revision 400155bab01bdb35b3cf83069f57cf9f47005bca)
@@ -35,5 +35,5 @@
     
         ## Number of points on the plot
-        self.nbins = 20
+        self.nbins = 36
         #Cursor position of Rings (Left(-1) or Right(1))
         self.xmaxd = self.base.data2D.xmax
@@ -131,7 +131,7 @@
                    math.fabs(self.outer_circle.get_radius()))
         #if the user does not specify the numbers of points to plot 
-        # the default number will be nbins= 20
+        # the default number will be nbins= 36
         if nbins == None:
-            self.nbins = 20
+            self.nbins = 36
         else:
             self.nbins = nbins
Index: src/sas/perspectives/calculator/data_editor.py
===================================================================
--- src/sas/perspectives/calculator/data_editor.py	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ src/sas/perspectives/calculator/data_editor.py	(revision b45cde35d36e3d241e3ee1427715d7ff31251ea7)
@@ -46,5 +46,5 @@
     
     if error is not None:
-        message += "When contacting the DANSE team,"
+        message += "When contacting the SasView team,"
         message += " mention the following:\n%s" % str(error)
     
