Removed cruft from procplots & vclamp plugins whose functionality has been replaced.
authorW. Trevor King <wking@drexel.edu>
Sat, 7 Aug 2010 16:27:44 +0000 (12:27 -0400)
committerW. Trevor King <wking@drexel.edu>
Sat, 7 Aug 2010 16:27:44 +0000 (12:27 -0400)
hooke/plugin/procplots.py
hooke/plugin/vclamp.py

index f56010a4fa02f873709146533ca02ffa1cf42897..a2947dd58742b3fe6718fa356c6f1c72ba949c25 100644 (file)
@@ -24,129 +24,6 @@ import lib.prettyformat
 
 class procplotsCommands:
 
-    def _plug_init(self):
-        pass
-
-    def do_convplot(self):
-        '''
-        CONVPLOT
-        (procplots.py)
-        Plots the convolution data of the currently displayed force curve retraction.
-        ------------
-        Syntax:
-        convplot
-        '''
-
-        #need to convert the string that contains the list into a list
-        column = self.GetIntFromConfig('procplots', 'convplot', 'column')
-        convolution = eval(self.GetStringFromConfig('procplots', 'convplot', 'convolution'))
-        row = self.GetIntFromConfig('procplots', 'convplot', 'row')
-        whatset_str = self.GetStringFromConfig('procplots', 'convplot', 'whatset')
-        whatset = []
-        if whatset_str == 'extension':
-            whatset = [lh.EXTENSION]
-        if whatset_str == 'retraction':
-            whatset = [lh.RETRACTION]
-        if whatset_str == 'both':
-            whatset = [lh.EXTENSION, lh.RETRACTION]
-
-        #TODO: add option to keep previous derivplot
-        plot = self.GetDisplayedPlotCorrected()
-
-        for index in whatset:
-            conv_curve = copy.deepcopy(plot.curves[index])
-            #Calculate convolution
-            conv_curve.y = conv_dx(plot.curves[index].y, convolution)
-
-            conv_curve.destination.column = column
-            conv_curve.destination.row = row
-            conv_curve.title = 'Convolution'
-            plot.curves.append(conv_curve)
-
-        #warn if no flattening has been done.
-        if not self.AppliesPlotmanipulator('flatten'):
-            self.AppendToOutput('Flatten manipulator was not applied. Processing was done without flattening.')
-            self.AppendToOutput('Enable the flatten plotmanipulator for better results.')
-
-        self.UpdatePlot(plot)
-
-    def do_derivplot(self):
-        '''
-        Plots the discrete differentiation of the currently displayed force curve.
-        '''
-        column = self.GetIntFromConfig('procplots', 'derivplot', 'column')
-        row = self.GetIntFromConfig('procplots', 'derivplot', 'row')
-        #TODO: what os select good for?
-        select = self.GetBoolFromConfig('procplots', 'derivplot', 'select')
-        whatset_str = self.GetStringFromConfig('procplots', 'derivplot', 'whatset')
-        whatset = []
-        if whatset_str == 'extension':
-            whatset = [lh.EXTENSION]
-        if whatset_str == 'retraction':
-            whatset = [lh.RETRACTION]
-        if whatset_str == 'both':
-            whatset = [lh.EXTENSION, lh.RETRACTION]
-
-        #TODO: add option to keep previous derivplot
-        plot = self.GetDisplayedPlotCorrected()
-
-        for index in whatset:
-            deriv_curve = copy.deepcopy(plot.curves[index])
-            deriv_curve.x = deriv_curve.x[:-1]
-            deriv_curve.y = diff(deriv_curve.y).tolist()
-
-            deriv_curve.destination.column = column
-            deriv_curve.destination.row = row
-            deriv_curve.title = 'Discrete differentiation'
-            deriv_curve.units.y += ' ' + deriv_curve.units.x + '-1'
-            plot.curves.append(deriv_curve)
-
-        self.UpdatePlot(plot)
-
-    def do_replot(self):
-        '''
-        Replots the current force curve from scratch eliminating any secondary plots.
-        '''
-        self.UpdatePlot()
-
-    def do_subtplot(self):
-        '''
-        SUBTPLOT
-        (procplots.py plugin)
-        Plots the difference between retraction and extension of the currently displayed curve
-        -------
-        Syntax: subtplot
-        '''
-
-        #TODO: add option to keep previous subtplot
-        plot = self.GetDisplayedPlotCorrected()
-
-        extension = plot.curves[lh.EXTENSION]
-        retraction = plot.curves[lh.RETRACTION]
-
-        extension, retraction = self.subtract_curves(extension, retraction)
-
-        self.UpdatePlot(plot)
-
-    def subtract_curves(self, minuend, subtrahend):
-        '''
-        calculates: difference = minuend - subtrahend
-        (usually:              extension - retraction
-        '''
-
-        #we want the same number of points for minuend and subtrahend
-        #TODO: is this not already done when normalizing in the driver?
-        maxpoints_tot = min(len(minuend.x), len(subtrahend.x))
-        minuend.x = minuend.x[0:maxpoints_tot]
-        minuend.y = minuend.y[0:maxpoints_tot]
-        subtrahend.x = subtrahend.x[0:maxpoints_tot]
-        subtrahend.y = subtrahend.y[0:maxpoints_tot]
-
-        subtrahend.y = [y_subtrahend - y_minuend for y_subtrahend, y_minuend in zip(subtrahend.y, minuend.y)]
-        minuend.y = [0] * len(minuend.x)
-
-        return minuend, subtrahend
-
 #-----PLOT MANIPULATORS
     def plotmanip_median(self, plot, current, customvalue=False):
         '''
@@ -191,98 +68,3 @@ class procplotsCommands:
         plot.curves[lh.RETRACTION].x = [(zpoint - deflpoint) for zpoint,deflpoint in zip(plot.curves[lh.RETRACTION].x, defl_ret)]
 
         return plot
-
-    def plotmanip_centerzero(self, plot, current, customvalue=False):
-        '''
-        Centers the force curve so the median (the free level) corresponds to 0 N
-        '''
-        #use only for force spectroscopy experiments!
-        if current.driver.experiment != 'smfs':
-            return plot
-
-        if not customvalue:
-            customvalue = self.GetBoolFromConfig('procplots', 'centerzero')
-        if not customvalue:
-            return plot
-
-        levelapp = float(median(plot.curves[lh.EXTENSION].y))
-        levelret = float(median(plot.curves[lh.RETRACTION].y))
-
-        level = (levelapp + levelret)/2
-
-        plot.curves[lh.EXTENSION].y = [i-level for i in plot.curves[lh.EXTENSION].y]
-        plot.curves[lh.RETRACTION].y = [i-level for i in plot.curves[lh.RETRACTION].y]
-
-        return plot
-
-#FFT---------------------------
-    def fft_plot(self, curve, boundaries=[0, -1]):
-        '''
-        calculates the fast Fourier transform for the selected vector in the plot
-        '''
-
-        fftlen = len(curve.y[boundaries[0]:boundaries[1]]) / 2 #need just 1/2 of length
-        curve.x = arange(1, fftlen).tolist()
-
-        try:
-            curve.y = abs(fft(curve.y[boundaries[0]:boundaries[1]])[1:fftlen]).tolist()
-        except TypeError: #we take care of newer NumPy (1.0.x)
-            curve.y = abs(fft.fft(curve.y[boundaries[0]:boundaries[1]])[1:fftlen]).tolist()
-
-        return curve
-
-    def do_fft(self):
-        '''
-        FFT
-        (procplots.py plugin)
-        Plots the fast Fourier transform of the selected plot
-        ---
-        Syntax: fft [top,bottom] [select] [0,1...]
-
-        By default, fft performs the Fourier transform on all the 0-th data set on the
-        top plot.
-
-        [top, bottom]: which plot is the data set to fft (default: top)
-        [select]: you pick up two points on the plot and fft only the segment between
-        [0,1,...]: which data set on the selected plot you want to fft (default: 0)
-        '''
-
-        column = self.GetIntFromConfig('procplots', 'fft', 'column')
-        row = self.GetIntFromConfig('procplots', 'fft', 'row')
-        select = self.GetBoolFromConfig('procplots', 'fft', 'select')
-        whatset_str = self.GetStringFromConfig('procplots', 'fft', 'whatset')
-        whatset = []
-        if whatset_str == 'extension':
-            whatset = [lh.EXTENSION]
-        if whatset_str == 'retraction':
-            whatset = [lh.RETRACTION]
-        if whatset_str == 'both':
-            whatset = [lh.EXTENSION, lh.RETRACTION]
-
-        if select:
-            points = self._measure_N_points(N=2, message='Please select a region by clicking on the start and the end point.', whatset=lh.RETRACTION)
-            boundaries = [points[0].index, points[1].index]
-            boundaries.sort()
-        else:
-            boundaries = [0, -1]
-
-        #TODO: add option to keep previous FFT
-        plot = self.GetDisplayedPlotCorrected()
-
-        for index in whatset:
-            fft_curve = self.fft_plot(copy.deepcopy(plot.curves[index]), boundaries)
-
-            fft_curve.decimals.x = 3
-            fft_curve.decimals.y = 0
-            fft_curve.destination.column = column
-            fft_curve.destination.row = row
-            fft_curve.label = plot.curves[index].label
-            fft_curve.legend = True
-            fft_curve.prefix.x = lib.prettyformat.get_prefix(max(fft_curve.x))
-            fft_curve.prefix.y = lib.prettyformat.get_prefix(max(fft_curve.y))
-            fft_curve.title = 'FFT'
-            fft_curve.units.x = 'Hz'
-            fft_curve.units.y = 'power'
-            plot.curves.append(fft_curve)
-
-        self.UpdatePlot(plot)
index 1201159aeb755909236e4b8f2c8e2e6e1a74f0ed..21f078a8c3bc82a8d7b14e17a17a8528662e24ba 100644 (file)
@@ -505,25 +505,6 @@ an approach/retract force curve, `0` selects the approaching curve and
 
 class generalvclampCommands(object):
 
-    def do_subtplot(self, args):
-        '''
-        SUBTPLOT
-        (procplots.py plugin)
-        Plots the difference between ret and ext current curve
-        -------
-        Syntax: subtplot
-        '''
-        #FIXME: sub_filter and sub_order must be args
-
-        if len(self.plots[0].vectors) != 2:
-            print 'This command only works on a curve with two different plots.'
-            pass
-
-        outplot=self.subtract_curves(sub_order=1)
-
-        plot_graph=self.list_of_events['plot_graph']
-        wx.PostEvent(self.frame,plot_graph(plots=[outplot]))
-
     def _plug_init(self):
         self.basecurrent=None
         self.basepoints=None