Index: DataLoader/data_info.py
===================================================================
--- DataLoader/data_info.py	(revision 2e9b98cf08f14c72623c18c548247714e2a30d3c)
+++ DataLoader/data_info.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -154,4 +154,5 @@
     ## Slit length of the instrument for this detector.[float] [mm]
     slit_length = None
+    #slit_length_unit = '1/A'
     slit_length_unit = 'mm'
     
@@ -541,6 +542,6 @@
         1D data class
     """
-    x_unit = 'A^{-1}'
-    y_unit = 'cm^{-1}'
+    x_unit = '1/A'
+    y_unit = '1/cm'
     
     def __init__(self, x, y, dx=None, dy=None):
@@ -660,8 +661,8 @@
     """
     ## Units for Q-values
-    Q_unit = 'A^{-1}'
+    Q_unit = '1/A'
     
     ## Units for I(Q) values
-    I_unit = 'cm^{-1}'
+    I_unit = '1/cm'
     
     ## Vector of Q-values at the center of each bin in x
Index: DataLoader/manipulations.py
===================================================================
--- DataLoader/manipulations.py	(revision 923d9260a10ebf1c1a977be0c25d6fdf2ace0f08)
+++ DataLoader/manipulations.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -231,12 +231,19 @@
         err_y = 0.0
         y_counts = 0.0
-                
+        sign=1
         for i in range(numpy.size(data2D.data,1)):
             # Min and max x-value for the pixel
             minx = pixel_width_x*(i - center_x)
             maxx = pixel_width_x*(i+1.0 - center_x)
-            
-            qxmin = get_q(minx, 0.0, det_dist, wavelength)
-            qxmax = get_q(maxx, 0.0, det_dist, wavelength)
+            if minx>=0:
+                sign=1
+            else:
+                sign=-1           
+            qxmin = sign*get_q(minx, 0.0, det_dist, wavelength)
+            if maxx>=0:
+                sign=1
+            else:
+                sign=-1
+            qxmax = sign*get_q(maxx, 0.0, det_dist, wavelength)
             
             # Get the count fraction in x for that pixel
@@ -249,7 +256,16 @@
                 miny = pixel_width_y*(j - center_y)
                 maxy = pixel_width_y*(j+1.0 - center_y)
-
-                qymin = get_q(0.0, miny, det_dist, wavelength)
-                qymax = get_q(0.0, maxy, det_dist, wavelength)
+                if miny>=0:
+                    sign=1
+                else:
+                    sign=-1           
+
+                qymin = sign*get_q(0.0, miny, det_dist, wavelength)
+                if maxy>=0:
+                    sign=1
+                else:
+                    sign=-1           
+                
+                qymax = sign*get_q(0.0, maxy, det_dist, wavelength)
                 
                 # Get the count fraction in x for that pixel
Index: DataLoader/readers/IgorReader.py
===================================================================
--- DataLoader/readers/IgorReader.py	(revision b568ec1bbaeb60df46b602a3b7945b8ad1a0df81)
+++ DataLoader/readers/IgorReader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -79,11 +79,11 @@
         data_conv_i = None
         
-        if has_converter == True and output.Q_unit != 'A^{-1}':
-            data_conv_q = Converter('A^{-1}')
+        if has_converter == True and output.Q_unit != '1/A':
+            data_conv_q = Converter('1/A')
             # Test it
             data_conv_q(1.0, output.Q_unit)
             
-        if has_converter == True and output.I_unit != 'cm^{-1}':
-            data_conv_i = Converter('cm^{-1}')
+        if has_converter == True and output.I_unit != '1/cm':
+            data_conv_i = Converter('1/cm')
             # Test it
             data_conv_i(1.0, output.I_unit)            
@@ -191,5 +191,5 @@
                 qx = 4.0*math.pi/wavelength * math.sin(theta/2.0)
 
-                if has_converter == True and output.Q_unit != 'A^{-1}':
+                if has_converter == True and output.Q_unit != '1/A':
                     qx = data_conv_q(qx, units=output.Q_unit)
 
@@ -202,5 +202,5 @@
                 qy = 4.0*math.pi/wavelength * math.sin(theta/2.0)
 
-                if has_converter == True and output.Q_unit != 'A^{-1}':
+                if has_converter == True and output.Q_unit != '1/A':
                     qy = data_conv_q(qy, units=output.Q_unit)
                 
@@ -258,5 +258,5 @@
         ymin    =ymin-ystep/2.0
         ymax    =ymax+ystep/2.0
-        if has_converter == True and output.Q_unit != 'A^{-1}':
+        if has_converter == True and output.Q_unit != '1/A':
             xmin = data_conv_q(xmin, units=output.Q_unit)
             xmax = data_conv_q(xmax, units=output.Q_unit)
Index: DataLoader/readers/abs_reader.py
===================================================================
--- DataLoader/readers/abs_reader.py	(revision d06ba5e8922b8571b8d98359b906a5da3b915226)
+++ DataLoader/readers/abs_reader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -62,11 +62,11 @@
                 data_conv_i = None
                 
-                if has_converter == True and output.x_unit != 'A^{-1}':
-                    data_conv_q = Converter('A^{-1}')
+                if has_converter == True and output.x_unit != '1/A':
+                    data_conv_q = Converter('1/A')
                     # Test it
                     data_conv_q(1.0, output.x_unit)
                     
