Index: prview/perspectives/pr/explore_dialog.py
===================================================================
--- prview/perspectives/pr/explore_dialog.py	(revision 3b865c1c4def21c9b42b810f54dbd060e14645f8)
+++ prview/perspectives/pr/explore_dialog.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -1,16 +1,21 @@
+
+################################################################################
+#This software was developed by the University of Tennessee as part of the
+#Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
+#project funded by the US National Science Foundation. 
+#
+#See the license text in license.txt
+#
+#copyright 2009, University of Tennessee
+################################################################################
+
 """
-    Dialog panel to explore the P(r) inversion results for a range
-    of D_max value. User picks a number of points and a range of
-    distances, then can toggle between inversion outputs and see
-    their distribution as a function of D_max.
+Dialog panel to explore the P(r) inversion results for a range
+of D_max value. User picks a number of points and a range of
+distances, then can toggle between inversion outputs and see
+their distribution as a function of D_max.
+"""
     
-    This software was developed by the University of Tennessee as part of the
-    Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-    project funded by the US National Science Foundation. 
-
-    See the license text in license.txt
-
-    copyright 2009, University of Tennessee
-"""
+
 import wx
 import numpy
@@ -37,14 +42,15 @@
 class OutputPlot(PlotPanel):
     """
-        Plot panel used to show the selected results as a function
-        of D_max
+    Plot panel used to show the selected results as a function
+    of D_max
     """
     def __init__(self, d_min, d_max, parent, id = -1, color = None,\
         dpi = None, style = wx.NO_FULL_REPAINT_ON_RESIZE, **kwargs):
         """
-            Initialization. The parameters added to PlotPanel are:
-            
-            @param d_min: Minimum value of D_max to explore
-            @param d_max: Maximum value of D_max to explore
+        Initialization. The parameters added to PlotPanel are:
+        
+        :param d_min: Minimum value of D_max to explore
+        :param d_max: Maximum value of D_max to explore
+        
         """
         PlotPanel.__init__(self, parent, id = id, style = style, **kwargs)
@@ -74,7 +80,7 @@
     def onContextMenu(self, event):
         """
-            Default context menu for the plot panel
-            
-            #TODO: Would be nice to add printing and log/linear scales.
+        Default context menu for the plot panel
+        
+        :TODO: Would be nice to add printing and log/linear scales.
             The current verison of plottools no longer plays well with 
             plots outside of guiframe. Guiframe team needs to fix this. 
@@ -95,14 +101,13 @@
         self.PopupMenu(slicerpop, pos)
 
-        
 class Results:
     """
-        Class to hold the inversion output parameters
-        as a function of D_max
+    Class to hold the inversion output parameters
+    as a function of D_max
     """
     def __init__(self):
         """
-            Initialization. Create empty arrays
-            and dictionary of labels.
+        Initialization. Create empty arrays
+        and dictionary of labels.
         """
         # Array of output for each inversion
@@ -128,14 +133,15 @@
 class ExploreDialog(wx.Dialog):
     """
-        The explorer dialog box. This dialog is meant to be
-        invoked by the InversionControl class.
+    The explorer dialog box. This dialog is meant to be
+    invoked by the InversionControl class.
     """
     
     def __init__(self, pr_state, nfunc, *args, **kwds):
         """
-            Initialization. The parameters added to Dialog are:
-            
-            @param pr_state: sans.pr.invertor.Invertor object
-            @param nfunc: Number of terms in the expansion
+        Initialization. The parameters added to Dialog are:
+        
+        :param pr_state: sans.pr.invertor.Invertor object
+        :param nfunc: Number of terms in the expansion
+        
         """
         kwds["style"] = wx.RESIZE_BORDER|wx.DEFAULT_DIALOG_STYLE
@@ -174,5 +180,5 @@
     class Event:
         """
-            Class that holds the content of the form
+        Class that holds the content of the form
         """
         ## Number of points to be plotted
@@ -185,8 +191,9 @@
     def _get_values(self, event=None):
         """
-            Invoked when the user changes a value of the form.
-            Check that the values are of the right type.
-            
-            @return: ExploreDialog.Event object if the content is good, None otherwise
+        Invoked when the user changes a value of the form.
+        Check that the values are of the right type.
+        
+        :return: ExploreDialog.Event object if the content is good, 
+            None otherwise
         """
         # Flag to make sure that all values are good
@@ -237,6 +244,6 @@
     def _plot_output(self, event=None):
         """
-            Invoked when a new output type is selected for plotting, 
-            or when a new computation is finished.
+        Invoked when a new output type is selected for plotting, 
+        or when a new computation is finished.
         """
         # Get the output type selection
