Stimfit  0.13.15
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
measure.h
Go to the documentation of this file.
00001 // Header file for the stimfit namespace
00002 // Routines for measuring basic event properties
00003 // last revision: 24-Jan-2011
00004 // C. Schmidt-Hieber, christsc@gmx.de
00005 
00006 // This program is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU General Public License
00008 // as published by the Free Software Foundation; either version 2
00009 // of the License, or (at your option) any later version.
00010 
00011 // This program is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 
00016 // You should have received a copy of the GNU General Public License
00017 // along with this program; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00019 
00029 #ifndef _MEASLIB_H
00030 #define _MEASLIB_H
00031 
00032 #include <vector>
00033 
00034 namespace stf {
00035 
00040 
00041 
00049 double base( double& var, const std::vector<double>& data, std::size_t llb, std::size_t ulb);
00050 
00051 
00053 
00069 double peak( const std::vector<double>& data, double base, std::size_t llp, std::size_t ulp,
00070         int pM, stf::direction, double& maxT);
00071  
00073 
00083  double threshold( const std::vector<double>& data, std::size_t llp, std::size_t ulp, double slope, double& thrT, std::size_t windowLength );
00084 
00086 
00101 double risetime(const std::vector<double>& data, double base, double ampl,
00102                 double left, double right, double frac, std::size_t& tLoId, std::size_t& tHiId,
00103                 double& tLoReal);
00104 
00106 
00124 double risetime2(const std::vector<double>& data, double base, double ampl,
00125                 double left, double right, double frac,
00126                 double& innerTLoReal, double& innerTHiReal, double& outerTLoReal, double& outerTHiReal );
00127 
00129 
00145 double t_half( const std::vector<double>& data, double base, double ampl, double left, double right,
00146                double center, std::size_t& t50LeftId, std::size_t& t50RightId, double& t50LeftReal );
00147 
00149 
00159 double  maxRise( const std::vector<double>& data, double left, double right, double& maxRiseT,
00160                  double& maxRiseY, std::size_t windowLength);
00161 
00163 
00173 double  maxDecay( const std::vector<double>& data, double left, double right, double& maxDecayT,
00174                   double& maxDecayY, std::size_t windowLength);
00175 
00176 #ifdef WITH_PSLOPE
00177 
00178 
00183 double pslope( const std::vector<double>& data, std::size_t left, std::size_t right);
00184 
00185 #endif
00186 
00188 }
00189 
00190 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines