Index: setup.py
===================================================================
--- setup.py	(revision 18e73093a1cac56cb9c9fb237df8a08062ab6d5f)
+++ setup.py	(revision 1e13b539370619f0f420c675af3d469eec215af3)
@@ -206,5 +206,4 @@
 )
 
-
 # sas.sascalc.pr
 srcdir  = os.path.join("src", "sas", "sascalc", "pr", "c_extensions")
@@ -229,4 +228,8 @@
                               ) )
 
+#sas.sascalc.corfunc
+package_dir["sas.sascalc.corfunc"] = os.path.join("src", "sas", "sascalc", "corfunc")
+packages.extend(["sas.sascalc.corfunc"])
+
 # sas.sascalc.fit
 package_dir["sas.sascalc.fit"] = os.path.join("src", "sas", "sascalc", "fit")
@@ -237,5 +240,5 @@
 package_dir["sas.sasgui.perspectives.pr"] = os.path.join("src", "sas", "sasgui", "perspectives", "pr")
 packages.extend(["sas.sasgui.perspectives","sas.sasgui.perspectives.pr"])
-package_data["sas.sasgui.perspectives.pr"] = ['images/*']
+package_data["sas.sasgui.perspectives.pr"] = ['media/*']
 
 package_dir["sas.sasgui.perspectives.invariant"] = os.path.join("src", "sas", "sasgui", "perspectives", "invariant")
@@ -250,4 +253,12 @@
 packages.extend(["sas.sasgui.perspectives", "sas.sasgui.perspectives.calculator"])
 package_data['sas.sasgui.perspectives.calculator'] = ['images/*', 'media/*']
+
+package_dir["sas.sasgui.perspectives.corfunc"] = os.path.join("src", "sas", "sasgui", "perspectives", "corfunc")
+packages.extend(["sas.sasgui.perspectives.corfunc"])
+package_data['sas.sasgui.perspectives.corfunc'] = ['media/*']
+
+package_dir["sas.sasgui.perspectives.file_converter"] = os.path.join("src", "sas", "sasgui", "perspectives", "file_converter")
+packages.extend(["sas.sasgui.perspectives.file_converter"])
+package_data['sas.sasgui.perspectives.file_converter'] = ['media/*']
 
 # Data util
Index: src/sas/sascalc/dataloader/readers/sesans_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/sesans_reader.py	(revision b5db35da412b2109056fc5155ed97d80875bb756)
+++ src/sas/sascalc/dataloader/readers/sesans_reader.py	(revision 95253581a7278bcefffb1c4770afed962b126cd7)
@@ -136,12 +136,13 @@
                 output.x, output.x_unit = self._unit_conversion(x, lam_unit, default_z_unit)
                 output.y = y
-                output.y_unit = '\AA^{-2} cm^{-1}'  # output y_unit added
+                output.y_unit = r'\AA^{-2} cm^{-1}'  # output y_unit added
                 output.dx, output.dx_unit = self._unit_conversion(dx, lam_unit, default_z_unit)
                 output.dy = dy
                 output.lam, output.lam_unit = self._unit_conversion(lam, lam_unit, default_z_unit)
                 output.dlam, output.dlam_unit = self._unit_conversion(dlam, lam_unit, default_z_unit)
+                
+                output.xaxis(r"\rm{z}", output.x_unit)
+                output.yaxis(r"\rm{ln(P)/(t \lambda^2)}", output.y_unit)  # Adjust label to ln P/(lam^2 t), remove lam column refs
 
-                output.xaxis("\\rm{z}", output.x_unit)
-                output.yaxis("\\rm{ln(P)/(t \lambda^2)}", output.y_unit)  # Adjust label to ln P/(lam^2 t), remove lam column refs
                 # Store loading process information
                 output.meta_data['loader'] = self.type_name
@@ -151,5 +152,5 @@
                 zaccept_unit_split = paramnames[7].split("[")
                 zaccept_unit = zaccept_unit_split[1].replace("]","")
