Index: DataLoader/loader.py
===================================================================
--- DataLoader/loader.py	(revision d36194216f4ce4d5c35dd228473f7eca929ab596)
+++ DataLoader/loader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -94,5 +94,5 @@
                 dir = 'readers'
             dir=os.path.join(os.path.dirname(os.path.abspath(__file__)),dir)
-                
+            
             if (reader==None and  ext==None) or dir:#1st load
                 plugReader=None
@@ -202,5 +202,5 @@
                 os.path.isfile( os.path.abspath(path)) 
             except:
-                raise ValueError," file  path unknown"
+                raise ValueError," file path unknown"
             
             if format is None:
Index: DataLoader/plugins/TXT2_Reader.py
===================================================================
--- DataLoader/plugins/TXT2_Reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/plugins/TXT2_Reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -3,4 +3,51 @@
 import string,numpy
 import logging
+class ReaderInfo:
+    """
+        This class is a container of data. It stores values read from files
+    """
+    ## Wavelength [A]
+    wavelength = 0.0
+    ## Number of x bins
+    xbins = 128
+    ## Number of y bins
+    ybins = 128
+    ## Beam center X [pixel number]
+    center_x = 65
+    ## Beam center Y [pixel number]
+    center_y = 65
+    ## Distance from sample to detector [m]
+    distance = 11.0
+    ## Qx values [A-1]
+    x_vals = []
+    ## Qy xalues [A-1]
+    y_vals = []
+    ## Qx min
+    xmin = 0.0
+    ## Qx max
+    xmax = 1.0
+    ## Qy min
+    ymin = 0.0
+    ## Qy max
+    ymax = 1.0
+    ## Image
+    image = None
+    ## Pixel size
+    pixel_size = 0.5
+    ## x coordinate
+    x=[]
+    ##y coordinate
+    y=[]
+    ##dx error on y
+    dx=None
+    ## dy error on y
+    dy=None
+    ## Error on each pixel
+    error = None
+    ##type of data
+    type=""
+    ##z
+    Z=None
+
 class Reader:
     """
@@ -68,5 +115,10 @@
                     #return msg
                     logging.info("TXT2_Reader reading  %s\n" %path)
-                    return self.x,self.y,self.dy
+                    output = ReaderInfo()
+                    output.x    = self.x
+                    output.y    = self.y
+                    output.type = "1D"
+                    
+                    return output
         return None
    
Index: DataLoader/plugins/TXT3_Reader.py
===================================================================
--- DataLoader/plugins/TXT3_Reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/plugins/TXT3_Reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -3,4 +3,50 @@
 import string,numpy
 import logging
+class ReaderInfo:
+    """
+        This class is a container of data. It stores values read from files
+    """
+    ## Wavelength [A]
+    wavelength = 0.0
+    ## Number of x bins
+    xbins = 128
+    ## Number of y bins
+    ybins = 128
+    ## Beam center X [pixel number]
+    center_x = 65
+    ## Beam center Y [pixel number]
+    center_y = 65
+    ## Distance from sample to detector [m]
+    distance = 11.0
+    ## Qx values [A-1]
+    x_vals = []
+    ## Qy xalues [A-1]
+    y_vals = []
+    ## Qx min
+    xmin = 0.0
+    ## Qx max
+    xmax = 1.0
+    ## Qy min
+    ymin = 0.0
+    ## Qy max
+    ymax = 1.0
+    ## Image
+    image = None
+    ## Pixel size
+    pixel_size = 0.5
+    ## x coordinate
+    x=[]
+    ##y coordinate
+    y=[]
+    ##dx error on y
+    dx=None
+    ## dy error on y
+    dy=None
+    ## Error on each pixel
+    error = None
+    ##type of data
+    type=""
+    ##z
+    Z=None
 class Reader:
     """
@@ -67,8 +113,14 @@
                     raise ValueError, "TXT3_Reader can't read %s"%path
                 else:
-                    #msg="txtReader  Reading:\n"+"this x :"+ str(self.x) +"\n"+"this y:"+str(self.y)+"\n"+"this dy :"+str(self.dy)+"\n"
-                    #return msg
+                   
                     logging.info ("TXT3_Reader reading %s \n" %(path))
-                    return self.x,self.y,self.dy
+                      
+                    output = ReaderInfo()
+                    output.x    = self.x
+                    output.y    = self.y
+                    output.dy   = self.dy
+                    output.type = "1D"
+                    
+                    return output
                 
         return None