@@ -264,5 +271,5 @@
     def __do_layout(self):
         """
-            Do the layout of the dialog
+        Do the layout of the dialog
         """
         # Dialog box properties
@@ -337,6 +344,6 @@
     def _recalc(self, event=None):
         """
-            Invoked when the user changed a value on the form.
-            Process the form and compute the output to be plottted.
+        Invoked when the user changed a value on the form.
+        Process the form and compute the output to be plottted.
         """
         # Get the content of the form
@@ -381,8 +388,11 @@
             
 ##### testing code ############################################################
+"""
+Example: ::
+
 class MyApp(wx.App):
-    """
-        Test application used to invoke the ExploreDialog for testing
-    """
+    
+    #Test application used to invoke the ExploreDialog for testing
+   
     def OnInit(self):
         from inversion_state import Reader
@@ -391,8 +401,8 @@
         
         def call_back(state, datainfo=None):
-            """
-                Dummy call-back method used by the P(r) 
-                file reader.
-            """
+            
+            #Dummy call-back method used by the P(r) 
+            #file reader.
+            
             print state
             
@@ -429,3 +439,4 @@
     app = MyApp(0)
     app.MainLoop()
- 
+    
+""" 
Index: prview/perspectives/pr/inversion_panel.py
===================================================================
--- prview/perspectives/pr/inversion_panel.py	(revision 9bc4ed2370756db476162e75f0b6bfa1dcc05534)
+++ prview/perspectives/pr/inversion_panel.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -17,4 +17,6 @@
 
 class InversionControl(ScrolledPanel):
+    """
+    """
     window_name = 'pr_control'
     window_caption = "P(r) control panel"
@@ -27,4 +29,6 @@
     
     def __init__(self, parent, id = -1, plots = None, standalone=False, **kwargs):
+        """
+        """
         ScrolledPanel.__init__(self, parent, id = id, **kwargs)
         self.SetupScrolling()
@@ -85,5 +89,5 @@
     def __setattr__(self, name, value):
         """
-            Allow direct hooks to text boxes
+        Allow direct hooks to text boxes
         """
         if name=='nfunc':
@@ -138,5 +142,5 @@
     def __getattr__(self, name):
         """
-            Allow direct hooks to text boxes
+        Allow direct hooks to text boxes
         """
         if name=='nfunc':
@@ -234,7 +238,7 @@
     def _save_state(self, evt=None):
         """
-            Method used to create a memento of the current state
+        Method used to create a memento of the current state
             
-            @return: state object 
+        :return: state object 
         """
         # Ask the user the location of the file to write to.
@@ -290,10 +294,10 @@
     def set_state(self, state):
         """
-            Set the state of the panel and inversion problem to
-            the state passed as a parameter.
-            Execute the inversion immediately after filling the 
-            controls.
-            
-            @param state: InversionState object
+        Set the state of the panel and inversion problem to
+        the state passed as a parameter.
+        Execute the inversion immediately after filling the 
+        controls.
+        
+        :param state: InversionState object
         """
         if state.nfunc is not None:
@@ -638,6 +642,6 @@
     def _on_accept_alpha(self, evt):
         """
-            User has accepted the estimated alpha, 
-            set it as part of the input parameters
+        User has accepted the estimated alpha, 
+        set it as part of the input parameters
         """
         try:
@@ -653,6 +657,6 @@
     def _on_accept_nterms(self, evt):
         """
-            User has accepted the estimated number of terms, 
-            set it as part of the input parameters
+        User has accepted the estimated number of terms, 
+        set it as part of the input parameters
         """
         try:
@@ -668,5 +672,5 @@
     def _on_reset(self, evt):
         """
-            Resets inversion parameters
+        Resets inversion parameters
         """
         self.nfunc = self.manager.DEFAULT_NFUNC
@@ -691,7 +695,7 @@
     def _on_pars_changed(self, evt=None):
         """
-            Called when an input parameter has changed
-            We will estimate the alpha parameter behind the
-            scenes. 
+        Called when an input parameter has changed
+        We will estimate the alpha parameter behind the
+        scenes. 
         """
         flag, alpha, dmax, nfunc, qmin, qmax, height, width = self._read_pars()
@@ -711,5 +715,7 @@
                                                  width=width)
         
-    def _read_pars(self, evt=None):    
+    def _read_pars(self, evt=None):
+        """
+        """    
         alpha = 0
         nfunc = 5