-                if zaccept_unit.strip() == '\AA^-1' or zaccept_unit.strip() == '\A^-1':
+                if zaccept_unit.strip() == r'\AA^-1' or zaccept_unit.strip() == r'\A^-1':
                     zaccept_unit = "1/A"
                 output.sample.zacceptance=(float(paramvals[7]),zaccept_unit)
Index: src/sas/sasgui/perspectives/fitting/fitpage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitpage.py	(revision 24fd27a2f35f316c4971c10c5c3a317dd9357597)
+++ src/sas/sasgui/perspectives/fitting/fitpage.py	(revision 3d5521989589282c6dd46e1dd009a43a8001a35e)
@@ -362,5 +362,5 @@
         self.Bind(wx.EVT_RADIOBUTTON, self.onSlitSmear,
                   id=self.slit_smearer.GetId())
-        self.enable_smearer.SetValue(True)
+        self.disable_smearer.SetValue(True)
 
         sizer_smearer.Add(self.disable_smearer, 0, wx.LEFT, 10)
@@ -1934,4 +1934,6 @@
 
             # more disables for 2D
+            di_flag = False
+            dq_flag = False
             if self.data.__class__.__name__ == "Data2D" or \
                         self.enable2D:
@@ -1939,28 +1941,38 @@
                 self.pinhole_smearer.Enable(True)
                 self.default_mask = copy.deepcopy(self.data.mask)
-                if self.data.err_data is None or\
-                        numpy.all(err == 1 for err in self.data.err_data) or \
-                        not numpy.any(self.data.err_data):
-                    self.dI_didata.Enable(False)
-                    self.dI_noweight.SetValue(True)
-                    self.weightbt_string = self.dI_noweight.GetLabelText()
-                else:
-                    self.dI_didata.Enable(True)
-                    self.dI_didata.SetValue(True)
-                    self.weightbt_string = self.dI_didata.GetLabelText()
+                if self.data.err_data is not None \
+                        and numpy.any(self.data.err_data):
+                    di_flag = True
+                if self.data.dqx_data is not None \
+                        and numpy.any(self.data.dqx_data):
+                    dq_flag = True
             else:
                 self.slit_smearer.Enable(True)
                 self.pinhole_smearer.Enable(True)
-
-                if self.data.dy is None or\
-                     numpy.all(self.data.dy == 1) or\
-                     not numpy.any(self.data.dy):
-                    self.dI_didata.Enable(False)
-                    self.dI_noweight.SetValue(True)
-                    self.weightbt_string = self.dI_noweight.GetLabelText()
-                else:
-                    self.dI_didata.Enable(True)
-                    self.dI_didata.SetValue(True)
-                    self.weightbt_string = self.dI_didata.GetLabelText()
+                if self.data.dy is not None and numpy.any(self.data.dy):
+                    di_flag = True
+                if self.data.dx is not None and numpy.any(self.data.dx):
+                    dq_flag = True
+                elif self.data.dxl is not None and numpy.any(self.data.dxl):
+                    dq_flag = True
+
+            if dq_flag:
+                self.enable_smearer.Enable(True)
+                self.enable_smearer.SetValue(True)
+                self.disable_smearer.SetValue(False)
+            else:
+                self.enable_smearer.Disable()
+                self.disable_smearer.Enable(True)
+                self.disable_smearer.SetValue(True)
+
+            if di_flag:
+                self.dI_didata.Enable(True)
+                self.dI_didata.SetValue(True)
+                self.weightbt_string = self.dI_didata.GetLabelText()
+            else:
+                self.dI_didata.Enable(False)
+                self.dI_noweight.SetValue(True)
+                self.weightbt_string = self.dI_noweight.GetLabelText()
+
             # Enable weighting radio buttons
             self.dI_noweight.Enable(True)
@@ -2004,4 +2016,5 @@
             self.EditMask_title.Disable()
 
+        self.onSmear(event=None)
         self.on_set_focus(None)
         self.Refresh()