Index: DataLoader/plugins/tiff_reader.py
===================================================================
--- DataLoader/plugins/tiff_reader.py	(revision 3dd7cce4a558d0fc8b36bb5276e3f499f5f8a04c)
+++ DataLoader/plugins/tiff_reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -4,4 +4,5 @@
 class ReaderInfo:
     """
+        This class is a container of data. It stores values read from files
     """
     ## Wavelength [A]
@@ -33,7 +34,19 @@
     ## Pixel size
     pixel_size = 0.5
+    ## x coordinate
+    x=[]
+    ##y coordinate
+    y=[]
+    ##dx error on y
+    dx=None
+    ## dy error on y
+    dy=None
     ## Error on each pixel
     error = None
-    
+    ##type of data
+    type=""
+    ##z
+    Z=None
+
 class Reader:
     """
@@ -144,5 +157,6 @@
             output.image      = Z
             output.pixel_size = pixel
-                
+            output.type       ="2D"
+              
             return output
         
Index: DataLoader/readers/IgorReader.py
===================================================================
--- DataLoader/readers/IgorReader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/readers/IgorReader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -165,5 +165,15 @@
         self.center_x = center_x
         self.center_y = center_y
+        
+        from readInfo import ReaderInfo   
+        output = ReaderInfo()
+        output.Z=Z
+        output.xmin    =xmin-xstep/2.0
+        output.xmax    = xmax+xstep/2.0
+        output.ymin    =ymin-ystep/2.0
+        output.ymax    =ymax+ystep/2.0
+        output.type    ="2D"
+        
         logging.info("IgorReader reading %s"%self.file)
-        return Z, xmin-xstep/2.0, xmax+xstep/2.0, ymin-ystep/2.0, ymax+ystep/2.0
+        return output
      
Index: DataLoader/readers/TXT2_Reader.py
===================================================================
--- DataLoader/readers/TXT2_Reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/readers/TXT2_Reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -66,6 +66,11 @@
                     #msg="R1 reading: \n"+"this x :"+ str(self.x) +"\n"+"this y:"+str(self.y)+"\n"+"this dy :"+str(self.dy)+"\n"
                     #return msg
+                    from readInfo import ReaderInfo   
+                    output = ReaderInfo()
+                    output.x=self.x
+                    output.y=self.y
+                    
                     logging.info("TXT2_Reader reading  %s\n" %path)
-                    return self.x,self.y,self.dy
+                    return output
         return None
    
Index: DataLoader/readers/TXT3_Reader.py
===================================================================
--- DataLoader/readers/TXT3_Reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/readers/TXT3_Reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -69,5 +69,12 @@
                     #return msg
                     logging.info("TXT3_Reader reading %s \n" %path)
-                    return self.x,self.y,self.dy
+                    from readInfo import ReaderInfo   
+                    output = ReaderInfo()
+                    output.x    = self.x
+                    output.y    = self.y
+                    output.dy   = self.dy
+                    output.type = "1D"
+                    
+                    return output
                 
         return None
Index: DataLoader/readers/danse_reader.py
===================================================================
--- DataLoader/readers/danse_reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/readers/danse_reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -8,37 +8,5 @@
 import numpy
 import logging
-class ReaderInfo:
-    """
-    """
-    ## Wavelength [A]
-    wavelength = 0.0
-    ## Number of x bins
-    xbins = 128
-    ## Number of y bins
-    ybins = 128
-    ## Beam center X [pixel number]
-    center_x = 65
-    ## Beam center Y [pixel number]
-    center_y = 65
-    ## Distance from sample to detector [m]
-    distance = 11.0
-    ## Qx values [A-1]
-    x_vals = []
-    ## Qy xalues [A-1]
-    y_vals = []
-    ## Qx min
-    xmin = 0.0
-    ## Qx max
-    xmax = 1.0
-    ## Qy min
-    ymin = 0.0
-    ## Qy max
-    ymax = 1.0
-    ## Image
-    image = None
-    ## Pixel size
-    pixel_size = 0.5
-    ## Error on each pixel
-    error = None
+
 class Reader:
     """
@@ -193,5 +161,5 @@
                 
                 itot += 1
-                
+            from readInfo import ReaderInfo   
             output = ReaderInfo()
             output.wavelength = wavelength
@@ -210,5 +178,7 @@
             output.pixel_size = pixel
             output.image      = Z
