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 345e7e4a8c6f5977c8c07032553b5ab00bdf837d)
+++ src/sas/sascalc/dataloader/readers/sesans_reader.py	(revision 95253581a7278bcefffb1c4770afed962b126cd7)
@@ -166,6 +166,6 @@
                 output.dlam, output.dlam_unit = self._unit_conversion(dlam, lam_unit, default_z_unit)
 
-                output.xaxis("\rm{z}", output.x_unit)
-                output.yaxis("\\rm{P/P0}", output.y_unit)
+                output.xaxis(r"\rm{z}", output.x_unit)
+                output.yaxis(r"\rm{P/P0}", output.y_unit)
                 # Store loading process information
                 output.meta_data['loader'] = self.type_name
@@ -175,5 +175,5 @@
                 zaccept_unit_split = paramnames[7].split("[")
                 zaccept_unit = zaccept_unit_split[1].replace("]","")
-                if zaccept_unit.strip() == '\AA^-1':
+                if zaccept_unit.strip() == r'\AA^-1':
                     zaccept_unit = "1/A"
                 output.sample.zacceptance=(float(paramvals[7]),zaccept_unit)
Index: src/sas/sasgui/guiframe/CategoryInstaller.py
===================================================================
--- src/sas/sasgui/guiframe/CategoryInstaller.py	(revision 212bfc297ca102b648c949f030d3d06a4c569fa3)
+++ src/sas/sasgui/guiframe/CategoryInstaller.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
@@ -123,5 +123,6 @@
         compile it and install
         :param homefile: Override the default home directory
-        :param model_list: List of model names except customized models
+        :param model_list: List of model names except those in Plugin Models
+               which are user supplied.
         """
         _model_dict = { model.name: model for model in model_list}
Index: src/sas/sasgui/perspectives/calculator/model_editor.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/model_editor.py	(revision a08b89bdf5a13632196725c27a97760f06d09e9c)
+++ src/sas/sasgui/perspectives/calculator/model_editor.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
@@ -5,9 +5,9 @@
 function of y (usually the intensity).  It also provides a drop down of
 standard available math functions.  Finally a full python editor panel for
-complete customizatin is provided.
-
-:TODO the writiong of the file and name checking (and maybe some other
-funtions?) should be moved to a computational module which could be called
-fropm a python script.  Basically one just needs to pass the name,
+complete customization is provided.
+
+:TODO the writing of the file and name checking (and maybe some other
+functions?) should be moved to a computational module which could be called
+from a python script.  Basically one just needs to pass the name,
 description text and function text (or in the case of the composite editor
 the names of the first and second model and the operator to be used).
@@ -61,5 +61,5 @@
     """
     Dialog for easy custom composite models.  Provides a wx.Dialog panel