@@ -818,5 +824,5 @@
     def _on_explore(self, evt):
         """
-            Invoke the d_max exploration dialog
+        Invoke the d_max exploration dialog
         """
         from explore_dialog import ExploreDialog
@@ -831,6 +837,8 @@
     def _on_invert(self, evt):
         """
-            Perform inversion
-            @param silent: when True, there will be no output for the user 
+        Perform inversion
+        
+        :param silent: when True, there will be no output for the user 
+        
         """
         # Get the data from the form
@@ -858,5 +866,5 @@
     def _change_file(self, evt=None, filepath=None):
         """
-            Choose a new input file for I(q)
+        Choose a new input file for I(q)
         """
         import os
@@ -878,5 +886,9 @@
 
 class HelpDialog(wx.Dialog):
+    """
+    """
     def __init__(self, parent, id):
+        """
+        """
         from sans.pr.invertor import help
         wx.Dialog.__init__(self, parent, id, size=(400, 420))
@@ -913,6 +925,6 @@
 class PrDistDialog(wx.Dialog):
     """
-        Property dialog to let the user change the number
-        of points on the P(r) plot.
+    Property dialog to let the user change the number
+    of points on the P(r) plot.
     """
     def __init__(self, parent, id):
@@ -956,5 +968,5 @@
     def _checkValues(self, event):
         """
-            Check the dialog content.
+        Check the dialog content.
         """
         flag = True
@@ -972,7 +984,7 @@
     def get_content(self):
         """
-            Return the content of the dialog.
-            At this point the values have already been
-            checked.
+        Return the content of the dialog.
+        At this point the values have already been
+        checked.
         """
         value = int(self.npts_ctl.GetValue())
@@ -981,9 +993,12 @@
     def set_content(self, npts):
         """
-            Initialize the content of the dialog.
+        Initialize the content of the dialog.
         """
         self.npts_ctl.SetValue("%i" % npts)
 
 ##### testing code ############################################################
+"""
+Example: ::
+
 class TestPlot:
     def __init__(self, text):
@@ -1006,3 +1021,4 @@
     app.MainLoop()
     
+"""
 ##### end of testing code #####################################################    
Index: prview/perspectives/pr/inversion_state.py
===================================================================
--- prview/perspectives/pr/inversion_state.py	(revision 80d2872603c28aeaffc2a134625c8345db688870)
+++ prview/perspectives/pr/inversion_state.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -1,11 +1,14 @@
-"""
-This software was developed by the University of Tennessee as part of the
-Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-project funded by the US National Science Foundation. 
-
-See the license text in license.txt
-
-copyright 2009, University of Tennessee
-"""
+
+################################################################################
+#This software was developed by the University of Tennessee as part of the
+#Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
+#project funded by the US National Science Foundation. 
+#
+#See the license text in license.txt
+#
+#copyright 2009, University of Tennessee
+################################################################################
+
+
 import time, os, sys
 import logging
@@ -22,5 +25,5 @@
 # Translation of names between stored and object data
 ## List of P(r) inversion inputs 
-in_list=  [["nterms",       "nfunc"],
+in_list =  [["nterms",       "nfunc"],
            ["d_max",        "d_max"],
            ["alpha",        "alpha"],
@@ -31,5 +34,5 @@
 
 ## List of P(r) inversion outputs
-out_list= [["elapsed", "elapsed"],
+out_list = [["elapsed", "elapsed"],
            ["rg",      "rg"],
            ["iq0",     "iq0"],
@@ -44,9 +47,9 @@
 class InversionState(object):
     """
-        Class to hold the state information of the InversionControl panel.
+    Class to hold the state information of the InversionControl panel.
     """
     def __init__(self):
         """
-            Default values
+        Default values
         """
         # Input 
@@ -93,7 +96,8 @@
     def __str__(self):
         """
-            Pretty print
-            
-            @return: string representing the state
+        Pretty print
+        
+        :return: string representing the state
+        
         """
         state  = "File:         %s\n" % self.file
@@ -128,13 +132,15 @@
     def toXML(self, file="pr_state.prv", doc=None, entry_node=None):
         """
-            Writes the state of the InversionControl panel to file, as XML.
-            
-            Compatible with standalone writing, or appending to an
-            already existing XML document. In that case, the XML document
-            is required. An optional entry node in the XML document may also be given.
-            
-            @param file: file to write to
-            @param doc: XML document object [optional]
-            @param entry_node: XML node within the XML document at which we will append the data [optional]
+        Writes the state of the InversionControl panel to file, as XML.
+        
+        Compatible with standalone writing, or appending to an
+        already existing XML document. In that case, the XML document
+        is required. An optional entry node in the XML document may also be given.
+        
+        :param file: file to write to
+        :param doc: XML document object [optional]
+        :param entry_node: XML node within the XML document at which 
+            we will append the data [optional]
+        
         """
         from xml.dom.minidom import getDOMImplementation
@@ -213,8 +219,9 @@
     def fromXML(self, file=None, node=None):
         """
-            Load a P(r) inversion state from a file
-            
-            @param file: .prv file
-            @param node: node of a XML document to read from
+        Load a P(r) inversion state from a file
+        
+        :param file: .prv file
+        :param node: node of a XML document to read from
+        
         """
         if file is not None:
@@ -328,5 +335,5 @@
 class Reader(CansasReader):
     """
-        Class to load a .prv P(r) inversion file
+    Class to load a .prv P(r) inversion file
     """
     ## File type
@@ -340,9 +347,10 @@
     def __init__(self, call_back, cansas=True):
         """
-            Initialize the call-back method to be called
-            after we load a file
-            @param call_back: call-back method
-            @param cansas:  True = files will be written/read in CanSAS format
-                            False = write CanSAS format
+        Initialize the call-back method to be called
+        after we load a file
+        
+        :param call_back: call-back method
+        :param cansas:  True = files will be written/read in CanSAS format
+                        False = write CanSAS format
             
         """
@@ -354,8 +362,10 @@
     def read(self, path):
         """ 
-            Load a new P(r) inversion state from file
-            
-            @param path: file path
-            @return: None
+        Load a new P(r) inversion state from file
+        
+        :param path: file path
+        
+        :return: None
+        
         """
         if self.cansas==True:
@@ -366,9 +376,11 @@
     def _read_standalone(self, path):
         """ 
-            Load a new P(r) inversion state from file.
-            The P(r) node is assumed to be the top element.
-            
-            @param path: file path
-            @return: None
+        Load a new P(r) inversion state from file.
+        The P(r) node is assumed to be the top element.
+        
+        :param path: file path
+        
+        :return: None
+        
         """
         # Read the new state from file
@@ -382,7 +394,10 @@
     def _parse_prstate(self, entry):
         """
-            Read a p(r) inversion result from an XML node
-            @param entry: XML node to read from 
-            @return: InversionState object
+        Read a p(r) inversion result from an XML node
+        
+        :param entry: XML node to read from 
+        
+        :return: InversionState object
+        
         """
         # Create an empty state
@@ -400,12 +415,15 @@
     def _read_cansas(self, path):
         """ 
-            Load data and P(r) information from a CanSAS XML file.
-            
-            @param path: file path
-            @return: Data1D object if a single SASentry was found, 
-                        or a list of Data1D objects if multiple entries were found,
-                        or None of nothing was found
-            @raise RuntimeError: when the file can't be opened
-            @raise ValueError: when the length of the data vectors are inconsistent
+        Load data and P(r) information from a CanSAS XML file.
+        
+        :param path: file path
+        
+        :return: Data1D object if a single SASentry was found, 
+                    or a list of Data1D objects if multiple entries were found,
+                    or None of nothing was found
+                    
+        :raise RuntimeError: when the file can't be opened
+        :raise ValueError: when the length of the data vectors are inconsistent
+        
         """
         output = []
@@ -448,11 +466,11 @@
     def write(self, filename, datainfo=None, prstate=None):
         """
-            Write the content of a Data1D as a CanSAS XML file
-            
-            @param filename: name of the file to write
-            @param datainfo: Data1D object
-            @param prstate: InversionState object
-        """
-
+        Write the content of a Data1D as a CanSAS XML file
+        
+        :param filename: name of the file to write
+        :param datainfo: Data1D object
+        :param prstate: InversionState object
+        
+        """
         # Sanity check
         if self.cansas == True:
Index: prview/perspectives/pr/pr.py
===================================================================
--- prview/perspectives/pr/pr.py	(revision f0ff8d6501ff2bf2838e97d763b08b8aba321c77)
+++ prview/perspectives/pr/pr.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -1,11 +1,13 @@
-"""
-This software was developed by the University of Tennessee as part of the
-Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-project funded by the US National Science Foundation. 
-
-See the license text in license.txt
-
-copyright 2009, University of Tennessee
-"""
+
+################################################################################
+#This software was developed by the University of Tennessee as part of the
+#Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
+#project funded by the US National Science Foundation. 
+#
+#See the license text in license.txt
+#
+#copyright 2009, University of Tennessee
+################################################################################
+
 
 # Make sure the option of saving each curve is available 
@@ -39,5 +41,6 @@
 
 class Plugin:
-    
+    """
+    """
     DEFAULT_ALPHA = 0.0001
     DEFAULT_NFUNC = 10
@@ -45,4 +48,6 @@
     
     def __init__(self, standalone=True):
+        """
+        """
         ## Plug-in name
         self.sub_menu = "Pr inversion"
@@ -114,9 +119,10 @@
     def set_state(self, state, datainfo=None):
         """
-            Call-back method for the inversion state reader.
-            This method is called when a .prv file is loaded.
-            
-            @param state: InversionState object
-            @param datainfo: Data1D object [optional]
+        Call-back method for the inversion state reader.
+        This method is called when a .prv file is loaded.
+        
+        :param state: InversionState object
+        :param datainfo: Data1D object [optional]
+        
         """
         try:
@@ -150,5 +156,5 @@
     def populate_menu(self, id, owner):
         """
-            Create a menu for the plug-in
+        Create a menu for the plug-in
         """
         return []
@@ -156,6 +162,8 @@
     def help(self, evt):
         """
-            Show a general help dialog. 
-            TODO: replace the text with a nice image
+        Show a general help dialog. 
+        
+        :TODO: replace the text with a nice image
+        
         """
         from inversion_panel import HelpDialog
@@ -167,4 +175,6 @@
     
     def _fit_pr(self, evt):
+        """
+        """
         from sans.pr.invertor import Invertor
         import numpy
@@ -178,5 +188,4 @@
         d_max  = 2*radius
         
-        
         r = pylab.arange(0.01, d_max, d_max/51.0)
         M = len(r)
@@ -191,8 +200,5 @@
             pr_err[j] = math.sqrt(y[j])
 
-            
         y = y/sum*d_max/len(r)
-
-
 
         # Perform fit
@@ -207,5 +213,4 @@
             print "%g +- %g" % (out[i], math.sqrt(cov[i][i]))
 
-
         # Show input P(r)
         new_plot = Data1D(pr.x, pr.y, dy=pr.err)
@@ -222,6 +227,7 @@
         self.show_iq(out, pr, q)
         
-        
     def show_shpere(self, x, radius=70.0, x_range=70.0):
+        """
+        """
         import numpy
         import pylab
@@ -251,5 +257,5 @@
     def get_npts(self):
         """
-            Returns the number of points in the I(q) data
+        Returns the number of points in the I(q) data
         """
         try:
@@ -259,4 +265,6 @@
         
     def show_iq(self, out, pr, q=None):
+        """
+        """
         import numpy
         import pylab
@@ -334,5 +342,5 @@
     def _on_pr_npts(self, evt):
         """
-            Redisplay P(r) with a different number of points
+        Redisplay P(r) with a different number of points
         """   
         from inversion_panel import PrDistDialog
@@ -348,4 +356,6 @@
         
     def show_pr(self, out, pr, cov=None):
+        """
+        """
         import numpy
         import pylab
@@ -402,5 +412,4 @@
     def choose_file(self, path=None):
         """
-        
         """
         #TODO: this should be in a common module
@@ -410,6 +419,6 @@
     def load(self, path):
         """
-            Load data. This will eventually be replaced
-            by our standard DataLoader class.
+        Load data. This will eventually be replaced
+        by our standard DataLoader class.
         """
         class FileData:
@@ -458,5 +467,5 @@
     def load_columns(self, path = "sphere_60_q0_2.txt"):
         """
-            Load 2- or 3- column ascii
+        Load 2- or 3- column ascii
         """
         import numpy, math, sys
@@ -502,7 +511,10 @@
     def load_abs(self, path):
         """
-            Load an IGOR .ABS reduced file
-            @param path: file path
-            @return: x, y, err vectors
+        Load an IGOR .ABS reduced file
+        
+        :param path: file path
+        
+        :return: x, y, err vectors
+        
         """
         import numpy, math, sys
@@ -551,9 +563,6 @@
         return data_x, data_y, data_err     
         
-        
-        
     def pr_theory(self, r, R):
-        """
-           
+        """  
         """
         if r<=2*R:
@@ -564,7 +573,10 @@
     def get_context_menu(self, graph=None):
         """
-            Get the context menu items available for P(r)
-            @param graph: the Graph object to which we attach the context menu
-            @return: a list of menu items with call-back function
+        Get the context menu items available for P(r)
+        
+        :param graph: the Graph object to which we attach the context menu
+        
+        :return: a list of menu items with call-back function
+        
         """
         # Look whether this Graph contains P(r) data
@@ -604,6 +616,8 @@
     def _on_disable_scaling(self, evt):
         """
-            Disable P(r) scaling
-            @param evt: Menu event
+        Disable P(r) scaling
+            
+        :param evt: Menu event
+        
         """
         self._normalize_output = False
@@ -623,8 +637,9 @@
     def _on_normalize(self, evt):
         """
-            Normalize the area under the P(r) curve to 1.
-            This operation is done for all displayed plots.
-            
-            @param evt: Menu event
+        Normalize the area under the P(r) curve to 1.
+        This operation is done for all displayed plots.
+        
+        :param evt: Menu event
+        
         """
         self._normalize_output = True
@@ -647,12 +662,11 @@
             wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, update=True,
                                                    title=self._added_plots[plot].name))
-                
-        
         
     def _on_scale_unity(self, evt):
         """
-            Scale the maximum P(r) value on each displayed plot to 1.
-            
-            @param evt: Menu event
+        Scale the maximum P(r) value on each displayed plot to 1.
+        
+        :param evt: Menu event
+        
         """
         self._scale_output_unity = True
@@ -680,6 +694,8 @@
     def _on_add_data(self, evt):
         """
-            Add a data curve to the plot
-            WARNING: this will be removed once guiframe.plotting has its full functionality
+        Add a data curve to the plot
+        
+        :WARNING: this will be removed once guiframe.plotting has
+             its full functionality
         """
         path = self.choose_file()
@@ -731,4 +747,6 @@
 
     def start_thread(self):
+        """
+        """
         from pr_thread import CalcPr
         from copy import deepcopy
@@ -744,12 +762,16 @@
     
     def _thread_error(self, error):
+        """
+        """
         wx.PostEvent(self.parent, StatusEvent(status=error))
     
     def _estimate_completed(self, alpha, message, elapsed):
         """
-            Parameter estimation completed, 
-            display the results to the user
-            @param alpha: estimated best alpha
-            @param elapsed: computation time
+        Parameter estimation completed, 
+        display the results to the user
+        
+        :param alpha: estimated best alpha
+        :param elapsed: computation time
+        
         """
         # Save useful info
@@ -765,9 +787,11 @@
     def _estimateNT_completed(self, nterms, alpha, message, elapsed):
         """
-            Parameter estimation completed, 
-            display the results to the user
-            @param alpha: estimated best alpha
-            @param nterms: estimated number of terms
-            @param elapsed: computation time
+        Parameter estimation completed, 
+        display the results to the user
+        
+        :param alpha: estimated best alpha
+        :param nterms: estimated number of terms
+        :param elapsed: computation time
+        
         """
         # Save useful info
@@ -780,11 +804,12 @@
     def _completed(self, out, cov, pr, elapsed):
         """
-            Method called with the results when the inversion
-            is done
-            
-            @param out: output coefficient for the base functions
-            @param cov: covariance matrix
-            @param pr: Invertor instance
-            @param elapsed: time spent computing
+        Method called with the results when the inversion
+        is done
+        
+        :param out: output coefficient for the base functions
+        :param cov: covariance matrix
+        :param pr: Invertor instance
+        :param elapsed: time spent computing
+        
         """
         from copy import deepcopy
@@ -843,7 +868,9 @@
     def show_data(self, path=None, reset=False):
         """
-            Show data read from a file
-            @param path: file path
-            @param reset: if True all other plottables will be cleared
+        Show data read from a file
+        
+        :param path: file path
+        :param reset: if True all other plottables will be cleared
+        
         """
         if path is not None:
@@ -883,10 +910,12 @@
     def save_data(self, filepath, prstate=None):
         """
-            Save data in provided state object.
-            TODO: move the state code away from inversion_panel and move it here. 
-                    Then remove the "prstate" input and make this method private.
-                    
-            @param filepath: path of file to write to
-            @param prstate: P(r) inversion state 
+        Save data in provided state object.
+        
+        :TODO: move the state code away from inversion_panel and move it here. 
+                Then remove the "prstate" input and make this method private.
+                
+        :param filepath: path of file to write to
+        :param prstate: P(r) inversion state 
+        
         """
         #TODO: do we need this or can we use DataLoader.loader.save directly?
@@ -906,4 +935,6 @@
     def setup_plot_inversion(self, alpha, nfunc, d_max, q_min=None, q_max=None, 
                              bck=False, height=0, width=0):
+        """
+        """
         self.alpha = alpha
         self.nfunc = nfunc
@@ -925,4 +956,6 @@
     def estimate_plot_inversion(self, alpha, nfunc, d_max, q_min=None, q_max=None, 
                                 bck=False, height=0, width=0):
+        """
+        """
         self.alpha = alpha
         self.nfunc = nfunc
@@ -944,7 +977,9 @@
     def _create_plot_pr(self, estimate=False):
         """
-            Create and prepare invertor instance from
-            a plottable data set.
-            @param path: path of the file to read in 
+        Create and prepare invertor instance from
+        a plottable data set.
+        
+        :param path: path of the file to read in 
+        
         """
         # Sanity check
@@ -1000,4 +1035,6 @@
     def setup_file_inversion(self, alpha, nfunc, d_max, path, q_min=None, q_max=None, 
                              bck=False, height=0, width=0):
+        """
+        """
         self.alpha = alpha
         self.nfunc = nfunc
@@ -1019,4 +1056,6 @@
     def estimate_file_inversion(self, alpha, nfunc, d_max, path, q_min=None, q_max=None, 
                                 bck=False, height=0, width=0):
+        """
+        """
         self.alpha = alpha
         self.nfunc = nfunc
@@ -1039,7 +1078,9 @@
     def _create_file_pr(self, path):
         """
-            Create and prepare invertor instance from
-            a file data set.
-            @param path: path of the file to read in 
+        Create and prepare invertor instance from
+        a file data set.
+        
+        :param path: path of the file to read in 
+        
         """
         # Load data
@@ -1107,4 +1148,6 @@
         
     def perform_estimate(self):
+        """
+        """
         from pr_thread import EstimatePr
         from copy import deepcopy
@@ -1122,4 +1165,6 @@
     
     def perform_estimateNT(self):
+        """
+        """
         from pr_thread import EstimateNT
         from copy import deepcopy
@@ -1141,5 +1186,6 @@
         
     def perform_inversion(self):
-        
+        """
+        """
         # Time estimate
         #estimated = self.elapsed*self.nfunc**2
@@ -1161,6 +1207,4 @@
             except: 
                 print "%d: %g +- ?" % (i, out[i])        
-        
-        
         
         # Make a plot of I(q) data
Index: prview/perspectives/pr/pr_thread.py
===================================================================
--- prview/perspectives/pr/pr_thread.py	(revision a00ee4c66d0c89066e3a01182fb9607f0f69933a)
+++ prview/perspectives/pr/pr_thread.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -4,5 +4,45 @@
 class CalcPr(CalcThread):
     """
-        Compute P(r)
+    Compute P(r)
+    """
+    
+    def __init__(self, pr, nfunc=5, error_func=None,
+                 completefn = None,
+                 updatefn   = None,
+                 yieldtime  = 0.01,
+                 worktime   = 0.01
+                 ):
+        """
+        """
+        CalcThread.__init__(self,completefn,
+                 updatefn,
+                 yieldtime,
+                 worktime)
+        self.pr = pr
+        self.nfunc = nfunc
+        self.error_func = error_func
+        self.starttime = 0
+        
+    def compute(self):
+        """
+        Perform P(r) inversion
+        """
+        try:
+            self.starttime = time.time()
+            out, cov = self.pr.invert(self.nfunc)
+            #out, cov = self.pr.lstsq(self.nfunc)
+            #out, cov = self.pr.invert_optimize(self.nfunc)
+            elapsed = time.time()-self.starttime
+            self.complete(out=out, cov=cov, pr=self.pr, elapsed=elapsed)
+        except KeyboardInterrupt:
+            # Thread was interrupted, just proceed
+            pass
+        except:
+            if not self.error_func==None:
+                self.error_func("CalcPr.compute: %s" % sys.exc_value)
+
+class EstimatePr(CalcThread):
+    """
+    Estimate P(r)
     """
     
@@ -24,43 +64,5 @@
     def compute(self):
         """
-            Perform P(r) inversion
-        """
-        try:
-            self.starttime = time.time()
-            out, cov = self.pr.invert(self.nfunc)
-            #out, cov = self.pr.lstsq(self.nfunc)
-            #out, cov = self.pr.invert_optimize(self.nfunc)
-            elapsed = time.time()-self.starttime
-            self.complete(out=out, cov=cov, pr=self.pr, elapsed=elapsed)
-        except KeyboardInterrupt:
-            # Thread was interrupted, just proceed
-            pass
-        except:
-            if not self.error_func==None:
-                self.error_func("CalcPr.compute: %s" % sys.exc_value)
-
-class EstimatePr(CalcThread):
-    """
-        Estimate P(r)
-    """
-    
-    def __init__(self, pr, nfunc=5, error_func=None,
-                 completefn = None,
-                 updatefn   = None,
-                 yieldtime  = 0.01,
-                 worktime   = 0.01
-                 ):
-        CalcThread.__init__(self,completefn,
-                 updatefn,
-                 yieldtime,
-                 worktime)
-        self.pr = pr
-        self.nfunc = nfunc
-        self.error_func = error_func
-        self.starttime = 0
-        
-    def compute(self):
-        """
-            Calculates the estimate
+        Calculates the estimate
         """
         try:            
@@ -76,5 +78,6 @@
 
 class EstimateNT(CalcThread):
-    
+    """
+    """
     def __init__(self, pr, nfunc=5, error_func=None,
                  completefn = None,
@@ -96,4 +99,6 @@
 
     def isquit(self):
+        """
+        """
         CalcThread.isquit(self)
         if time.time()>self._time_for_sleep+self._sleep_delay:
@@ -103,5 +108,5 @@
     def compute(self):
         """
-            Calculates the estimate
+        Calculates the estimate
         """
         try:            
Index: prview/perspectives/pr/pr_widgets.py
===================================================================
--- prview/perspectives/pr/pr_widgets.py	(revision 8eeb0b699a3de9ed2bb2b5429680bcf6d25b208c)
+++ prview/perspectives/pr/pr_widgets.py	(revision 7116b6e08b4906240b8a779bf2f7c0f6e2623f6f)
@@ -1,14 +1,15 @@
-"""
-This software was developed by the University of Tennessee as part of the
-Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-project funded by the US National Science Foundation. 
 
-See the license text in license.txt
-
-copyright 2009, University of Tennessee
-"""
+################################################################################
+#This software was developed by the University of Tennessee as part of the
+#Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
+#project funded by the US National Science Foundation. 
+#
+#See the license text in license.txt
+#
+#copyright 2009, University of Tennessee
+################################################################################
 
 """
-    Text controls for input/output of the main PrView panel
+Text controls for input/output of the main PrView panel
 """
 
@@ -18,6 +19,6 @@
 class PrTextCtrl(wx.TextCtrl):
     """
-        Text control for model and fit parameters.
-        Binds the appropriate events for user interactions.
+    Text control for model and fit parameters.
+    Binds the appropriate events for user interactions.
     """
     def __init__(self, *args, **kwds):
@@ -35,7 +36,9 @@
     def _on_set_focus(self, event):
         """
-            Catch when the text control is set in focus to highlight the whole
-            text if necessary
-            @param event: mouse event
+        Catch when the text control is set in focus to highlight the whole
+        text if necessary
+        
+        :param event: mouse event
+        
         """
         event.Skip()
@@ -44,6 +47,8 @@
     def _highlight_text(self, event):
         """
-            Highlight text of a TextCtrl only of no text has be selected
-            @param event: mouse event
+        Highlight text of a TextCtrl only of no text has be selected
+        
+        :param event: mouse event
+        
         """
         # Make sure the mouse event is available to other listeners
@@ -62,9 +67,11 @@
 class OutputTextCtrl(wx.TextCtrl):
     """
-        Text control used to display outputs.
-        No editing allowed. The background is 
-        grayed out. User can't select text.
+    Text control used to display outputs.
+    No editing allowed. The background is 
+    grayed out. User can't select text.
     """
     def __init__(self, *args, **kwds):
+        """
+        """
         wx.TextCtrl.__init__(self, *args, **kwds)
         self.SetEditable(False)
@@ -78,6 +85,6 @@
     def _click(self, event):
         """
-            Prevent further handling of the mouse event
-            by not calling Skip().
+        Prevent further handling of the mouse event
+        by not calling Skip().
         """ 
         pass
@@ -86,12 +93,14 @@
 class DataFileTextCtrl(OutputTextCtrl):
     """
-        Text control used to display only the file name
-        given a full path.
-         
-        TODO: now that we no longer choose the data file from the panel,
+    Text control used to display only the file name
+    given a full path.
+     
+    :TODO: now that we no longer choose the data file from the panel,
         it's no longer necessary to pass around the file path. That code
         should be refactored away and simplified. 
     """
     def __init__(self, *args, **kwds):
+        """
+        """
         OutputTextCtrl.__init__(self, *args, **kwds)
         self._complete_path = None
@@ -99,5 +108,5 @@
     def SetValue(self, value):
         """
-            Sets the file name given a path
+        Sets the file name given a path
         """
         self._complete_path = str(value)
@@ -107,5 +116,5 @@
     def GetValue(self):
         """
-            Return the full path
+        Return the full path
         """
         return self._complete_path