-            if not fversion==1.1:
+            output.type       = "2D "
+           
+            if not fversion>=1.0:
                 #output.error  = E
                 raise ValueError,"Danse_reader can't read this file %s"%filename
Index: DataLoader/readers/readInfo.py
===================================================================
--- DataLoader/readers/readInfo.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
+++ DataLoader/readers/readInfo.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -0,0 +1,48 @@
+class ReaderInfo:
+    """
+        This class is a container of data. It stores values read from files
+    """
+    ## Wavelength [A]
+    wavelength = 0.0
+    ## Number of x bins
+    xbins = 128
+    ## Number of y bins
+    ybins = 128
+    ## Beam center X [pixel number]
+    center_x = 65
+    ## Beam center Y [pixel number]
+    center_y = 65
+    ## Distance from sample to detector [m]
+    distance = 11.0
+    ## Qx values [A-1]
+    x_vals = []
+    ## Qy xalues [A-1]
+    y_vals = []
+    ## Qx min
+    xmin = 0.0
+    ## Qx max
+    xmax = 1.0
+    ## Qy min
+    ymin = 0.0
+    ## Qy max
+    ymax = 1.0
+    ## Image
+    image = None
+    ## Pixel size
+    pixel_size = 0.5
+    ## x coordinate
+    x=[]
+    ##y coordinate
+    y=[]
+    ##dx error on y
+    dx=None
+    ## dy error on y
+    dy=None
+    ## Error on each pixel
+    error = None
+    ##type of data
+    type=""
+    ##z
+    Z=None
+
+  
Index: DataLoader/readers/tiff_reader.py
===================================================================
--- DataLoader/readers/tiff_reader.py	(revision 8d6440f96618cd67430e155f2bf52d5f801dd467)
+++ DataLoader/readers/tiff_reader.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -2,37 +2,5 @@
 import Image
 import math,logging
-class ReaderInfo:
-    """
-    """
-    ## Wavelength [A]
-    wavelength = 0.0
-    ## Number of x bins
-    xbins = 128
-    ## Number of y bins
-    ybins = 128
-    ## Beam center X [pixel number]
-    center_x = 65
-    ## Beam center Y [pixel number]
-    center_y = 65
-    ## Distance from sample to detector [m]
-    distance = 11.0
-    ## Qx values [A-1]
-    x_vals = []
-    ## Qy xalues [A-1]
-    y_vals = []
-    ## Qx min
-    xmin = 0.0
-    ## Qx max
-    xmax = 1.0
-    ## Qy min
-    ymin = 0.0
-    ## Qy max
-    ymax = 1.0
-    ## Image
-    image = None
-    ## Pixel size
-    pixel_size = 0.5
-    ## Error on each pixel
-    error = None
+
     
 class Reader:
@@ -129,5 +97,5 @@
                 
                 itot += 1
-                
+            from readInfo import ReaderInfo      
             output = ReaderInfo()
             output.wavelength = wavelength
@@ -145,4 +113,5 @@
             output.image      = Z
             output.pixel_size = pixel
+            output.type       ="2D"
             logging.info("tiff_reader reading %s"%(filename))
             
Index: DataLoader/test/testLoad.py
===================================================================
--- DataLoader/test/testLoad.py	(revision d36194216f4ce4d5c35dd228473f7eca929ab596)
+++ DataLoader/test/testLoad.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -19,4 +19,5 @@
 from DataLoader.readers import TXT3_Reader,TXT2_Reader
 from DataLoader.readers import IgorReader,danse_reader,tiff_reader
+ 
 import os.path
 class testLoader(unittest.TestCase):
@@ -56,31 +57,31 @@
         
         #Testing loading a txt file of 2 columns, the only reader should be read1 
-        xload,yload,dyload=self.L.load('test_2_columns.txt') 
+        output=self.L.load('test_2_columns.txt') 
         x=[2.83954,0.204082,0.408163,0.612245,0.816327,1.02041,1.22449,1.42857,1.63265]
         y=[0.6,3.44938, 5.82026,5.27591,5.2781,5.22531,7.47487,7.85852,10.2278]
         dx=[]
         dy=[]
-        self.assertEqual(len(xload),len(x))
-        self.assertEqual(len(yload),len(y))
-        self.assertEqual(len(dyload),0)
+        self.assertEqual(len(output.x),len(x))
+        self.assertEqual(len(output.y),len(y))
+        
         for i in range(len(x)):