-    to choose two existing models (including pre-existing custom models which
+    to choose two existing models (including pre-existing Plugin Models which
     may themselves be composite models) as well as an operation on those models
     (add or multiply) the resulting model will add a scale parameter for summed
@@ -380,5 +380,5 @@
             color = 'blue'
         except:
-            msg = "Easy Custom Sum/Multipy: Error occurred..."
+            msg = "Easy Sum/Multipy Plugin: Error occurred..."
             info = 'Error'
             color = 'red'
@@ -501,5 +501,5 @@
         self.factor = factor
         self._operator = operator
-        self.explanation = "  Custom Model = %s %s (model1 %s model2)\n" % \
+        self.explanation = "  Plugin Model = %s %s (model1 %s model2)\n" % \
                            (self.factor, f_oper, self._operator)
         self.explanationctr.SetLabel(self.explanation)
@@ -617,5 +617,5 @@
 class EditorPanel(wx.ScrolledWindow):
     """
-    Custom model function editor
+    Simple Plugin Model function editor
     """
     def __init__(self, parent, base, path, title, *args, **kwds):
@@ -652,5 +652,7 @@
         self.msg_sizer = None
         self.warning = ""
-        self._description = "New Custom Model"
+        #This does not seem to be used anywhere so commenting out for now
+        #    -- PDB 2/26/17 
+        #self._description = "New Plugin Model"
         self.function_tcl = None
         self.math_combo = None
@@ -991,5 +993,5 @@
         else:
             self._notes = result
-            msg = "Successful! Please look for %s in Customized Models."%name
+            msg = "Successful! Please look for %s in Plugin Models."%name
             msg += "  " + self._notes
             info = 'Info'
@@ -1138,5 +1140,5 @@
     def on_help(self, event):
         """
-        Bring up the Custom Model Editor Documentation whenever
+        Bring up the New Plugin Model Editor Documentation whenever
         the HELP button is clicked.
 
@@ -1190,5 +1192,5 @@
         #self.Destroy()
 
-## Templates for custom models
+## Templates for plugin models
 
 CUSTOM_TEMPLATE = """
Index: src/sas/sasgui/perspectives/calculator/pyconsole.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/pyconsole.py	(revision d472e86b1c34df53a9ab5a44426b8256aaa39d4d)
+++ src/sas/sasgui/perspectives/calculator/pyconsole.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
@@ -302,5 +302,5 @@
         success = show_model_output(self, fname)
 
-        # Update custom model list in fitpage combobox
+        # Update plugin model list in fitpage combobox
         if success and self._manager != None and self.panel != None:
             self._manager.set_edit_menu_helper(self.parent)
Index: src/sas/sasgui/perspectives/fitting/fitpage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitpage.py	(revision 4387385bfe0874b83ed969fc4912dd05f59bdba8)
+++ 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()
Index: src/sas/sasgui/perspectives/fitting/fitting.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitting.py	(revision e92a35222de59b469e74be44064685ec4edc7c19)
+++ src/sas/sasgui/perspectives/fitting/fitting.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
@@ -1964,5 +1964,6 @@
                 ## then kill itself but cannot.  Paul Kienzle came up with
                 ## this fix to prevent threads from stepping on each other
-                ## which was causing a simple custom model to crash Sasview.
+                ## which was causing a simple custom plugin model to crash
+                ##Sasview.
                 ## We still don't know why the fit sometimes lauched a second
                 ## thread -- something which should also be investigated.
Index: src/sas/sasgui/perspectives/fitting/media/fitting_help.rst
===================================================================
--- src/sas/sasgui/perspectives/fitting/media/fitting_help.rst	(revision 26c8be33b9ea774c36c0d8fe18b190e6d1cfb90f)
+++ src/sas/sasgui/perspectives/fitting/media/fitting_help.rst	(revision 5295cf5164af9572978a04500767b155d0356342)
@@ -34,5 +34,7 @@
 *  in *Single* fit mode - individual data sets are fitted independently one-by-one
 
-*  in *Simultaneous* fit mode - multiple data sets are fitted simultaneously to the *same* model with/without constrained parameters (this might be useful, for example, if you have measured the same sample at different contrasts)
+*  in *Simultaneous* fit mode - multiple data sets are fitted simultaneously to
+   the *same* model with/without constrained parameters (this might be useful,
+   for example, if you have measured the same sample at different contrasts)
 
 *  in *Batch* fit mode - multiple data sets are fitted sequentially to the *same* model (this might be useful, for example, if you have performed a kinetic or time-resolved experiment and have *lots* of data sets!)
@@ -43,11 +45,17 @@
 -----------------
 
-By default, the models in SasView are grouped into five categories
-
-*  *Shapes* - models describing 'objects' (spheres, cylinders, etc)
+The models in SasView are grouped into categories. By default these consist of:
+
+*  *Cylinder* - cylindrical shapes (disc, right cylinder, cylinder with endcaps
+   etc)
+*  *Ellipsoid* - ellipsoidal shapes (oblate,prolate, core shell, etc)
+*  *Parellelepiped* - as the name implies
+*  *Sphere* - sheroidal shapes (sphere, core multishell, vesicle, etc)
+*  *Lamellae* - lamellar shapes (lamellar, core shell lamellar, stacked
+   lamellar, etc)
 *  *Shape-Independent* - models describing structure in terms of density correlation functions, fractals, peaks, power laws, etc
-*  *Customized Models* - SasView- or User-created (non-library) Python models
-*  *Uncategorised* - other models (for reflectivity, etc)
+*  *Paracrystal* - semi ordered structures (bcc, fcc, etc)
 *  *Structure Factor* - S(Q) models
+*  *Plugin Models* - User-created (custom/non-library) Python models
 
 Use the *Category* drop-down menu to chose a category of model, then select
@@ -84,7 +92,7 @@
 .. image:: cat_fig0.bmp
 
-The categorization of all models except the customized models can be reassigned,
-added to, and removed using *Category Manager*. Models can also be hidden from view
-in the drop-down menus.
+The categorization of all models except the user supplied Plugin Models can be
+reassigned, added to, and removed using *Category Manager*. Models can also be
+hidden from view in the drop-down menus.
 
 .. image:: cat_fig1.bmp
@@ -93,7 +101,7 @@
 ^^^^^^^^^^^^^^^^^
 
-To change category, highlight a model in the list by left-clicking on its entry and
-then click the *Modify* button. Use the *Change Category* panel that appears to make
-the required changes.
+To change category, highlight a model in the list by left-clicking on its entry
+and then click the *Modify* button. Use the *Change Category* panel that appears
+to make the required changes.
 
 .. image:: cat_fig2.bmp
@@ -106,7 +114,7 @@
 ^^^^^^^^^^^^^^^^^^^^^
 
-Use the *Enable All / Disable All* buttons and the check boxes beside each model to
-select the models to show/hide. To apply the selection, click *Ok*. Otherwise click
-*Cancel*.
+Use the *Enable All / Disable All* buttons and the check boxes beside each model
+to select the models to show/hide. To apply the selection, click *Ok*. Otherwise
+click *Cancel*.
 
 *NB: It may be necessary to change to a different category and then back again*
@@ -118,5 +126,6 @@
 ---------------
 
-For a complete list of all the library models available in SasView, see the `Model Documentation <../../../index.html>`_ .
+For a complete list of all the library models available in SasView, see
+the `Model Documentation <../../../index.html>`_ .
 
 It is also possible to add your own models.
@@ -131,7 +140,11 @@
 There are essentially three ways to generate new fitting models for SasView:
 
-* Using the SasView :ref:`New_Plugin_Model` helper dialog (best for beginners and/or relatively simple models)
-* By copying/editing an existing model (this can include models generated by the *New Plugin Model* dialog) in the :ref:`Python_shell` or :ref:`Advanced_Plugin_Editor` (suitable for all use cases)
-* By writing a model from scratch outside of SasView (only recommended for code monkeys!)
+*  Using the SasView :ref:`New_Plugin_Model` helper dialog (best for beginners
+   and/or relatively simple models)
+*  By copying/editing an existing model (this can include models generated by
+   the New Plugin Model* dialog) in the :ref:`Python_shell` or 
+   :ref:`Advanced_Plugin_Editor` (suitable for all use cases)
+*  By writing a model from scratch outside of SasView (only recommended for code
+   monkeys!)
 
 Please read the guidance on :ref:`Writing_a_Plugin` before proceeding.
@@ -163,6 +176,6 @@
 ^^^^^^^^^^^^^^^^
 
-Relatively straightforward models can be programmed directly from the SasView GUI 
-using the *New Plugin Model Function*.
+Relatively straightforward models can be programmed directly from the SasView
+GUI using the *New Plugin Model Function*.
 
 .. image:: new_model.bmp
@@ -175,7 +188,7 @@
 *checked*\ .
 
-Also note that the 'Fit Parameters' have been split into two sections: those which 
-can be polydisperse (shape and orientation parameters) and those which are not
-(eg, scattering length densities).
+Also note that the 'Fit Parameters' have been split into two sections: those
+which can be polydisperse (shape and orientation parameters) and those which are
+not (eg, scattering length densities).
 
 A model file generated by this option can be viewed and further modified using
@@ -187,11 +200,11 @@
 .. image:: sum_model.bmp
 
-This option creates a custom model of the form::
-
-     Custom Model = scale_factor \* {(scale_1 \* model_1) \+ (scale_2 \* model_2)} \+ background
+This option creates a custom Plugin Model of the form::
+
+     Plugin Model = scale_factor * {(scale_1 * model_1) +/- (scale_2 * model_2)} + background
 
 or::
 
-     Custom Model = scale_factor \* model_1 \* model_2 \+ background
+     Plugin Model = scale_factor * model_1 /* model_2 + background
 
 In the *Easy Sum/Multi Editor* give the new model a function name and brief
@@ -232,10 +245,11 @@
 Simply highlight the plugin model to be removed. The operation is final!!!
 
-*NB: Plugin models shipped with SasView cannot be removed in this way.*
+*NB: Models shipped with SasView cannot be removed in this way.*
 
 Load Plugin Models
 ^^^^^^^^^^^^^^^^^^
 
-This option loads (or re-loads) all models present in the *~\\.sasview\\plugin_models* folder.
+This option loads (or re-loads) all models present in the
+*~\\.sasview\\plugin_models* folder.
 
 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
@@ -400,6 +414,6 @@
 :ref:`Assessing_Fit_Quality`.
 
-*NB: If you need to use a customized model, you must ensure that model is available*
-*first (see* :ref:`Adding_your_own_models` *).*
+*NB: If you need to use a custom Plugin Model, you must ensure that model is
+available first (see* :ref:`Adding_your_own_models` *).*
 
 Method
@@ -484,8 +498,8 @@
 If multiple data sets are in one file, load just that file. *Unselect All Data*, then
 select a single initial data set to be fitted. Fit that selected data set as described
-above under :ref:`Single_Fit_Mode` .
-
-*NB: If you need to use a customized model, you must ensure that model is available*
-*first (see* :ref:`Adding_your_own_models` *).*
+above under :ref:`Single_Fit_Mode`.
+
+*NB: If you need to use a custom Plugin Model, you must ensure that model is
+available first (see* :ref:`Adding_your_own_models` *).*
 
 Method
Index: src/sas/sasgui/perspectives/fitting/media/plugin.rst
===================================================================
--- src/sas/sasgui/perspectives/fitting/media/plugin.rst	(revision ca6cbc1cb491a7c62055c86b9919549b87b000bc)
+++ src/sas/sasgui/perspectives/fitting/media/plugin.rst	(revision 5295cf5164af9572978a04500767b155d0356342)
@@ -27,5 +27,5 @@
 
 the next time SasView is started it will compile the plugin and add
-it to the list of *Customized Models* in a FitPage.
+it to the list of *Plugin Models* in a FitPage.
 
 SasView models can be of three types:
