Index: calculatorview/src/sans/perspectives/calculator/gen_scatter_panel.py
===================================================================
--- calculatorview/src/sans/perspectives/calculator/gen_scatter_panel.py	(revision dbc5dc9b21e953e43e7d6a054b2231a04fd6ae84)
+++ calculatorview/src/sans/perspectives/calculator/gen_scatter_panel.py	(revision 077207b6b372359fccfa9c24e531eb0d4c09b14f)
@@ -20,12 +20,6 @@
 
 from data_util.calcthread import CalcThread
-#from sans.guiframe.local_perspectives.plotting.Plotter2D import ModelPanel2D \
-#                    as PlotPanel
-#from danse.common.plottools.PlotPanel import PlotPanel
-#from danse.common.plottools.SimplePlot import PlotFrame
 from sans.guiframe.local_perspectives.plotting.SimplePlot import PlotFrame
-#from danse.common.plottools.plottables import Graph
 from sans.guiframe.dataFitting import Data2D
-#from sans.guiframe.utils import PanelMenu
 from sans.dataloader.data_info import Detector
 from sans.dataloader.data_info import Source
@@ -38,7 +32,6 @@
 from wx.lib.scrolledpanel import ScrolledPanel
 from sans.perspectives.calculator.load_thread import GenReader
-#import matplotlib.pyplot as plt
 from danse.common.plottools.arrow3d import Arrow3D
-#from danse.common.plottools.toolbar import NavigationToolBar
+
 _BOX_WIDTH = 76
 #Slit length panel size 
@@ -51,5 +44,5 @@
     PANEL_HEIGHT = 370
     FONT_VARIANT = 1
-_QMAX_DEFAULT = 0.1
+_QMAX_DEFAULT = 0.3
 _NPTS_DEFAULT = 50 
 
@@ -434,6 +427,6 @@
         for type in omf_type:
             wildcard.append(type)
-        #for type in pdb_type:
-        #    wildcard.append(type)
+        for type in pdb_type:
+            wildcard.append(type)
         wildcard = '|'.join(wildcard)
         dlg = wx.FileDialog(self, "Choose a file", location,
@@ -474,4 +467,6 @@
             if self.reader is not None and self.reader.isrunning():
                 self.reader.stop()
+            self.browse_button.Enable(False)
+            self.browse_button.SetLabel("Loading...")
             if self.parent.parent is not None:
                 wx.PostEvent(self.parent.parent, 
@@ -482,5 +477,5 @@
                                     updatefn=self.load_update)
             self.reader.queue()
-            self.load_update()
+            #self.load_update()
         except:
             self.ext = None
@@ -496,5 +491,5 @@
         """
         print update on the status bar
-        """
+        """       
         if self.parent.parent is None:
                 return 
@@ -511,4 +506,6 @@
         """
         #compute the slit size
+        self.browse_button.Enable(True)
+        self.browse_button.SetLabel('Load')
         try:
             filename = data.filename
@@ -529,7 +526,6 @@
             self._set_sld_data_helper(True)
         except:
-            #raise
             if self.parent.parent is None:
-                return 
+                raise
             msg = "Loading Error: This file format is not supported "
             msg += "for GenSANS." 
@@ -540,4 +536,5 @@
         if self.parent.parent is None:
             return 
+        
         msg = "Load Complete"
         wx.PostEvent(self.parent.parent, StatusEvent(status=msg, type='stop'))
@@ -619,5 +616,5 @@
         is_zero = sld_tot == 0.0  
         if is_zero.any():
-            ax.plot(pos_x[is_zero], pos_y[is_zero], pos_z[is_zero], marker, 
+            ax.plot(pos_x[is_zero], pos_z[is_zero], pos_y[is_zero], marker, 
                         c="y", alpha=0.5, markeredgecolor='y', 
                         markersize=m_size) 
@@ -629,6 +626,6 @@
             sld_mz = sld_mz[is_nonzero]
 
-        ax.plot(pos_x, pos_y, 
-                pos_z, marker, c="k", 
+        ax.plot(pos_x, pos_z, pos_y, 
+                marker, c="k", 
                 alpha=0.5, markeredgecolor="k", markersize=m_size) 
         
@@ -671,6 +668,6 @@
                                                       color_z))
                         
-                        arrows = Arrow3D(panel, x_arrow, y_arrow, 
-                                                  z_arrow, colors, 
+                        arrows = Arrow3D(panel, x_arrow, z_arrow, y_arrow, 
+                                                  colors, 
                                                   mutation_scale=10, lw=1, 
                                                   arrowstyle="->", alpha = 0.5)
@@ -692,7 +689,9 @@
         panel.subplot.figure.subplots_adjust(left=0.05, right=0.95, 
                                              bottom=0.05, top=0.96)
+        # Use y, z axes (in mpl 3d) as z, y axes 
+        # that consistent with SANS coords.
         ax.set_xlabel('x ($\A%s$)'% output.pos_unit)
-        ax.set_ylabel('y ($\A%s$)'% output.pos_unit)
-        ax.set_zlabel('z ($\A%s$)'% output.pos_unit)
+        ax.set_ylabel('z ($\A%s$)'% output.pos_unit)
+        ax.set_zlabel('y ($\A%s$)'% output.pos_unit)
         num_graph = str(self.graph_num)
         frame.SetTitle('Graph %s: %s'% (num_graph, graph_title))        
@@ -1137,5 +1136,6 @@
         
         self.npixels_sizer = wx.BoxSizer(wx.HORIZONTAL)
-        self.box_sld = wx.StaticBox(self, -1, str("Mean SLD"))
+        self.box_sld = wx.StaticBox(self, -1, 
+                                    str("Scattering Length (Density)"))
         self.box_node = wx.StaticBox(self, -1, str("Nodes"))
         self.boxsizer_sld = wx.StaticBoxSizer(self.box_sld, wx.VERTICAL)
@@ -1360,4 +1360,5 @@
     def set_sld_ctr(self, sld_data):
         """
+        Set sld textctrls
         """
         if sld_data == None:
@@ -1375,5 +1376,6 @@
                     max_val = numpy.max(sld_list[key])
                     mean_val = numpy.mean(sld_list[key])
-                    enable = (min_val == max_val)
+                    enable = (min_val == max_val) and \
+                             sld_data.pix_type == 'pixel'
                     ctr_list[1].SetValue(format_number(mean_val, True))
                     ctr_list[1].Enable(enable)
Index: calculatorview/src/sans/perspectives/calculator/media/gen_sans_help.html
===================================================================
--- calculatorview/src/sans/perspectives/calculator/media/gen_sans_help.html	(revision 318b5bbbcb046db18a8e953dccae04fc7b8a71e0)
+++ calculatorview/src/sans/perspectives/calculator/media/gen_sans_help.html	(revision 077207b6b372359fccfa9c24e531eb0d4c09b14f)
@@ -112,4 +112,13 @@
 </p>
 <br>
-*Note: The values of 'Up_frac_i' and 'Up_frac_f' must be in the range between 0 and 1.
+*Note I: The values of 'Up_frac_i' and 'Up_frac_f' must be in the range between 0 and 1.
+For example, both values are 0.5 for unpolarized neutrons.
+<br>
+*Note II: The unit of intensity calculated from .sld, .omf, or .txt files is 1/cm, otherwise
+it is &#197;<sup>2</sup>. (In the first equation above, the V is set to 1.)
+<br>
+*Note III: This computation is totally based on the pixel (or atomic) data fixed
+in the xyz coordinates. Thus no angular orientational averaging is considered.
+<br>
+*Note IV: For the neutron scattering length density, only the its real component is taken account.
 </body>