-            self.assertEqual(xload[i],x[i])
-            self.assertEqual(yload[i],y[i])
+            self.assertEqual(output.x[i],x[i])
+            self.assertEqual(output.y[i],y[i])
        
     
     def testLoad2(self):
         """Testing loading a txt file of 3 columns"""
-        xload,yload,dyload= self.L.load('test_3_columns.txt') 
+        output= self.L.load('test_3_columns.txt') 
         x=[0,0.204082,0.408163,0.612245,0.816327,1.02041,1.22449]    
         y=[2.83954,3.44938,5.82026,5.27591,5.2781,5.22531,7.47487]
         dx=[]
         dy=[0.6,0.676531,0.753061,0.829592,0.906122,0.982653,1.05918]
-        self.assertEqual(len(xload),len(x))
-        self.assertEqual(len(yload),len(y))
-        self.assertEqual(len(dyload),len(dy))
+        self.assertEqual(len(output.x),len(x))
+        self.assertEqual(len(output.y),len(y))
+        self.assertEqual(len(output.dy),len(dy))
         for i in range(len(x)):
-            self.assertEqual(xload[i],x[i])
-            self.assertEqual(yload[i],y[i])
-            self.assertEqual(dyload[i],dy[i])
+            self.assertEqual(output.x[i],x[i])
+            self.assertEqual(output.y[i],y[i])
+            self.assertEqual(output.dy[i],dy[i])
        
     
@@ -88,9 +89,9 @@
         """ Testing loading Igor data"""
         #tested good file.asc
-        Z,xmin, xmax, ymin, ymax= self.L.load('MAR07232_rest.ASC') 
-        self.assertEqual(xmin,-0.018558945804750416)
-        self.assertEqual(xmax, 0.016234058202440633,)
-        self.assertEqual(ymin,-0.01684257151702391)
-        self.assertEqual(ymax,0.017950440578015116)
+        output= self.L.load('MAR07232_rest.ASC') 
+        self.assertEqual(output.xmin,-0.018558945804750416)
+        self.assertEqual(output.xmax, 0.016234058202440633,)
+        self.assertEqual(output.ymin,-0.01684257151702391)
+        self.assertEqual(output.ymax,0.017950440578015116)
        
         #tested corrupted file.asc
@@ -102,7 +103,7 @@
         """ Testing loading danse file"""
         #tested good file.sans
-        data=self.L.load('MP_New.sans')
+        output=self.L.load('MP_New.sans')
         
-        self.assertEqual(data.wavelength,7.5)
+        self.assertEqual(output.wavelength,7.5)
         
         #tested corrupted file.sans
@@ -115,6 +116,6 @@
     def testload5(self):
         """ Testing loading image file"""
-        data=self.L.load('angles_flat.png')
-        self.assertEqual(data.xbins ,200)
+        output=self.L.load('angles_flat.png')
+        self.assertEqual(output.xbins ,200)
         
     def testload6(self):
Index: DataLoader/test/testplugings.py
===================================================================
--- DataLoader/test/testplugings.py	(revision d36194216f4ce4d5c35dd228473f7eca929ab596)
+++ DataLoader/test/testplugings.py	(revision 16d8e5fb43348001cacbc6967a6922266e68fe6e)
@@ -39,13 +39,13 @@
         self.assertEqual(self.L.__contains__('.ASC'),True)
         #Testing loading a txt file of 2 columns, the only reader should be read1 
-        xload,yload,dyload=self.L.load('test_2_columns.txt') 
+        output=self.L.load('test_2_columns.txt') 
         x=[2.83954,0.204082,0.408163,0.612245,0.816327,1.02041,1.22449,1.42857,1.63265]
         y=[0.6,3.44938, 5.82026,5.27591,5.2781,5.22531,7.47487,7.85852,10.2278]
         dx=[]
         dy=[]
-        self.assertEqual(len(xload),len(x))
-        self.assertEqual(len(yload),len(y))
-        self.assertEqual(len(dyload),0)
+        self.assertEqual(len(output.x),len(x))
+        self.assertEqual(len(output.y),len(y))
+        
         for i in range(len(x)):
-            self.assertEqual(xload[i],x[i])
-            self.assertEqual(yload[i],y[i])
+            self.assertEqual(output.x[i],x[i])
+            self.assertEqual(output.y[i],y[i])