-                if has_converter == True and output.y_unit != 'cm^{-1}':
-                    data_conv_i = Converter('cm^{-1}')
+                if has_converter == True and output.y_unit != '1/cm':
+                    data_conv_i = Converter('1/cm')
                     # Test it
                     data_conv_i(1.0, output.y_unit)
Index: DataLoader/readers/ascii_reader.py
===================================================================
--- DataLoader/readers/ascii_reader.py	(revision b92c1ad0465f22b4218090f5fc4c5cee40ced84f)
+++ DataLoader/readers/ascii_reader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -58,11 +58,11 @@
                 data_conv_i = None
                 
-                if has_converter == True and output.x_unit != 'A^{-1}':
-                    data_conv_q = Converter('A^{-1}')
+                if has_converter == True and output.x_unit != '1/A':
+                    data_conv_q = Converter('1/A')
                     # Test it
                     data_conv_q(1.0, output.x_unit)
                     
-                if has_converter == True and output.y_unit != 'cm^{-1}':
-                    data_conv_i = Converter('cm^{-1}')
+                if has_converter == True and output.y_unit != '1/cm':
+                    data_conv_i = Converter('1/cm')
                     # Test it
                     data_conv_i(1.0, output.y_unit)
Index: DataLoader/readers/cansas_reader.py
===================================================================
--- DataLoader/readers/cansas_reader.py	(revision 2bc8d4a7a48ab13cc93a9db2eec7c090d091180c)
+++ DataLoader/readers/cansas_reader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -569,11 +569,11 @@
         data_conv_i = None
         
-        if has_converter == True and data_info.x_unit != 'A^{-1}':
-            data_conv_q = Converter('A^{-1}')
+        if has_converter == True and data_info.x_unit != '1/A':
+            data_conv_q = Converter('1/A')
             # Test it
             data_conv_q(1.0, output.Q_unit)
             
-        if has_converter == True and data_info.y_unit != 'cm^{-1}':
-            data_conv_i = Converter('cm^{-1}')
+        if has_converter == True and data_info.y_unit != '1/cm':
+            data_conv_i = Converter('1/cm')
             # Test it
             data_conv_i(1.0, output.I_unit)                    
Index: DataLoader/readers/danse_reader.py
===================================================================
--- DataLoader/readers/danse_reader.py	(revision eeaabb151a5384921a045bd185de7be6d62ff365)
+++ DataLoader/readers/danse_reader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -87,11 +87,11 @@
             data_conv_i = None
             
-            if has_converter == True and output.Q_unit != 'A^{-1}':
-                data_conv_q = Converter('A^{-1}')
+            if has_converter == True and output.Q_unit != '1/A':
+                data_conv_q = Converter('1/A')
                 # Test it
                 data_conv_q(1.0, output.Q_unit)
                 
-            if has_converter == True and output.I_unit != 'cm^{-1}':
-                data_conv_i = Converter('cm^{-1}')
+            if has_converter == True and output.I_unit != '1/cm':
+                data_conv_i = Converter('1/cm')
                 # Test it
                 data_conv_i(1.0, output.I_unit)            
@@ -161,11 +161,11 @@
                 qx = 4.0*math.pi/wavelength * math.sin(theta/2.0)
                 
-                if has_converter == True and output.Q_unit != 'A^{-1}':
+                if has_converter == True and output.Q_unit != '1/A':
                     qx = data_conv_q(qx, units=output.Q_unit)
                 
                 x_vals.append(qx)
-                if xmin==None or qx<=xmin:
+                if xmin==None or qx<xmin:
                     xmin = qx
-                if xmax==None or qx>=xmax:
+                if xmax==None or qx>xmax:
                     xmax = qx
             
@@ -176,5 +176,5 @@
                 qy = 4.0*math.pi/wavelength * math.sin(theta/2.0)
                 
-                if has_converter == True and output.Q_unit != 'A^{-1}':
+                if has_converter == True and output.Q_unit != '1/A':
                     qy = data_conv_q(qy, units=output.Q_unit)
                 
@@ -242,5 +242,5 @@
             ymax    =ymax+stepq/2.0
             
-            if has_converter == True and output.Q_unit != 'A^{-1}':
+            if has_converter == True and output.Q_unit != '1/A':
                 xmin = data_conv_q(xmin, units=output.Q_unit)
                 xmax = data_conv_q(xmax, units=output.Q_unit)
Index: DataLoader/readers/hfir1d_reader.py
===================================================================
--- DataLoader/readers/hfir1d_reader.py	(revision c5f03376b0e46464ed65fd374423d5129fb9d5d4)
+++ DataLoader/readers/hfir1d_reader.py	(revision ca10d8e97ad20b988f47f51dbe6d5d79220f911a)
@@ -58,11 +58,11 @@
                 data_conv_i = None
                 
-                if has_converter == True and output.x_unit != 'A^{-1}':
-                    data_conv_q = Converter('A^{-1}')
+                if has_converter == True and output.x_unit != '1/A':
+                    data_conv_q = Converter('1/A')
                     # Test it
                     data_conv_q(1.0, output.x_unit)
                     
-                if has_converter == True and output.y_unit != 'cm^{-1}':
-                    data_conv_i = Converter('cm^{-1}')
+                if has_converter == True and output.y_unit != '1/cm':
+                    data_conv_i = Converter('1/cm')
                     # Test it
                     data_conv_i(1.0, output.y_unit)
