Stimfit @PACKAGE_VERSION@
Loading...
Searching...
No Matches
Generic stimfit classes and functions
Collaboration diagram for Generic stimfit classes and functions:

Classes

class  Channel
 A Channel contains several data Sections representing observations of the same physical quantity. More...
class  Recording
 Represents the data within a file. More...
class  Section
 Represents a continuously sampled sweep of data points. More...
struct  stfnum::parInfo
 Information about parameters used in storedFunc. More...
class  stfnum::Table
 A table used for printing information. More...
struct  stfnum::storedFunc
 Function used for least-squares fitting. More...
class  stf::wxProgressInfo
 Progress Info interface adapter; maps to wxProgressDialog. More...
struct  stf::UserInput
 Represents user input from dialogs that can be used in plugins. More...
struct  stf::Plugin
 User-defined plugin. More...
struct  stf::Extension
 User-defined Python extension. More...
struct  stf::ifstreamMan
 Resource manager for ifstream objects. More...
struct  stf::ofstreamMan
 Resource manager for ofstream objects. More...
class  stf::Event
 Describes the attributes of an event. More...
struct  stf::PyMarker
 A marker that can be set from Python. More...
struct  stf::SectionAttributes
struct  stf::SectionPointer

Typedefs

typedef boost::function< double(double, const Vector_double &)> stfnum::Func
 A function taking a double and a vector and returning a double.
typedef boost::function< Vector_double(double, const Vector_double &)> stfnum::Jac
 The jacobian of a stfnum::Func.
typedef boost::function< double(double, double, double, double, double)> stfnum::Scale
 Scaling function for fit parameters.
typedef boost::function< Table(const Vector_double &, const std::vector< stfnum::parInfo >, double)> stfnum::Output
 Print the output of a fit into a stfnum::Table.
typedef boost::function< void(const Vector_double &, double, double, double, double, double, Vector_double &)> stfnum::Init
 Initialising function for the parameters in stfnum::Func to start a fit.
typedef boost::function< Recording(const Recording &, const Vector_double &, std::map< std::string, double > &)> stf::PluginFunc
 Get a Recording, do something with it, return the new Recording.

Enumerations

enum  stfnum::direction { stfnum::up , stfnum::down , stfnum::both , stfnum::undefined_direction }
 The direction of peak calculations. More...
enum  stfnum::baseline_method { stfnum::mean_sd = 0 , stfnum::median_iqr = 1 }
 Methods for Baseline computation. More...
enum  stf::cursor_type {
  stf::measure_cursor , stf::peak_cursor , stf::base_cursor , stf::decay_cursor ,
  stf::latency_cursor , stf::zoom_cursor , stf::event_cursor , stf::annotation_cursor ,
  stf::undefined_cursor
}
 Mouse cursor types. More...
enum  stf::zoom_channels { stf::zoomch1 , stf::zoomch2 , stf::zoomboth }
 Determines which channels to scale. More...
enum  stf::latency_mode {
  stf::manualMode = 0 , stf::peakMode = 1 , stf::riseMode = 2 , stf::halfMode = 3 ,
  stf::footMode = 4 , stf::undefinedMode
}
 Latency cursor settings. More...
enum  stf::latency_window_mode { stf::defaultMode = 0 , stf::windowMode = 1 }
 Latency window settings. More...
enum  stf::extraction_mode { stf::criterion , stf::correlation , stf::deconvolution }
 Deconvolution. More...

Functions

 Channel::Channel (void)
 Default constructor.
 Channel::Channel (const Section &c_Section)
 Constructor.
 Channel::Channel (const std::deque< Section > &SectionList)
 Constructor.
 Channel::Channel (std::size_t c_n_sections, std::size_t section_size=0)
 Constructor.
 Channel::~Channel ()
 Destructor.
SectionChannel::operator[] (std::size_t at_)
 Unchecked access to a section (read and write)
const SectionChannel::operator[] (std::size_t at_) const
 Unchecked access to a section (read-only)
const std::string & Channel::GetChannelName () const
 Retrieves the channel name.
const std::string & Channel::GetYUnits () const
 Retrieves the y units string.
size_t Channel::size () const
 Retrieves the size of the section array.
const SectionChannel::at (std::size_t at_) const
 Range-checked access to a section (read-only).
SectionChannel::at (std::size_t at_)
 Range-checked access to a section (read and write).
const std::deque< Section > & Channel::get () const
 Low-level access to the section array (read-only).
std::deque< Section > & Channel::get ()
 Low-level access to the section array (read and write).
void Channel::SetChannelName (const std::string &value)
 Sets the channel name.
void Channel::SetYUnits (const std::string &value)
 Sets the y units string.
void Channel::InsertSection (const Section &c_Section, std::size_t pos)
 Inserts a section at the given position, overwriting anything that's currently stored at that position.
void Channel::resize (std::size_t newSize)
 Resize the section array.
void Channel::reserve (std::size_t resSize)
 Reserve memory for a number of sections.
 Recording::Recording ()
 Default constuctor.
 Recording::Recording (const Channel &c_Channel)
 Constructor.
 Recording::Recording (const std::deque< Channel > &ChannelList)
 Constructor.
 Recording::Recording (std::size_t c_n_channels, std::size_t c_n_sections=0, std::size_t c_n_points=0)
 Constructor.
virtual Recording::~Recording ()
 Destructor.
std::size_t Recording::GetChannelSize (std::size_t n_channel) const
 Retrieves the number of sections in a channel.
const std::deque< Channel > & Recording::get () const
 Retrieves the channels (read-only).
std::deque< Channel > & Recording::get ()
 Retrieves the channels (read and write).
const std::string & Recording::GetFileDescription () const
 Retrieves the file description.
const std::string & Recording::GetGlobalSectionDescription () const
 Retrieves the common section description.
const std::string & Recording::GetScaling () const
 Retrieves the scaling as a string.
struct tm Recording::GetDateTime () const
 Retrieves the date of recording as a string.
const std::string & Recording::GetComment () const
 Retrieves a comment string.
const std::string & Recording::GetXUnits () const
 Retrieves the x units.
std::size_t Recording::size () const
 Retrieves the size of the channel array.
double Recording::GetXScale () const
 Retrieves the x scaling (sampling interval).
double Recording::GetSR () const
 Retrieves the sampling rate ( 1 / x-scale )
std::size_t Recording::GetCurChIndex () const
 Retrieves the index of the current channel.
std::size_t Recording::GetSecChIndex () const
 Retrieves the index of the second channel.
std::size_t Recording::GetCurSecIndex () const
 Retrieves the index of the current section.
const std::vector< std::size_t > & Recording::GetSelectedSections () const
 Retrieves the indices of the selected sections (read-only).
std::vector< std::size_t > & Recording::GetSelectedSectionsW ()
 Retrieves the indices of the selected sections (read and write).
const Vector_doubleRecording::GetSelectBase () const
 Retrieves the stored baseline values of the selected sections (read-only).
Vector_doubleRecording::GetSelectBaseW ()
 Retrieves the stored baseline values of the selected sections (read and write).
const SectionRecording::cursec () const
 Retrieves the currently accessed section in the active channel (read-only)
SectionRecording::cursec ()
 Retrieves the currently accessed section in the active channel (read and write)
const SectionRecording::secsec () const
 Retrieves the currently accessed section in the second (reference) channel (read-only)
const ChannelRecording::curch () const
 Retrieves the active channel (read-only)
ChannelRecording::curch ()
 Retrieves active channel (read and write)
const ChannelRecording::secch () const
 Retrieves the second (reference) channel (read-only)
const ChannelRecording::at (std::size_t n_c) const
 Range-checked access to a channel (read-only).
ChannelRecording::at (std::size_t n_c)
 Range-checked access to a channel (read and write).
void Recording::SetFileDescription (const std::string &value)
 Sets the file description.
void Recording::SetGlobalSectionDescription (const std::string &value)
 Sets the common section description.
void Recording::SetScaling (const std::string &value)
 Sets the scaling as a string.
int Recording::SetTime (const std::string &value)
 Sets the time of recording as a string.
int Recording::SetTime (int hour, int minute, int sec)
int Recording::SetDate (const std::string &value)
 Sets the date of recording as a string.
int Recording::SetDate (int year, int month, int mday)
void Recording::SetDateTime (const struct tm &value)
 Sets the date and time of recording as struct tm.
void Recording::SetDateTime (int year, int month, int mday, int hour, int minute, int sec)
void Recording::SetComment (const std::string &value)
 Sets a comment string.
void Recording::SetGlobalYUnits (std::size_t n_channel, const std::string &value)
 Sets the y units for a channel.
void Recording::SetXUnits (const std::string &value)
 Sets the x units.
void Recording::SetXScale (double value)
 Sets the x scaling.
void Recording::SetCurChIndex (std::size_t value)
 Sets the index of the current channel.
void Recording::SetSecChIndex (std::size_t value)
 Sets the index of the second channel.
void Recording::SetCurSecIndex (std::size_t value)
 Sets the index of the current section.
virtual void Recording::resize (std::size_t c_n_channels)
 Resize the Recording to a new number of channels.
virtual void Recording::InsertChannel (Channel &c_Channel, std::size_t pos)
 Insert a Channel at a given position.
void Recording::CopyAttributes (const Recording &c_Recording)
 Copy descriptive attributes from another Recording to this Recording.
void Recording::MakeAverage (Section &AverageReturn, Section &SigReturn, std::size_t channel, const std::vector< std::size_t > &section_index, bool isSig, const std::vector< int > &shift) const
 Calculates an average of several traces.
void Recording::AddRec (const Recording &toAdd)
 Add a Recording at the end of this Recording.
void Recording::SelectTrace (std::size_t sectionToSelect, std::ptrdiff_t base_start, std::ptrdiff_t base_end)
 Selects a section.
bool Recording::UnselectTrace (std::size_t sectionToUnselect)
 Unselects a section if it was selected before.
ChannelRecording::operator[] (std::size_t at)
 Unchecked channel access (read and write)
const ChannelRecording::operator[] (std::size_t at) const
 Unchecked channel access (read-only)
std::string Recording::GetEventDescription (int type)
 Get Description of Event Type.
void Recording::SetEventDescription (int type, const char *Description)
 Set Description of Event Type.
void Recording::InitSectionMarkerList (size_t n)
 Initialize List of Section Markers.
int Recording::GetSectionType (size_t section_number)
 Get Type of Section.
void Recording::SetSectionType (size_t section_number, int type)
 Set Type of Section.
 Section::Section ()
 Default constructor.
 Section::Section (const Vector_double &valA, const std::string &label="\0")
 Constructor.
 Section::Section (std::size_t size, const std::string &label="\0")
 Yet another constructor.
 Section::~Section ()
 Destructor.
double & Section::operator[] (std::size_t at)
 Unchecked access. Returns a non-const reference.
double Section::operator[] (std::size_t at) const
 Unchecked access. Returns a copy.
double Section::at (std::size_t at_) const
 Range-checked access. Returns a copy.
double & Section::at (std::size_t at_)
 Range-checked access. Returns a non-const reference.
const Vector_doubleSection::get () const
 Low-level access to the valarray (read-only).
Vector_doubleSection::get_w ()
 Low-level access to the valarray (read and write).
void Section::resize (std::size_t new_size)
 Resize the Section to a new number of data points; deletes all previously stored data when gcc is used.
size_t Section::size () const
 Retrieve the number of data points.
void Section::SetXScale (double value)
 Sets the x scaling.
double Section::GetXScale () const
 Retrieves the x scaling.
const std::string & Section::GetSectionDescription () const
 Retrieves a section description.
void Section::SetSectionDescription (const std::string &value)
 Sets a section description.
std::size_t Section::GetSectionSize ()
 Range-checked access. Returns a non-const reference.
void Section::AddAnnotation (Annotation annotation)
void Section::MoveAnnotation (size_t index, int new_position)
void Section::RemoveAnnotation (size_t index)
void Section::EraseAllAnnotations ()
std::vector< AnnotationSection::GetAnnotationList ()
std::size_t Section::GetFirstAnnotationPosition ()
std::size_t Section::GetLastAnnotationPosition ()
template<typename T>
stfnum::linFit (const std::vector< T > &x, const std::vector< T > &y, T &m, T &c)
 Performs a linear fit.
double StfnumDll stfnum::lmFit (const Vector_double &data, double dt, const stfnum::storedFunc &fitFunc, const Vector_double &opts, bool use_scaling, Vector_double &p, std::string &info, int &warning)
 Uses the Levenberg-Marquardt algorithm to perform a non-linear least-squares fit.
double stfnum::flin (double x, const Vector_double &p)
 Linear function.
void stfnum::flin_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Dummy function to be passed to stfnum::storedFunc for linear functions.
StfnumDll stfnum::storedFunc stfnum::initLinFunc ()
 initializes a linear function
Vector_double stfnum::get_scale (Vector_double &data, double oldx)
 Compute and perform normalisation.
StfnumDll Vector_double stfnum::LM_default_opts ()
 Return default LM options.
StfnumDll double stfnum::fexp (double x, const Vector_double &p)
 Sum of n exponential functions.
Vector_double stfnum::fexp_jac (double x, const Vector_double &p)
 Computes the Jacobian of stfnum::fexp().
void stfnum::fexp_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::fexp() to data.
void stfnum::fexp_init2 (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Yet another initialiser for fitting stfnum::fexp() to data.
StfnumDll double stfnum::fexpde (double x, const Vector_double &p)
 Monoexponential function with delay.
void stfnum::fexpde_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::fexpde() to data.
StfnumDll double stfnum::fexpbde (double x, const Vector_double &p)
 Biexponential function with delay.
double stfnum::fexptde (double x, const Vector_double &p)
 Triexponential function with delay.
void stfnum::fexpbde_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::fexpde() to data.
void stfnum::fexptde_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::fexpde() to data.
StfnumDll double stfnum::falpha (double x, const Vector_double &p)
 Alpha function.
Vector_double stfnum::falpha_jac (double x, const Vector_double &p)
 Computes the Jacobian of stfnum::falpha().
StfnumDll double stfnum::fHH (double x, const Vector_double &p)
 Hodgkin-Huxley sodium conductance function.
StfnumDll double stfnum::fgauss (double x, const Vector_double &p)
 Computes the sum of an arbitrary number of Gaussians.
Vector_double stfnum::fgauss_jac (double x, const Vector_double &p)
 Computes the Jacobian of a sum of Gaussians.
StfnumDll double stfnum::fgnabiexp (double x, const Vector_double &p)
 power of 1 sodium conductance function.
Vector_double stfnum::fgnabiexp_jac (double x, const Vector_double &p)
 Computes the Jacobian of stfnum::fgnabiexp().
void stfnum::falpha_init (const Vector_double &data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::falpha() to data.
void stfnum::fgauss_init (const Vector_double &data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::fgauss() to data.
void stfnum::fHH_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::falpha() to data.
void stfnum::fgnabiexp_init (const Vector_double &data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double &pInit)
 Initialises parameters for fitting stfnum::falpha() to data.
double stfnum::xscale (double param, double xscale, double xoff, double yscale, double yoff)
 Scales a parameter that linearly depends on x.
double stfnum::xunscale (double param, double xscale, double xoff, double yscale, double yoff)
 Unscales a parameter that linearly depends on x.
double stfnum::yscale (double param, double xscale, double xoff, double yscale, double yoff)
 Scales a parameter that linearly depends on y.
double stfnum::yscaleoffset (double param, double xscale, double xoff, double yscale, double yoff)
 Scales a parameter that linearly depends on y and adds an offset.
double stfnum::yunscale (double param, double xscale, double xoff, double yscale, double yoff)
 Unscales a parameter that linearly depends on y.
double stfnum::yunscaleoffset (double param, double xscale, double xoff, double yscale, double yoff)
 Unscales a parameter that linearly depends on y and removes the offset.
std::vector< stfnum::parInfostfnum::getParInfoExp (int n_exp)
 Creates stfnum::parInfo structs for n-exponential functions.
stfnum::Table stfnum::outputWTau (const Vector_double &p, const std::vector< stfnum::parInfo > &parsInfo, double chisqr)
 Calculates a weighted time constant.
std::size_t stfnum::whereis (const Vector_double &data, double value)
 Finds the index of data where value is encountered for the first time.
StfnumDll std::vector< stfnum::storedFuncstfnum::GetFuncLib ()
 Returns the library of functions for non-linear regression.
StfnumDll double stfnum::base (enum stfnum::baseline_method method, double &var, const std::vector< double > &data, std::size_t llb, std::size_t ulb)
 Calculate the average of all sampling points between and including llb and ulb.
StfnumDll double stfnum::peak (const std::vector< double > &data, double base, std::size_t llp, std::size_t ulp, int pM, stfnum::direction, double &maxT)
 Find the peak value of data between llp and ulp.
StfnumDll double stfnum::threshold (const std::vector< double > &data, std::size_t llp, std::size_t ulp, double slope, double &thrT, std::size_t windowLength)
 Find the value within data between llp and ulp at which slope is exceeded.
StfnumDll double stfnum::risetime (const std::vector< double > &data, double base, double ampl, double left, double right, double frac, std::size_t &tLoId, std::size_t &tHiId, double &tLoReal)
 Find 20 to 80% rise time of an event in data.
StfnumDll double stfnum::risetime2 (const std::vector< double > &data, double base, double ampl, double left, double right, double frac, double &innerTLoReal, double &innerTHiReal, double &outerTLoReal, double &outerTHiReal)
 Find 20 to 80% rise time of an event in data.
StfnumDll double stfnum::t_half (const std::vector< double > &data, double base, double ampl, double left, double right, double center, std::size_t &t50LeftId, std::size_t &t50RightId, double &t50LeftReal)
 Find the full width at half-maximal amplitude of an event within data.
StfnumDll double stfnum::maxRise (const std::vector< double > &data, double left, double right, double &maxRiseT, double &maxRiseY, std::size_t windowLength)
 Find the maximal slope during the rising phase of an event within data.
StfnumDll double stfnum::maxDecay (const std::vector< double > &data, double left, double right, double &maxDecayT, double &maxDecayY, std::size_t windowLength)
 Find the maximal slope during the decaying phase of an event within data.
Vector_double stfnum::nojac (double x, const Vector_double &p)
 Dummy function, serves as a placeholder to initialize functions without a Jacobian.
double stfnum::noscale (double param, double xscale, double xoff, double yscale, double yoff)
 Dummy function, serves as a placeholder to initialize parameters without a scaling function.
 stfnum::parInfo::parInfo ()
 Default constructor.
 stfnum::parInfo::parInfo (const std::string &desc_, bool toFit_, bool constrained_=false, double constr_lb_=0, double constr_ub_=0, Scale scale_=noscale, Scale unscale_=noscale)
 Constructor.
 stfnum::Table::Table (std::size_t nRows, std::size_t nCols)
 Constructor.
 stfnum::Table::Table (const std::map< std::string, double > &map)
 Constructor.
double stfnum::Table::at (std::size_t row, std::size_t col) const
 Range-checked access. Returns a copy. Throws std::out_of_range if out of range.
double & stfnum::Table::at (std::size_t row, std::size_t col)
 Range-checked access. Returns a reference. Throws std::out_of_range if out of range.
bool stfnum::Table::IsEmpty (std::size_t row, std::size_t col) const
 Check whether a cell is empty.
void stfnum::Table::SetEmpty (std::size_t row, std::size_t col, bool value=true)
 Empties or un-empties a cell.
void stfnum::Table::SetRowLabel (std::size_t row, const std::string &label)
 Sets the label of a row.
void stfnum::Table::SetColLabel (std::size_t col, const std::string &label)
 Sets the label of a column.
const std::string & stfnum::Table::GetRowLabel (std::size_t row) const
 Retrieves the label of a row.
const std::string & stfnum::Table::GetColLabel (std::size_t col) const
 Retrieves the label of a column.
std::size_t stfnum::Table::nRows () const
 Retrieves the number of rows.
std::size_t stfnum::Table::nCols () const
 Retrieves the number of columns.
void stfnum::Table::AppendRows (std::size_t nRows)
 Appends rows to the table.
Table stfnum::defaultOutput (const Vector_double &pars, const std::vector< parInfo > &parsInfo, double chisqr)
 Default fit output function, constructing a stfnum::Table from the parameters, their description and chisqr.
 stfnum::storedFunc::storedFunc (const std::string &name_, const std::vector< parInfo > &pInfo_, const Func &func_, const Init &init_, const Jac &jac_, bool hasJac_=true, const Output &output_=defaultOutput)
 Constructor.
 stfnum::storedFunc::~storedFunc ()
 Destructor.
template<typename T>
stfnum::SQR (T a)
 Calculates the square of a number.
StfnumDll Vector_double stfnum::filter (const Vector_double &toFilter, std::size_t filter_start, std::size_t filter_end, const Vector_double &a, int SR, stfnum::Func func, bool inverse=false)
 Convolves a data set with a filter function.
std::map< double, int > stfnum::histogram (const Vector_double &data, int nbins=-1)
 Computes a histogram.
StfnumDll Vector_double stfnum::deconvolve (const Vector_double &data, const Vector_double &templ, int SR, double hipass, double lopass, stfio::ProgressInfo &progDlg)
 Deconvolves a template from a signal.
template<class T>
std::vector< T > stfnum::cubicSpline (const std::vector< T > &y, T oldF, T newF)
 Interpolates a dataset using cubic splines.
template<class T>
std::vector< T > stfnum::diff (const std::vector< T > &input, T x_scale)
 Differentiate data.
StfnumDll double stfnum::integrate_simpson (const Vector_double &input, std::size_t a, std::size_t b, double x_scale)
 Integration using Simpson's rule.
StfnumDll double stfnum::integrate_trapezium (const Vector_double &input, std::size_t a, std::size_t b, double x_scale)
 Integration using the trapezium rule.
int stfnum::linsolv (int m, int n, int nrhs, Vector_double &A, Vector_double &B)
 Solves a linear equation system using LAPACK.
StfnumDll Vector_double stfnum::quad (const Vector_double &data, std::size_t begin, std::size_t end)
 Solve quadratic equations for 3 adjacent sampling points.
StfnumDll Vector_double stfnum::detectionCriterion (const Vector_double &data, const Vector_double &templ, stfio::ProgressInfo &progDlg)
 Computes the event detection criterion according to Clements & Bekkers (1997).
StfnumDll std::vector< int > stfnum::peakIndices (const Vector_double &data, double threshold, int minDistance)
 Searches for positive-going peaks.
StfnumDll Vector_double stfnum::linCorr (const Vector_double &va1, const Vector_double &va2, stfio::ProgressInfo &progDlg)
 Computes the linear correlation between two arrays.
StfnumDll double stfnum::fgaussColqu (double x, const Vector_double &p)
 Computes a Gaussian that can be used as a filter kernel.
double stfnum::fboltz (double x, const Vector_double &p)
 Computes a Boltzmann function.
double stfnum::fbessel (double x, int n)
 Computes a Bessel polynomial.
StfnumDll double stfnum::fbessel4 (double x, const Vector_double &p)
 Computes a 4th-order Bessel polynomial that can be used as a filter kernel.
int stfnum::fac (int arg)
 Computes the faculty of an integer.
int stfnum::pow2 (int arg)
 Computes \( 2^{arg} \). Uses the bitwise-shift operator (<<).
 stf::wxProgressInfo::wxProgressInfo (const std::string &title, const std::string &message, int maximum, bool verbose=true)
bool stf::wxProgressInfo::Update (int value, const std::string &newmsg="", bool *skip=NULL)
 Updates the progress info.
std::string stf::wx2std (const wxString &wxs)
wxString stf::std2wx (const std::string &sst)
wxString stf::sectionToString (const Section &section)
 Converts a Section to a wxString.
wxString stf::CreatePreview (const wxString &fName)
 Creates a preview of a text file.
wxString stf::noPath (const wxString &fName)
 Strips the directory off a full path name, returns only the filename.
 stf::UserInput::UserInput (const std::vector< std::string > &labels_=std::vector< std::string >(0), const Vector_double &defaults_=Vector_double(0), std::string title_="\0")
 Constructor.
 stf::Plugin::Plugin (const wxString &menuEntry_, const PluginFunc &pluginFunc_, const UserInput &input_=UserInput())
 Constructor.
 stf::Plugin::~Plugin ()
 Destructor.
 stf::Extension::Extension (const std::string &menuEntry_, void *pyFunc_, const std::string &description_, bool requiresFile_)
 Constructor.
 stf::Extension::~Extension ()
 Destructor.
 stf::ifstreamMan::ifstreamMan (const wxString &filename)
 Constructor.
 stf::ifstreamMan::~ifstreamMan ()
 Destructor.
 stf::ofstreamMan::ofstreamMan (const wxString &filename)
 Constructor.
 stf::ofstreamMan::~ofstreamMan ()
 Destructor.
 stf::Event::Event (std::size_t start, std::size_t peak, std::size_t size, wxCheckBox *cb)
 Constructor.
 stf::Event::~Event ()
 Destructor.
std::size_t stf::Event::GetEventStartIndex () const
 Retrieves the start index of an event.
std::size_t stf::Event::GetEventPeakIndex () const
 Retrieves the index of an event's peak.
std::size_t stf::Event::GetEventSize () const
 Retrieves the size of an event.
bool stf::Event::GetDiscard () const
 Indicates whether an event should be discarded.
wxCheckBoxstf::Event::GetCheckBox ()
 Get the check box associated with this event.
void stf::Event::SetEventStartIndex (std::size_t value)
 Sets the start index of an event.
void stf::Event::SetEventPeakIndex (std::size_t value)
 Sets the index of an event's peak.
void stf::Event::SetEventSize (std::size_t value)
 Sets the size of an event.
 stf::PyMarker::PyMarker (double xv, double yv)
 Constructor.
 stf::SectionAttributes::SectionAttributes ()
 stf::SectionPointer::SectionPointer (Section *pSec=NULL, const SectionAttributes &sa=SectionAttributes())
int stf::round (double toRound)
 Does what it says.

Variables

std::string stfnum::parInfo::desc
bool stfnum::parInfo::toFit
bool stfnum::parInfo::constrained
double stfnum::parInfo::constr_lb
double stfnum::parInfo::constr_ub
Scale stfnum::parInfo::scale
Scale stfnum::parInfo::unscale
std::string stfnum::storedFunc::name
std::vector< parInfostfnum::storedFunc::pInfo
Func stfnum::storedFunc::func
Init stfnum::storedFunc::init
Jac stfnum::storedFunc::jac
bool stfnum::storedFunc::hasJac
Output stfnum::storedFunc::output
std::vector< std::string > stf::UserInput::labels
Vector_double stf::UserInput::defaults
std::string stf::UserInput::title
int stf::Plugin::id
static int stf::Plugin::n_plugins
wxString stf::Plugin::menuEntry
PluginFunc stf::Plugin::pluginFunc
UserInput stf::Plugin::input
int stf::Extension::id
static int stf::Extension::n_extensions
std::string stf::Extension::menuEntry
void * stf::Extension::pyFunc
std::string stf::Extension::description
bool stf::Extension::requiresFile
wxFFile stf::ifstreamMan::myStream
 The managed stream.
wxFFile stf::ofstreamMan::myStream
 The managed stream.
double stf::PyMarker::x
double stf::PyMarker::y
std::vector< stf::Eventstf::SectionAttributes::eventList
std::vector< stf::PyMarkerstf::SectionAttributes::pyMarkers
bool stf::SectionAttributes::isFitted
bool stf::SectionAttributes::isIntegrated
stfnum::storedFuncstf::SectionAttributes::fitFunc
Vector_double stf::SectionAttributes::bestFitP
Vector_double stf::SectionAttributes::quad_p
std::size_t stf::SectionAttributes::storeFitBeg
std::size_t stf::SectionAttributes::storeFitEnd
std::size_t stf::SectionAttributes::storeIntBeg
std::size_t stf::SectionAttributes::storeIntEnd
stfnum::Table stf::SectionAttributes::bestFit
Sectionstf::SectionPointer::pSection
SectionAttributes stf::SectionPointer::sec_attr
const double stf::PI =3.14159265358979323846
 Add decimals if you are not satisfied.

Detailed Description

Typedef Documentation

◆ Func

typedef boost::function<double(double, const Vector_double&)> stfnum::Func

A function taking a double and a vector and returning a double.

Type definition for a function (or, to be precise, any 'callable entity') that takes a double (the x-value) and a vector of parameters and returns the function's result (the y-value).

Definition at line 87 of file stfnum.h.

◆ Init

typedef boost::function<void(const Vector_double&, double, double, double, double, double, Vector_double&)> stfnum::Init

Initialising function for the parameters in stfnum::Func to start a fit.

Definition at line 250 of file stfnum.h.

◆ Jac

typedef boost::function<Vector_double(double, const Vector_double&)> stfnum::Jac

The jacobian of a stfnum::Func.

Definition at line 90 of file stfnum.h.

◆ Output

typedef boost::function<Table(const Vector_double&,const std::vector<stfnum::parInfo>,double)> stfnum::Output

Print the output of a fit into a stfnum::Table.

Definition at line 242 of file stfnum.h.

◆ PluginFunc

typedef boost::function<Recording(const Recording&,const Vector_double&,std::map<std::string, double>&)> stf::PluginFunc

Get a Recording, do something with it, return the new Recording.

Definition at line 140 of file stf.h.

◆ Scale

typedef boost::function<double(double, double, double, double, double)> stfnum::Scale

Scaling function for fit parameters.

Definition at line 93 of file stfnum.h.

Enumeration Type Documentation

◆ baseline_method

Methods for Baseline computation.

Enumerator
mean_sd 

Compute mean and s.d. for Baseline and Base SD.

median_iqr 

Compute median and IQR for Baseline and Base SD.

Definition at line 538 of file stfnum.h.

◆ cursor_type

Mouse cursor types.

Enumerator
measure_cursor 

Measurement cursor (crosshair).

peak_cursor 

Peak calculation limits cursor.

base_cursor 

Baseline calculation limits cursor.

decay_cursor 

Fit limits cursor.

latency_cursor 

Latency cursor.

zoom_cursor 

Zoom rectangle cursor.

event_cursor 

Event mode cursor.

annotation_cursor 

Annotation mode cursor.

undefined_cursor 

Undefined cursor.

Definition at line 364 of file stf.h.

◆ direction

The direction of peak calculations.

Enumerator
up 

Find positive-going peaks.

down 

Find negative-going peaks.

both 

Find negative- or positive-going peaks, whichever is larger.

undefined_direction 

Undefined direction.

Definition at line 530 of file stfnum.h.

◆ extraction_mode

Deconvolution.

Enumerator
criterion 

Clements & Bekkers criterion.

correlation 

Jonas et al. correlation coefficient.

deconvolution 

Pernia-Andrade et al. deconvolution.

Definition at line 424 of file stf.h.

◆ latency_mode

Latency cursor settings.

Enumerator
manualMode 

Set the corresponding latency cursor manually (by clicking on the graph).

peakMode 

Set the corresponding latency cursor to the peak.

riseMode 

Set the corresponding latency cursor to the maximal slope of rise.

halfMode 

Set the corresponding latency cursor to the half-maximal amplitude.

footMode 

Set the corresponding latency cursor to the beginning of an event.

undefinedMode 

undefined mode.

Definition at line 387 of file stf.h.

◆ latency_window_mode

Latency window settings.

Enumerator
defaultMode 

Use the current peak cursor window for the active channel.

windowMode 

Use a window of 100 sampling points around the peak.

Definition at line 397 of file stf.h.

◆ zoom_channels

Determines which channels to scale.

Enumerator
zoomch1 

Scaling applies to channel 1 only.

zoomch2 

Scaling applies to channel 2 only.

zoomboth 

Scaling applies to both channels.

Definition at line 380 of file stf.h.

Function Documentation

◆ AddAnnotation()

void Section::AddAnnotation ( Annotation annotation)

◆ AddRec()

void Recording::AddRec ( const Recording & toAdd)

Add a Recording at the end of this Recording.

Parameters
toAddThe Recording to be added.

References Recording().

◆ AppendRows()

void stfnum::Table::AppendRows ( std::size_t nRows)

Appends rows to the table.

Parameters
nRowsThe number of rows to be appended.

References nRows().

◆ at() [1/8]

Section & Channel::at ( std::size_t at_)

Range-checked access to a section (read and write).

Will throw std::out_of_range if out of range.

Parameters
at_The index of the section.
Returns
The section at index at_.

◆ at() [2/8]

const Section & Channel::at ( std::size_t at_) const

Range-checked access to a section (read-only).

Will throw std::out_of_range if out of range.

Parameters
at_The index of the section.
Returns
The section at index at_.

◆ at() [3/8]

Channel & Recording::at ( std::size_t n_c)

Range-checked access to a channel (read and write).

Will throw std::out_of_range if out of range.

Parameters
n_cThe index of the channel.
Returns
The channel at index n_c.

◆ at() [4/8]

const Channel & Recording::at ( std::size_t n_c) const

Range-checked access to a channel (read-only).

Will throw std::out_of_range if out of range.

Parameters
n_cThe index of the channel.
Returns
The channel at index n_c.

Referenced by operator[](), and operator[]().

◆ at() [5/8]

double & Section::at ( std::size_t at_)

Range-checked access. Returns a non-const reference.

Throws std::out_of_range if out of range.

Parameters
at_Data point index.
Returns
Reference to the data point at index at_

◆ at() [6/8]

double Section::at ( std::size_t at_) const

Range-checked access. Returns a copy.

Throws std::out_of_range if+#include "./annotation.h" out of range.

Parameters
at_Data point index.
Returns
Copy of the data point at index at_

Referenced by operator[](), and operator[]().

◆ at() [7/8]

double & stfnum::Table::at ( std::size_t row,
std::size_t col )

Range-checked access. Returns a reference. Throws std::out_of_range if out of range.

Parameters
row0-based row index.
col0-based column index.
Returns
A reference to the double at row, col.

◆ at() [8/8]

double stfnum::Table::at ( std::size_t row,
std::size_t col ) const

Range-checked access. Returns a copy. Throws std::out_of_range if out of range.

Parameters
row0-based row index.
col0-based column index.
Returns
A copy of the double at row, col.

◆ base()

StfnumDll double stfnum::base ( enum stfnum::baseline_method method,
double & var,
const std::vector< double > & data,
std::size_t llb,
std::size_t ulb )

Calculate the average of all sampling points between and including llb and ulb.

Parameters
method0: mean and s.d.; 1: median
varWill contain the variance on exit (only when method=0).
dataThe data waveform to be analysed.
llbAveraging will be started at this index.
ulbIndex of the last data point included in the average (legacy of the PASCAL version).
llpLower limit of the peak window (see stfnum::peak()).
ulpUpper limit of the peak window (see stfnum::peak()).
Returns
The baseline value - either the mean or the median depending on method.

References StfnumDll.

Referenced by falpha_init(), fexp_init(), fexp_init2(), fexpbde_init(), fexpde_init(), fexptde_init(), fgauss_init(), fgnabiexp_init(), fHH_init(), flin_init(), peak(), risetime(), risetime2(), and t_half().

◆ Channel() [1/4]

Channel::Channel ( const Section & c_Section)
explicit

Constructor.

Parameters
c_SectionA single section from which to construct the channel

◆ Channel() [2/4]

Channel::Channel ( const std::deque< Section > & SectionList)
explicit

Constructor.

Parameters
SectionListA vector of Sections from which to construct the channel

◆ Channel() [3/4]

Channel::Channel ( std::size_t c_n_sections,
std::size_t section_size = 0 )
explicit

Constructor.

Setting the number of sections at construction time will avoid unnecessary memory re-allocations.

Parameters
c_n_sectionsThe number of sections.
section_sizeInitial section size. Will serve additional re-alocations if known at construction time.

◆ Channel() [4/4]

Channel::Channel ( void )
explicit

Default constructor.

◆ CopyAttributes()

void Recording::CopyAttributes ( const Recording & c_Recording)

Copy descriptive attributes from another Recording to this Recording.

This will copy the file and global section decription, the scaling, time, date, comment and global y units strings and the x-scale.

Parameters
c_RecordingThe Recording from which to copy the attributes.

References Recording().

◆ CreatePreview()

wxString stf::CreatePreview ( const wxString & fName)

Creates a preview of a text file.

Parameters
fNameFull path name of the file.
Returns
A string showing at most the initial 100 lines of the text file.

◆ cubicSpline()

template<class T>
std::vector< T > stfnum::cubicSpline ( const std::vector< T > & y,
T oldF,
T newF )

Interpolates a dataset using cubic splines.

Parameters
yThe valarray to be interpolated.
oldFThe original sampling frequency.
newFThe new frequency of the interpolated array.
Returns
The interpolated data set.

Definition at line 564 of file stfnum.h.

References size, spline_cubic_set(), and spline_cubic_val().

◆ curch() [1/2]

Channel & Recording::curch ( )
inline

Retrieves active channel (read and write)

Returns
The active channel.

Definition at line 194 of file recording.h.

◆ curch() [2/2]

const Channel & Recording::curch ( ) const
inline

Retrieves the active channel (read-only)

Returns
The active channel.

Definition at line 189 of file recording.h.

◆ cursec() [1/2]

Section & Recording::cursec ( )
inline

Retrieves the currently accessed section in the active channel (read and write)

Returns
The currently accessed section in the active channel.

Definition at line 179 of file recording.h.

◆ cursec() [2/2]

const Section & Recording::cursec ( ) const
inline

Retrieves the currently accessed section in the active channel (read-only)

Returns
The currently accessed section in the active channel.

Definition at line 174 of file recording.h.

◆ deconvolve()

StfnumDll Vector_double stfnum::deconvolve ( const Vector_double & data,
const Vector_double & templ,
int SR,
double hipass,
double lopass,
stfio::ProgressInfo & progDlg )

Deconvolves a template from a signal.

Parameters
dataThe input signal
templThe template
SRThe sampling rate in kHz.
hipassHighpass filter cutoff frequency in kHz
lopassLowpass filter cutoff frequency in kHz
Returns
The result of the deconvolution

References StfnumDll.

◆ defaultOutput()

Table stfnum::defaultOutput ( const Vector_double & pars,
const std::vector< parInfo > & parsInfo,
double chisqr )

Default fit output function, constructing a stfnum::Table from the parameters, their description and chisqr.

Referenced by stfnum::storedFunc::storedFunc().

◆ detectionCriterion()

StfnumDll Vector_double stfnum::detectionCriterion ( const Vector_double & data,
const Vector_double & templ,
stfio::ProgressInfo & progDlg )

Computes the event detection criterion according to Clements & Bekkers (1997).

Parameters
dataThe valarray from which to extract events.
templA template waveform that is used for event detection.
Returns
The detection criterion for every value of data.

◆ diff()

template<class T>
std::vector< T > stfnum::diff ( const std::vector< T > & input,
T x_scale )

Differentiate data.

Definition at line 593 of file stfnum.h.

References n.

◆ EraseAllAnnotations()

void Section::EraseAllAnnotations ( )

◆ Event()

stf::Event::Event ( std::size_t start,
std::size_t peak,
std::size_t size,
wxCheckBox * cb )
explicit

Constructor.

References size.

◆ Extension()

stf::Extension::Extension ( const std::string & menuEntry_,
void * pyFunc_,
const std::string & description_,
bool requiresFile_ )
inline

Constructor.

Parameters
menuEntry_Menu entry string for this extension.
pyFunc_Python function to be called.
description_Description for this function.
requiresFile_Whether a file needs to be open for this function to work

Definition at line 212 of file stf.h.

References description, menuEntry, n_extensions, pyFunc, and requiresFile.

◆ fac()

int stfnum::fac ( int arg)

Computes the faculty of an integer.

Parameters
argArgument of the function.
Returns
The faculty of arg.

◆ falpha()

StfnumDll double stfnum::falpha ( double x,
const Vector_double & p )

Alpha function.

\[f(x)=p_0 \frac{x}{p_1} \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)} + p_2\]

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the amplitude,
p[1] is the rate and
p[2] is the offset.
Returns
The evaluated function.

References StfnumDll.

◆ falpha_init()

void stfnum::falpha_init ( const Vector_double & data,
double base,
double peak,
double RTLoHI,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::falpha() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 3. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ falpha_jac()

Vector_double stfnum::falpha_jac ( double x,
const Vector_double & p )

Computes the Jacobian of stfnum::falpha().

\begin{eqnarray*} j_0(x) &=& \frac{\partial f(x)}{\partial p_0} = \frac{x \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)}}{p_1} \\ j_1(x) &=& \frac{\partial f(x)}{\partial p_1} = \frac{x \mathrm{e}^{\left(1 - \frac{x}{p_1} \right)}}{p_1} \left(\frac{p_0 x}{p_1^2} - \frac{p_0}{p_1} \right) \\ j_2(x) &=& \frac{\partial f(x)}{\partial p_2} = 1 \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the amplitude,
p[1] is the rate and
p[2] is the offset.
Returns
A valarray j with the evaluated Jacobian, where
j[0] contains the derivative with respect to p[0],
j[1] contains the derivative with respect to p[1] and
j[2] contains the derivative with respect to p[2].

◆ fbessel()

double stfnum::fbessel ( double x,
int n )

Computes a Bessel polynomial.

\[ f(x, n) = \sum_{k=0}^n \frac{ \left( 2n - k \right) ! }{ \left( n - k \right) ! k! } \frac{x^k}{ 2^{n-k} } \]

Parameters
xArgument of the function.
nOrder of the polynomial.
Returns
The evaluated function.

References n, and StfnumDll.

◆ fbessel4()

StfnumDll double stfnum::fbessel4 ( double x,
const Vector_double & p )

Computes a 4th-order Bessel polynomial that can be used as a filter kernel.

\[ f(x) = \frac{b(0,4)}{b(\frac{0.355589x}{p_0},4)} \]

where \( b(a,n) \) is the bessel polynomial stfnum::fbessel().

Parameters
xArgument of the function.
pFunction parameters, where
p[0] is the corner frequency (-3 dB attenuation)
Returns
The evaluated function.

◆ fboltz()

double stfnum::fboltz ( double x,
const Vector_double & p )

Computes a Boltzmann function.

\[f(x)=\frac{1}{1+\mathrm{e}^{\frac{p_0-x}{p_1}}}\]

Parameters
xArgument of the function.
pFunction parameters, where
p[0] is the midpoint and
p[1] is the slope of the function.
Returns
The evaluated function.

◆ fexp()

StfnumDll double stfnum::fexp ( double x,
const Vector_double & p )

Sum of n exponential functions.

\[f(x)=p_{2n} + \sum_{i=0}^{n - 1}p_{2i}\mathrm{e}^{\left( \frac{x}{p_{2i + 1}}\right)}\]

Parameters
xFunction argument.
pA valarray of parameters of size 2n+1, where
n is the number of exponential terms,
p[2i] is the amplitude term,
p[2i+1] is the time constant,
p[2n], the last element, contains the offset and
i denotes the i -th exponential term (running from 0 to n-1).
Returns
The evaluated function.

References StfnumDll.

◆ fexp_init()

void stfnum::fexp_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::fexp() to data.

This needs to be made more robust.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 2n+1, where n is the number of exponential functions. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fexp_init2()

void stfnum::fexp_init2 ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Yet another initialiser for fitting stfnum::fexp() to data.

In this case, one of the amplitude terms will have another sign than the others, making it more suitable for fitting PSCs or PSPs. However, this often fails to work in practice.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 2n+1, where n is the number of exponential functions. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fexp_jac()

Vector_double stfnum::fexp_jac ( double x,
const Vector_double & p )

Computes the Jacobian of stfnum::fexp().

\begin{eqnarray*} j_{2i}(x) &=& \frac{\partial f(x)}{\partial p_{2i}} = \mathrm{e}^{\left(\frac{-x}{p_{2i+1}}\right)} \\ j_{2i+1}(x) &=& \frac{\partial f(x)}{\partial p_{2i+1}} = \frac{p_{2i}}{p_{2i+1}^2} x \mathrm{e}^{\left( \frac{-x}{p_{2i+1}}\right)} \\ j_n(x) &=& \frac{\partial f(x)}{\partial p_{n}} = 1 \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters of size 2n+1, where
n is the number of exponential terms,
p[2i] is the amplitude term,
p[2i+1] is the time constant,
p[2n], the last element, contains the offset and
i denotes the i -th exponential term (running from 0 to n-1).
Returns
A valarray j of size 2n+1 with the evaluated Jacobian, where
j[2i] contains the derivative with respect to p[2i],
j[2i+1] contains the derivative with respect to p[2i+1] and
j[2n], the last element, contains the derivative with respect to p[2n].

◆ fexpbde()

StfnumDll double stfnum::fexpbde ( double x,
const Vector_double & p )

Biexponential function with delay.

\begin{eqnarray*} f(x)= \begin{cases} p_0 & \mbox{if }x < p_1 \\ p_3 \left( \mathrm{e}^{\frac{p_1 - x}{p_2}} - \mathrm{e}^{\frac{p_1 - x}{p_4}} \right) + p_0 & \mbox{if }x \geq p_1 \end{cases} \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the baseline,
p[1] is the delay,
p[2] is the later (slower) time constant,
p[3] is the amplitude and
p[4] is the earlier (faster) time constant,
Returns
The evaluated function.

References StfnumDll.

◆ fexpbde_init()

void stfnum::fexpbde_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::fexpde() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 4. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fexpde()

StfnumDll double stfnum::fexpde ( double x,
const Vector_double & p )

Monoexponential function with delay.

\begin{eqnarray*} f(x)= \begin{cases} p_0, & \mbox{if }x < p_3 \\ \left( p_0 - p_2 \right) \mathrm{e}^{\left (\frac{p_3 - x}{p_1}\right )} + p_2, & \mbox{if }x \geq p_3 \end{cases} \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the baseline,
p[1] is the time constant,
p[2] is the amplitude and
p[3] is the delay.
Returns
The evaluated function.

References StfnumDll.

◆ fexpde_init()

void stfnum::fexpde_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::fexpde() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 4. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fexptde()

double stfnum::fexptde ( double x,
const Vector_double & p )

Triexponential function with delay.

\begin{eqnarray*} f(x)= \begin{cases} p_0 & \mbox{if }x < p_1 \\ p_3 \left( p_6\mathrm{e}^{\frac{p_1 - x}{p_2}} + (1-p_6)\mathrm{e}^{\frac{p_1 - x}{p_5}} - \mathrm{e}^{\frac{p_1 - x}{p_4}} \right) + p_0 & \mbox{if }x \geq p_1 \end{cases} \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the baseline,
p[1] is the delay,
p[2] is the first later (slower) time constant,
p[3] is the amplitude and
p[4] is the earlier (faster) time constant,
p[5] is the second later (slower) time constant,
p[6] is the relative weight of p[2],
Returns
The evaluated function.

◆ fexptde_init()

void stfnum::fexptde_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::fexpde() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 4. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fgauss()

StfnumDll double stfnum::fgauss ( double x,
const Vector_double & p )

Computes the sum of an arbitrary number of Gaussians.

\[ f(x) = \sum_{i=0}^{n-1}p_{3i}\mathrm{e}^{- \left( \frac{x-p_{3i+1}}{p_{3i+2}} \right) ^2} \]

Parameters
xArgument of the function.
pA valarray of function parameters of size 3n, where
p[3i] is the amplitude of the Gaussian
p[3i+1] is the position of the center of the peak,
p[3i+2] is the width of the Gaussian,
n is the number of Gaussian functions and
i is the 0-based index of the i-th Gaussian.
Returns
The evaluated function.

◆ fgauss_init()

void stfnum::fgauss_init ( const Vector_double & data,
double base,
double peak,
double RTLoHI,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::fgauss() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 3. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fgauss_jac()

Vector_double stfnum::fgauss_jac ( double x,
const Vector_double & p )

Computes the Jacobian of a sum of Gaussians.

◆ fgaussColqu()

StfnumDll double stfnum::fgaussColqu ( double x,
const Vector_double & p )

Computes a Gaussian that can be used as a filter kernel.

\[ f(x) = \mathrm{e}^{-0.3466 \left( \frac{x}{p_{0}} \right) ^2} \]

Parameters
xArgument of the function.
pFunction parameters, where
p[0] is the corner frequency (-3 dB according to Colquhoun)
Returns
The evaluated function.

◆ fgnabiexp()

StfnumDll double stfnum::fgnabiexp ( double x,
const Vector_double & p )

power of 1 sodium conductance function.

\[f(x)=p_0\left(1-\mathrm{e}^{\frac{-x}{p_1}}\right)\mathrm{e}^{\frac{-x}{p_2}} + p_3\]

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the amplitude \(g'_{Na}\),
p[1] is \(\tau_m\),
p[2] is \(\tau_h\) and
p[3] is the offset.
Returns
The evaluated function.

References StfnumDll.

◆ fgnabiexp_init()

void stfnum::fgnabiexp_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::falpha() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 4. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ fgnabiexp_jac()

Vector_double stfnum::fgnabiexp_jac ( double x,
const Vector_double & p )

Computes the Jacobian of stfnum::fgnabiexp().

\begin{eqnarray*} j_0(x) &=& \frac{\partial f(x)}{\partial p_0} = \left(1 -\mathrm{e}^{\frac{-x}{p_1}}\right) \mathrm{e}^{\frac{-x}{p_2}} \\ j_1(x) &=& \frac{\partial f(x)}{\partial p_1} = p_0 \frac{ -x \mathrm{e}^{\left(-\frac{x}{p_1} - \frac{x}{p_2} \right)}}{p_1^2} \\ j_2(x) &=& \frac{\partial f(x)}{\partial p_2} = p_0 \frac{ x \left(1 -\mathrm{e}^{\frac{-x}{p_1}}\right) \mathrm{e}^{\frac{-x}{p_2}}} {p_2^2}\\ j_3(x) &=& \frac{\partial f(x)}{\partial p_3} = 1 \end{eqnarray*}

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the amplitude \(g'_{Na}\),
p[1] is \(\tau_m\),
p[2] is \(\tau_h\) and
p[3] is the offset.
Returns
A valarray j with the evaluated Jacobian, where
j[0] contains the derivative with respect to p[0],
j[1] contains the derivative with respect to p[1],
j[2] contains the derivative with respect to p[2] and
j[3] contains the derivative with respect to p[3].

◆ fHH()

StfnumDll double stfnum::fHH ( double x,
const Vector_double & p )

Hodgkin-Huxley sodium conductance function.

\[f(x)=p_0\left(1-\mathrm{e}^{\frac{-x}{p_1}}\right)^3\mathrm{e}^{\frac{-x}{p_2}} + p_3\]

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the amplitude \(g'_{Na}\),
p[1] is \(\tau_m\),
p[2] is \(\tau_h\) and
p[3] is the offset.
Returns
The evaluated function.

References StfnumDll.

◆ fHH_init()

void stfnum::fHH_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Initialises parameters for fitting stfnum::falpha() to data.

Parameters
dataThe waveform of the data for the fit.
baseBaseline of data.
peakPeak value of data.
dtThe sampling interval.
pInitOn entry, pass a valarray of size 4. On exit, will contain initial parameter estimates.

References base(), and peak().

◆ filter()

StfnumDll Vector_double stfnum::filter ( const Vector_double & toFilter,
std::size_t filter_start,
std::size_t filter_end,
const Vector_double & a,
int SR,
stfnum::Func func,
bool inverse = false )

Convolves a data set with a filter function.

Parameters
toFilterThe valarray to be filtered.
filter_startThe index from which to start filtering.
filter_endThe index at which to stop filtering.
aA valarray of parameters for the filter function.
SRThe sampling rate.
funcThe filter function in the frequency domain.
inversetrue if (1- func) should be used as the filter function, false otherwise
Returns
The convolved data set.

◆ flin()

double stfnum::flin ( double x,
const Vector_double & p )

Linear function.

\[f(x)=p_0 x + p_1\]

Parameters
xFunction argument.
pA valarray of parameters, where
p[0] is the slope and
p[1] is the y intersection.
Returns
The evaluated function.

◆ flin_init()

void stfnum::flin_init ( const Vector_double & data,
double base,
double peak,
double RTLoHi,
double HalfWidth,
double dt,
Vector_double & pInit )

Dummy function to be passed to stfnum::storedFunc for linear functions.

References base(), peak(), and StfnumDll.

◆ get() [1/5]

std::deque< Section > & Channel::get ( )
inline

Low-level access to the section array (read and write).

Returns
The vector containing the sections.

Definition at line 119 of file channel.h.

◆ get() [2/5]

const std::deque< Section > & Channel::get ( ) const
inline

Low-level access to the section array (read-only).

Returns
The vector containing the sections.

Definition at line 113 of file channel.h.

◆ get() [3/5]

std::deque< Channel > & Recording::get ( )
inline

Retrieves the channels (read and write).

Returns
A vector containing the channels.

Definition at line 89 of file recording.h.

◆ get() [4/5]

const std::deque< Channel > & Recording::get ( ) const
inline

Retrieves the channels (read-only).

Returns
A vector containing the channels.

Definition at line 84 of file recording.h.

◆ get() [5/5]

const Vector_double & Section::get ( ) const
inline

Low-level access to the valarray (read-only).

An explicit function is used instead of implicit type conversion to access the valarray.

Returns
The valarray containing the data points.

Definition at line 97 of file section.h.

◆ get_scale()

Vector_double stfnum::get_scale ( Vector_double & data,
double oldx )

Compute and perform normalisation.

Parameters
dataData vector; will be scaled upon return
oldxoriginal x interval
Returns
A vector with
[0] x scale [1] x offset [2] y scale [3] y offset

◆ get_w()

Vector_double & Section::get_w ( )
inline

Low-level access to the valarray (read and write).

An explicit function is used instead of implicit type conversion to access the valarray.

Returns
The valarray containing the data points.

Definition at line 104 of file section.h.

◆ GetAnnotationList()

std::vector< Annotation > Section::GetAnnotationList ( )

◆ GetChannelName()

const std::string & Channel::GetChannelName ( ) const
inline

Retrieves the channel name.

Returns
The channel name.

Definition at line 84 of file channel.h.

◆ GetChannelSize()

std::size_t Recording::GetChannelSize ( std::size_t n_channel) const

Retrieves the number of sections in a channel.

Parameters
n_channelThe index of the channel (range-checked).
Returns
The number of sections in n_channel.

◆ GetCheckBox()

wxCheckBox * stf::Event::GetCheckBox ( )
inline

Get the check box associated with this event.

Returns
The wxCheckBox associated with this event

Definition at line 291 of file stf.h.

◆ GetColLabel()

const std::string & stfnum::Table::GetColLabel ( std::size_t col) const

Retrieves the label of a column.

Parameters
col0-based column index.
Returns
Column label string.

◆ GetComment()

const std::string & Recording::GetComment ( ) const
inline

Retrieves a comment string.

Returns
A string containing a comment.

Definition at line 114 of file recording.h.

◆ GetCurChIndex()

std::size_t Recording::GetCurChIndex ( ) const
inline

Retrieves the index of the current channel.

Returns
The index of the current channel.

Definition at line 139 of file recording.h.

◆ GetCurSecIndex()

std::size_t Recording::GetCurSecIndex ( ) const
inline

Retrieves the index of the current section.

Returns
The index of the current section.

Definition at line 149 of file recording.h.

◆ GetDateTime()

struct tm Recording::GetDateTime ( ) const
inline

Retrieves the date of recording as a string.

Returns
A string containing the date of recording.

Definition at line 109 of file recording.h.

References GetDateTime().

Referenced by GetDateTime().

◆ GetDiscard()

bool stf::Event::GetDiscard ( ) const
inline

Indicates whether an event should be discarded.

Returns
true if it should be discarded, false otherwise.

Definition at line 287 of file stf.h.

◆ GetEventDescription()

std::string Recording::GetEventDescription ( int type)

Get Description of Event Type.

◆ GetEventPeakIndex()

std::size_t stf::Event::GetEventPeakIndex ( ) const
inline

Retrieves the index of an event's peak.

Returns
The index of an event's peak within a section.

Definition at line 279 of file stf.h.

◆ GetEventSize()

std::size_t stf::Event::GetEventSize ( ) const
inline

Retrieves the size of an event.

Returns
The size of an event in units of data points.

Definition at line 283 of file stf.h.

◆ GetEventStartIndex()

std::size_t stf::Event::GetEventStartIndex ( ) const
inline

Retrieves the start index of an event.

Returns
The start index of an event within a section.

Definition at line 275 of file stf.h.

◆ GetFileDescription()

const std::string & Recording::GetFileDescription ( ) const
inline

Retrieves the file description.

Returns
The file description.

Definition at line 94 of file recording.h.

◆ GetFirstAnnotationPosition()

std::size_t Section::GetFirstAnnotationPosition ( )

◆ GetFuncLib()

StfnumDll std::vector< stfnum::storedFunc > stfnum::GetFuncLib ( )

Returns the library of functions for non-linear regression.

Returns
A vector of non-linear regression functions.

◆ GetGlobalSectionDescription()

const std::string & Recording::GetGlobalSectionDescription ( ) const
inline

Retrieves the common section description.

Returns
The common section description.

Definition at line 99 of file recording.h.

◆ GetLastAnnotationPosition()

std::size_t Section::GetLastAnnotationPosition ( )

◆ getParInfoExp()

std::vector< stfnum::parInfo > stfnum::getParInfoExp ( int n_exp)

Creates stfnum::parInfo structs for n-exponential functions.

Parameters
n_expNumber of exponential terms.
Returns
A vector of parameter information structs.

◆ GetRowLabel()

const std::string & stfnum::Table::GetRowLabel ( std::size_t row) const

Retrieves the label of a row.

Parameters
row0-based row index.
Returns
Row label string.

◆ GetScaling()

const std::string & Recording::GetScaling ( ) const
inline

Retrieves the scaling as a string.

Returns
A string containing the description.

Definition at line 104 of file recording.h.

◆ GetSecChIndex()

std::size_t Recording::GetSecChIndex ( ) const
inline

Retrieves the index of the second channel.

Returns
The index of the second channel.

Definition at line 144 of file recording.h.

◆ GetSectionDescription()

const std::string & Section::GetSectionDescription ( ) const
inline

Retrieves a section description.

Returns
A string describing this section.

Definition at line 131 of file section.h.

◆ GetSectionSize()

std::size_t Section::GetSectionSize ( )

Range-checked access. Returns a non-const reference.

Throws std::out_of_range if out of range.

Parameters
at_Data point index.
Returns
Reference to the data point at index at_ Retrieves a section's data size.
A size_t describing this section's data size.

◆ GetSectionType()

int Recording::GetSectionType ( size_t section_number)

Get Type of Section.

◆ GetSelectBase()

const Vector_double & Recording::GetSelectBase ( ) const
inline

Retrieves the stored baseline values of the selected sections (read-only).

Returns
A vector containing the stored baseline values of the selected sections.

Definition at line 164 of file recording.h.

◆ GetSelectBaseW()

Vector_double & Recording::GetSelectBaseW ( )
inline

Retrieves the stored baseline values of the selected sections (read and write).

Returns
A vector containing the stored baseline values of the selected sections.

Definition at line 169 of file recording.h.

◆ GetSelectedSections()

const std::vector< std::size_t > & Recording::GetSelectedSections ( ) const
inline

Retrieves the indices of the selected sections (read-only).

Returns
A vector containing the indices of the selected sections.

Definition at line 154 of file recording.h.

◆ GetSelectedSectionsW()

std::vector< std::size_t > & Recording::GetSelectedSectionsW ( )
inline

Retrieves the indices of the selected sections (read and write).

Returns
A vector containing the indices of the selected sections.

Definition at line 159 of file recording.h.

◆ GetSR()

double Recording::GetSR ( ) const
inline

Retrieves the sampling rate ( 1 / x-scale )

Returns
The sampling rate.

Definition at line 134 of file recording.h.

◆ GetXScale() [1/2]

double Recording::GetXScale ( ) const
inline

Retrieves the x scaling (sampling interval).

Returns
The x scaling.

Definition at line 129 of file recording.h.

◆ GetXScale() [2/2]

double Section::GetXScale ( ) const
inline

Retrieves the x scaling.

Returns
The x scaling.

Definition at line 126 of file section.h.

◆ GetXUnits()

const std::string & Recording::GetXUnits ( ) const
inline

Retrieves the x units.

Returns
The x units. Currently hard-coded to be "ms".

Definition at line 119 of file recording.h.

◆ GetYUnits()

const std::string & Channel::GetYUnits ( ) const
inline

Retrieves the y units string.

Returns
The y units string.

Definition at line 89 of file channel.h.

◆ histogram()

std::map< double, int > stfnum::histogram ( const Vector_double & data,
int nbins = -1 )

Computes a histogram.

Parameters
dataThe signal
nbinsNumber of bins in the histogram.
Returns
A map with lower bin limits as keys, number of observations as values.

References StfnumDll.

◆ ifstreamMan()

stf::ifstreamMan::ifstreamMan ( const wxString & filename)
inline

Constructor.

See fstream documentation for details

Definition at line 237 of file stf.h.

References myStream.

◆ initLinFunc()

StfnumDll stfnum::storedFunc stfnum::initLinFunc ( )

initializes a linear function

Returns
An stfnum::storedFunc that can be used to store a linear function after a fit

◆ InitSectionMarkerList()

void Recording::InitSectionMarkerList ( size_t n)

Initialize List of Section Markers.

References n.

◆ InsertChannel()

virtual void Recording::InsertChannel ( Channel & c_Channel,
std::size_t pos )
virtual

Insert a Channel at a given position.

Will throw std::out_of_range if range check fails.

Parameters
c_ChannelThe Channel to be inserted.
posThe position at which to insert the channel (0-based).

Reimplemented in wxStfDoc.

◆ InsertSection()

void Channel::InsertSection ( const Section & c_Section,
std::size_t pos )

Inserts a section at the given position, overwriting anything that's currently stored at that position.

Meant to be used after constructing with Channel(const unsigned int& c_n_sections}. The section array size has to be larger than pos because it won't be resized. Will throw std::out_of_range if out of range.

Parameters
c_SectionThe section to be inserted.
posThe position at which to insert the section.

◆ integrate_simpson()

StfnumDll double stfnum::integrate_simpson ( const Vector_double & input,
std::size_t a,
std::size_t b,
double x_scale )

Integration using Simpson's rule.

Parameters
inputThe valarray to be integrated.
aStart of the integration interval.
bEnd of the integration interval.
x_scaleSampling interval.
Returns
The integral of input between a and b.

References StfnumDll.

◆ integrate_trapezium()

StfnumDll double stfnum::integrate_trapezium ( const Vector_double & input,
std::size_t a,
std::size_t b,
double x_scale )

Integration using the trapezium rule.

Parameters
inputThe valarray to be integrated.
aStart of the integration interval.
bEnd of the integration interval.
x_scaleSampling interval.
Returns
The integral of input between a and b.

◆ IsEmpty()

bool stfnum::Table::IsEmpty ( std::size_t row,
std::size_t col ) const

Check whether a cell is empty.

Parameters
row0-based row index.
col0-based column index.
Returns
true if empty, false otherwise.

◆ linCorr()

StfnumDll Vector_double stfnum::linCorr ( const Vector_double & va1,
const Vector_double & va2,
stfio::ProgressInfo & progDlg )

Computes the linear correlation between two arrays.

Parameters
va1First array.
va2Second array.
Returns
The linear correlation between the two arrays for each data point of va1.

References StfnumDll.

◆ linFit()

template<typename T>
T stfnum::linFit ( const std::vector< T > & x,
const std::vector< T > & y,
T & m,
T & c )

Performs a linear fit.

Parameters
xThe x- values of the data that are to be fitted.
yThe y- values of the data that are to be fitted.
mOn exit, the slope of the regression line.
cOn exit, the y-intercept of the regression line.
Returns
A valarray containing the waveform of the fitted function.

Definition at line 107 of file fit.h.

References n.

◆ linsolv()

int stfnum::linsolv ( int m,
int n,
int nrhs,
Vector_double & A,
Vector_double & B )

Solves a linear equation system using LAPACK.

Uses column-major order for matrices. For an example, see Section::SetIsIntegrated()

Parameters
mNumber of rows of the matrix A.
nNumber of columns of the matrix A.
nrhsNumber of columns of the matrix B.
AOn entry, the left-hand-side matrix. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.
BOn entry, the right-hand-side matrix. On exit, the solution to the linear equation system.
Returns
At present, always returns 0.

References n, and StfnumDll.

◆ LM_default_opts()

StfnumDll Vector_double stfnum::LM_default_opts ( )

Return default LM options.

Returns
Default LM options

References StfnumDll.

◆ lmFit()

double StfnumDll stfnum::lmFit ( const Vector_double & data,
double dt,
const stfnum::storedFunc & fitFunc,
const Vector_double & opts,
bool use_scaling,
Vector_double & p,
std::string & info,
int & warning )

Uses the Levenberg-Marquardt algorithm to perform a non-linear least-squares fit.

Parameters
dataA valarray containing the data.
dtThe sampling interval of data.
fitFuncAn stfnum::storedFunc to be fitted to data.
optsOptions controlling Lourakis' implementation of the algorithm.
use_scalingWhether to scale x and y-amplitudes to 1.0
pfunc's parameters. Should be set to an initial guess on entry. Will contain the best-fit values on exit.
infoInformation about why the fit stopped iterating
warningA warning code on return.
Returns
The sum of squred errors between data and the best-fit function.

References StfnumDll.

◆ MakeAverage()

void Recording::MakeAverage ( Section & AverageReturn,
Section & SigReturn,
std::size_t channel,
const std::vector< std::size_t > & section_index,
bool isSig,
const std::vector< int > & shift ) const

Calculates an average of several traces.

Parameters
AverageReturnThe average will be returned in this variable by passing a reference. AverageReturn has to have the correct size upon entering this function already, it won't be resized.
SigReturnThe standard deviation will be returned in this variable by passing a reference if isSig == true. SigReturn has to have the correct size upon entering this function already, it won't be resized.
channelThe index of the channel to be used.
section_indexA vector containing the indices of the sections to be used for the average.
isSigSet to true if the standard deviation should be calculated as well.
shiftA vector indicating by how many data points each section should be shifted before averaging.

References channel.

◆ maxDecay()

StfnumDll double stfnum::maxDecay ( const std::vector< double > & data,
double left,
double right,
double & maxDecayT,
double & maxDecayY,
std::size_t windowLength )

Find the maximal slope during the decaying phase of an event within data.

Parameters
dataThe data waveform to be analysed.
leftDelimits the search to the left.
rightDelimits the search to the right.
maxDecayTThe interpolated time point of the maximal slope of decay in units of sampling points.
maxDecayYThe interpolated value of data at maxDecayT.
windowLengthis the distance (in number of samples) used to compute the slope, the default value is 1.
Returns
The maximal slope during the decaying phase.

◆ maxRise()

StfnumDll double stfnum::maxRise ( const std::vector< double > & data,
double left,
double right,
double & maxRiseT,
double & maxRiseY,
std::size_t windowLength )

Find the maximal slope during the rising phase of an event within data.

Parameters
dataThe data waveform to be analysed.
leftDelimits the search to the left.
rightDelimits the search to the right.
maxRiseTThe interpolated time point of the maximal slope of rise in units of sampling points.
maxRiseYThe interpolated value of data at maxRiseT.
windowLengthis the distance (in number of samples) used to compute the slope, the default value is 1.
Returns
The maximal slope during the rising phase.

References StfnumDll.

◆ MoveAnnotation()

void Section::MoveAnnotation ( size_t index,
int new_position )

◆ nCols()

std::size_t stfnum::Table::nCols ( ) const
inline

Retrieves the number of columns.

Returns
The number of columns.

Definition at line 225 of file stfnum.h.

Referenced by Table().

◆ nojac()

Vector_double stfnum::nojac ( double x,
const Vector_double & p )

Dummy function, serves as a placeholder to initialize functions without a Jacobian.

◆ noPath()

wxString stf::noPath ( const wxString & fName)

Strips the directory off a full path name, returns only the filename.

Parameters
fNameThe full path of a file.
Returns
The file name without the directory.

◆ noscale()

double stfnum::noscale ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Dummy function, serves as a placeholder to initialize parameters without a scaling function.

References xscale(), and yscale().

Referenced by stfnum::parInfo::parInfo(), and stfnum::parInfo::parInfo().

◆ nRows()

std::size_t stfnum::Table::nRows ( ) const
inline

Retrieves the number of rows.

Returns
The number of rows.

Definition at line 220 of file stfnum.h.

Referenced by AppendRows(), and Table().

◆ ofstreamMan()

stf::ofstreamMan::ofstreamMan ( const wxString & filename)
inline

Constructor.

See fstream documentation for details

Definition at line 253 of file stf.h.

References myStream.

◆ operator[]() [1/6]

Section & Channel::operator[] ( std::size_t at_)
inline

Unchecked access to a section (read and write)

Use at() for range-checked access.

Parameters
at_The section index.
Returns
The section at index at_.

Definition at line 70 of file channel.h.

◆ operator[]() [2/6]

const Section & Channel::operator[] ( std::size_t at_) const
inline

Unchecked access to a section (read-only)

Use at() for range-checked access.

Parameters
at_The section index.
Returns
The section at index at_.

Definition at line 77 of file channel.h.

◆ operator[]() [3/6]

Channel & Recording::operator[] ( std::size_t at)
inline

Unchecked channel access (read and write)

Use at() for range-checked access.

Parameters
atThe channel index.

Definition at line 355 of file recording.h.

References at().

◆ operator[]() [4/6]

const Channel & Recording::operator[] ( std::size_t at) const
inline

Unchecked channel access (read-only)

Use at() for range-checked access.

Parameters
atThe channel index.

Definition at line 361 of file recording.h.

References at().

◆ operator[]() [5/6]

double & Section::operator[] ( std::size_t at)
inline

Unchecked access. Returns a non-const reference.

Parameters
atData point index.
Returns
Copy of the data point with index at.

Definition at line 68 of file section.h.

References at().

◆ operator[]() [6/6]

double Section::operator[] ( std::size_t at) const
inline

Unchecked access. Returns a copy.

Parameters
atData point index.
Returns
Reference to the data point with index at.

Definition at line 74 of file section.h.

References at().

◆ outputWTau()

stfnum::Table stfnum::outputWTau ( const Vector_double & p,
const std::vector< stfnum::parInfo > & parsInfo,
double chisqr )

Calculates a weighted time constant.

Parameters
pParameters of an exponential function (see stfnum::fexp()).
parsInfoInformation about the parameters p.
chisqrThe sum of squared errors, as returned from a least-squares fit.
Returns
A formatted table of results.

◆ parInfo() [1/2]

stfnum::parInfo::parInfo ( )
inline

Default constructor.

Definition at line 120 of file stfnum.h.

References constr_lb, constr_ub, constrained, desc, stfnum::noscale(), scale, toFit, and unscale.

◆ parInfo() [2/2]

stfnum::parInfo::parInfo ( const std::string & desc_,
bool toFit_,
bool constrained_ = false,
double constr_lb_ = 0,
double constr_ub_ = 0,
Scale scale_ = noscale,
Scale unscale_ = noscale )
inline

Constructor.

Parameters
desc_Parameter description string
toFit_true if this parameter should be fitted, false if it should be kept fixed.
constrained_true if this is a constrained fit
constr_lb_lower bound for constrained fit
constr_ub_upper bound for constrained fit
scale_scaling function
unscale_unscaling function

Definition at line 133 of file stfnum.h.

References constr_lb, constr_ub, constrained, desc, stfnum::noscale(), scale, toFit, and unscale.

◆ peak()

StfnumDll double stfnum::peak ( const std::vector< double > & data,
double base,
std::size_t llp,
std::size_t ulp,
int pM,
stfnum::direction ,
double & maxT )

Find the peak value of data between llp and ulp.

Note that peaks will be detected by measuring from base, but the return value is given from 0. Data points at both llp and ulp will be included in the search (legacy of Stimfit for PASCAL).

Parameters
dataThe data waveform to be analysed.
baseThe baseline value.
llpLower limit of the peak window.
ulpUpper limit of the peak window.
pMIf pM > 1, a sliding (boxcar) average of width pM will be used to measure the peak.
dirCan be
stfnum::up for positive-going peaks,
stfnum::down for negative-going peaks or
stfnum::both for negative- or positive-going peaks, whichever is larger.
maxTOn exit, the index of the peak value. May be interpolated if pM > 1.
Returns
The peak value, measured from 0.

References base(), pM, and StfnumDll.

Referenced by falpha_init(), fexp_init(), fexp_init2(), fexpbde_init(), fexpde_init(), fexptde_init(), fgauss_init(), fgnabiexp_init(), fHH_init(), and flin_init().

◆ peakIndices()

StfnumDll std::vector< int > stfnum::peakIndices ( const Vector_double & data,
double threshold,
int minDistance )

Searches for positive-going peaks.

Parameters
dataThe valarray to be searched for peaks.
thresholdMinimal amplitude of a peak.
minDistanceMinimal distance between subsequent peaks.
Returns
A vector of indices where peaks have occurred in data.

References StfnumDll, and threshold().

◆ Plugin()

stf::Plugin::Plugin ( const wxString & menuEntry_,
const PluginFunc & pluginFunc_,
const UserInput & input_ = UserInput() )
inline

Constructor.

Parameters
menuEntry_Menu entry string for this plugin.
pluginFunc_Function to be executed by this plugin.
input_Dialog entries required by this plugin.

Definition at line 180 of file stf.h.

References input, menuEntry, n_plugins, and pluginFunc.

◆ pow2()

int stfnum::pow2 ( int arg)
inline

Computes \( 2^{arg} \). Uses the bitwise-shift operator (<<).

Parameters
argArgument of the function.
Returns
\( 2^{arg} \).

Definition at line 549 of file stfnum.h.

◆ PyMarker()

stf::PyMarker::PyMarker ( double xv,
double yv )
inline

Constructor.

Parameters
xvx-coordinate.
yvy-coordinate.

Definition at line 328 of file stf.h.

References x, and y.

◆ quad()

StfnumDll Vector_double stfnum::quad ( const Vector_double & data,
std::size_t begin,
std::size_t end )

Solve quadratic equations for 3 adjacent sampling points.

Parameters
dataThe data vector
beginStart of interval to be used
endEnd of interval to be used
Returns
Parameters of quadratic equation

References StfnumDll.

◆ Recording() [1/4]

Recording::Recording ( )
explicit

◆ Recording() [2/4]

Recording::Recording ( const Channel & c_Channel)
explicit

Constructor.

Parameters
c_ChannelThe Channel from which to construct a new Recording.

◆ Recording() [3/4]

Recording::Recording ( const std::deque< Channel > & ChannelList)
explicit

Constructor.

Parameters
ChannelListA vector of channels from which to construct a new Recording.

◆ Recording() [4/4]

Recording::Recording ( std::size_t c_n_channels,
std::size_t c_n_sections = 0,
std::size_t c_n_points = 0 )
explicit

Constructor.

Setting the number of channels and sections at construction time will avoid unnecessary memory re-allocations.

Parameters
c_n_channelsThe number of channels.
c_n_sectionsThe number of sections.
c_n_pointsThe number of sampling points per section.

◆ RemoveAnnotation()

void Section::RemoveAnnotation ( size_t index)

◆ reserve()

void Channel::reserve ( std::size_t resSize)

Reserve memory for a number of sections.

This will avoid unnecessary memory re-allocations.

Parameters
resSizeThe number of sections to reserve memory for.

◆ resize() [1/3]

void Channel::resize ( std::size_t newSize)

Resize the section array.

Parameters
newSizeThe new number of sections.

◆ resize() [2/3]

virtual void Recording::resize ( std::size_t c_n_channels)
virtual

Resize the Recording to a new number of channels.

Resizes both the channel and the global y units arrays.

Parameters
c_n_channelsThe new number of channels.

Reimplemented in wxStfDoc.

◆ resize() [3/3]

void Section::resize ( std::size_t new_size)
inline

Resize the Section to a new number of data points; deletes all previously stored data when gcc is used.

Note that in the gcc implementation of std::vector, resizing will delete all the original data. This is different from std::vector::resize().

Parameters
new_sizeThe new number of data points.

Definition at line 111 of file section.h.

◆ risetime()

StfnumDll double stfnum::risetime ( const std::vector< double > & data,
double base,
double ampl,
double left,
double right,
double frac,
std::size_t & tLoId,
std::size_t & tHiId,
double & tLoReal )

Find 20 to 80% rise time of an event in data.

Although t80real is not explicitly returned, it can be calculated from t20Real+risetime.

Parameters
dataThe data waveform to be analysed.
baseThe baseline value.
amplThe amplitude of the event (typically, peak-base).
leftDelimits the search to the left.
rightDelimits the search to the right.
t20IdOn exit, the index wich is closest to the 20%-point.
t80IdOn exit, the index wich is closest to the 80%-point.
t20Realthe linearly interpolated 20%-timepoint in units of sampling points.
Returns
The rise time.

References base(), and StfnumDll.

◆ risetime2()

StfnumDll double stfnum::risetime2 ( const std::vector< double > & data,
double base,
double ampl,
double left,
double right,
double frac,
double & innerTLoReal,
double & innerTHiReal,
double & outerTLoReal,
double & outerTHiReal )

Find 20 to 80% rise time of an event in data.

Although t80real is not explicitly returned, it can be calculated from t20Real+risetime.

Parameters
dataThe data waveform to be analysed.
baseThe baseline value.
amplThe amplitude of the event (typically, peak-base).
leftDelimits the search to the left.
rightDelimits the search to the right.
innerTLoRealinterpolated starting point of the inner risetime
innerTHiRealinterpolated end point of the inner risetime
outerTLoRealinterpolated starting point of the outer risetime
outerTHiRealinterpolated end point of the outer risetime the inner rise time is (innerTHiReal-innerTLoReal), the outer rise time is (outerTHiReal-outerTLoReal), in case of noise free data, inner and outer rise time are the same.
Returns
The inner rise time.

References base(), and StfnumDll.

◆ round()

int stf::round ( double toRound)
inline

Does what it says.

Parameters
toRoundThe double to be rounded.
Returns
The rounded integer.

Definition at line 434 of file stf.h.

◆ secch()

const Channel & Recording::secch ( ) const
inline

Retrieves the second (reference) channel (read-only)

Returns
The second (reference) channel.

Definition at line 199 of file recording.h.

◆ secsec()

const Section & Recording::secsec ( ) const
inline

Retrieves the currently accessed section in the second (reference) channel (read-only)

Returns
The currently accessed section in the second (reference) channel.

Definition at line 184 of file recording.h.

◆ Section() [1/3]

Section::Section ( )
explicit

Default constructor.

◆ Section() [2/3]

Section::Section ( const Vector_double & valA,
const std::string & label = "\0" )
explicit

Constructor.

Parameters
valAA vector of values that will make up the section.
labelAn optional section label string.

◆ Section() [3/3]

Section::Section ( std::size_t size,
const std::string & label = "\0" )
explicit

Yet another constructor.

Parameters
sizeNumber of data points.
labelAn optional section label string.

References size().

◆ SectionAttributes()

stf::SectionAttributes::SectionAttributes ( )

◆ SectionPointer()

stf::SectionPointer::SectionPointer ( Section * pSec = NULL,
const SectionAttributes & sa = SectionAttributes() )

◆ sectionToString()

wxString stf::sectionToString ( const Section & section)

Converts a Section to a wxString.

Parameters
sectionThe Section to be written to a string.
Returns
A string containing the x- and y-values of the section in two columns.

◆ SelectTrace()

void Recording::SelectTrace ( std::size_t sectionToSelect,
std::ptrdiff_t base_start,
std::ptrdiff_t base_end )

Selects a section.

Parameters
sectionToSelectThe index of the section to be selected.
base_startStart index for baseline
base_endEnd index for baseline

◆ SetChannelName()

void Channel::SetChannelName ( const std::string & value)
inline

Sets the channel name.

Parameters
valueThe channel name.

Definition at line 126 of file channel.h.

◆ SetColLabel()

void stfnum::Table::SetColLabel ( std::size_t col,
const std::string & label )

Sets the label of a column.

Parameters
col0-based column index.
labelColumn label string.

◆ SetComment()

void Recording::SetComment ( const std::string & value)
inline

Sets a comment string.

Parameters
valueA string containing a comment.

Definition at line 257 of file recording.h.

◆ SetCurChIndex()

void Recording::SetCurChIndex ( std::size_t value)

Sets the index of the current channel.

Parameters
valueThe index of the current channel.

◆ SetCurSecIndex()

void Recording::SetCurSecIndex ( std::size_t value)

Sets the index of the current section.

Parameters
valueThe index of the current section.

◆ SetDate() [1/2]

int Recording::SetDate ( const std::string & value)

Sets the date of recording as a string.

Parameters
valueA string containing the date of recording.
Returns
0 in case of success, non-zero in case of failure

◆ SetDate() [2/2]

int Recording::SetDate ( int year,
int month,
int mday )

◆ SetDateTime() [1/2]

void Recording::SetDateTime ( const struct tm & value)
inline

Sets the date and time of recording as struct tm.

Parameters
valuehas type struct tm

Definition at line 251 of file recording.h.

◆ SetDateTime() [2/2]

void Recording::SetDateTime ( int year,
int month,
int mday,
int hour,
int minute,
int sec )

◆ SetEmpty()

void stfnum::Table::SetEmpty ( std::size_t row,
std::size_t col,
bool value = true )

Empties or un-empties a cell.

Parameters
row0-based row index.
col0-based column index.
valuetrue if the cell should be empty, false otherwise.

◆ SetEventDescription()

void Recording::SetEventDescription ( int type,
const char * Description )

Set Description of Event Type.

◆ SetEventPeakIndex()

void stf::Event::SetEventPeakIndex ( std::size_t value)
inline

Sets the index of an event's peak.

Parameters
valueThe index of an event's peak within a section.

Definition at line 299 of file stf.h.

◆ SetEventSize()

void stf::Event::SetEventSize ( std::size_t value)
inline

Sets the size of an event.

Parameters
valueThe size of an event in units of data points.

Definition at line 303 of file stf.h.

◆ SetEventStartIndex()

void stf::Event::SetEventStartIndex ( std::size_t value)
inline

Sets the start index of an event.

Parameters
valueThe start index of an event within a section.

Definition at line 295 of file stf.h.

◆ SetFileDescription()

void Recording::SetFileDescription ( const std::string & value)
inline

Sets the file description.

Parameters
valueThe file description.

Definition at line 220 of file recording.h.

◆ SetGlobalSectionDescription()

void Recording::SetGlobalSectionDescription ( const std::string & value)
inline

Sets the common section description.

Parameters
valueThe common section description.

Definition at line 225 of file recording.h.

◆ SetGlobalYUnits()

void Recording::SetGlobalYUnits ( std::size_t n_channel,
const std::string & value )

Sets the y units for a channel.

Parameters
n_channelThe channel index for which to set the units.
valueA string containing the y units.

◆ SetRowLabel()

void stfnum::Table::SetRowLabel ( std::size_t row,
const std::string & label )

Sets the label of a row.

Parameters
row0-based row index.
labelRow label string.

◆ SetScaling()

void Recording::SetScaling ( const std::string & value)
inline

Sets the scaling as a string.

Parameters
valueA string containing the description.

Definition at line 232 of file recording.h.

◆ SetSecChIndex()

void Recording::SetSecChIndex ( std::size_t value)

Sets the index of the second channel.

Parameters
valueThe index of the second channel.

◆ SetSectionDescription()

void Section::SetSectionDescription ( const std::string & value)
inline

Sets a section description.

Parameters
valueA string describing this section.

Definition at line 136 of file section.h.

◆ SetSectionType()

void Recording::SetSectionType ( size_t section_number,
int type )

Set Type of Section.

◆ SetTime() [1/2]

int Recording::SetTime ( const std::string & value)

Sets the time of recording as a string.

Parameters
valueA string containing the time of recording.
Returns
0 in case of success, non-zero in case of failure

◆ SetTime() [2/2]

int Recording::SetTime ( int hour,
int minute,
int sec )

◆ SetXScale() [1/2]

void Recording::SetXScale ( double value)

Sets the x scaling.

Note that setting the global x-scale will set it for all sections

Parameters
valueThe x scaling.

◆ SetXScale() [2/2]

void Section::SetXScale ( double value)

Sets the x scaling.

Parameters
valueThe x scaling.

◆ SetXUnits()

void Recording::SetXUnits ( const std::string & value)
inline

Sets the x units.

Parameters
valueA string containing the x units.

Definition at line 268 of file recording.h.

◆ SetYUnits()

void Channel::SetYUnits ( const std::string & value)
inline

Sets the y units string.

Parameters
valueThe new y units string.

Definition at line 131 of file channel.h.

◆ size() [1/3]

size_t Channel::size ( ) const
inline

Retrieves the size of the section array.

Returns
The size of the section array.

Definition at line 94 of file channel.h.

◆ size() [2/3]

std::size_t Recording::size ( ) const
inline

Retrieves the size of the channel array.

Returns
The size of the channel array.

Definition at line 124 of file recording.h.

◆ size() [3/3]

size_t Section::size ( ) const
inline

Retrieve the number of data points.

Returns
The number of data points.

Definition at line 116 of file section.h.

Referenced by Section().

◆ SQR()

template<typename T>
T stfnum::SQR ( T a)
inline

Calculates the square of a number.

Parameters
aArgument of the function.
Returns
a ^2

Definition at line 602 of file stfnum.h.

◆ std2wx()

wxString stf::std2wx ( const std::string & sst)

◆ storedFunc()

stfnum::storedFunc::storedFunc ( const std::string & name_,
const std::vector< parInfo > & pInfo_,
const Func & func_,
const Init & init_,
const Jac & jac_,
bool hasJac_ = true,
const Output & output_ = defaultOutput )
inline

Constructor.

Parameters
name_Plain function name.
pInfo_A vector containing information about the function parameters.
func_The function that will be fitted to the data.
jac_Jacobian of func_.
hasJac_true if a Jacobian is available.
init_A function for initialising the parameters.
output_Output of the fit.

Definition at line 281 of file stfnum.h.

References stfnum::defaultOutput(), func, hasJac, init, jac, name, output, and pInfo.

◆ t_half()

StfnumDll double stfnum::t_half ( const std::vector< double > & data,
double base,
double ampl,
double left,
double right,
double center,
std::size_t & t50LeftId,
std::size_t & t50RightId,
double & t50LeftReal )

Find the full width at half-maximal amplitude of an event within data.

Although t50RightReal is not explicitly returned, it can be calculated from t50LeftReal+t_half.

Parameters
dataThe data waveform to be analysed.
baseThe baseline value.
amplThe amplitude of the event (typically, peak-base).
leftDelimits the search to the left.
rightDelimits the search to the right.
centerThe estimated center of an event from which to start searching to the left and to the right (typically, the index of the peak).
t50LeftIdOn exit, the index wich is closest to the left 50%-point.
t50RightIdOn exit, the index wich is closest to the right 50%-point.
t50LeftRealthe linearly interpolated left 50%-timepoint in units of sampling points.
Returns
The full width at half-maximal amplitude.

References base(), and StfnumDll.

◆ Table() [1/2]

stfnum::Table::Table ( const std::map< std::string, double > & map)

Constructor.

Parameters
mapA map used to initialise the table.

◆ Table() [2/2]

stfnum::Table::Table ( std::size_t nRows,
std::size_t nCols )

Constructor.

Parameters
nRowsInitial number of rows.
nColsInitial number of columns.

References nCols(), and nRows().

◆ threshold()

StfnumDll double stfnum::threshold ( const std::vector< double > & data,
std::size_t llp,
std::size_t ulp,
double slope,
double & thrT,
std::size_t windowLength )

Find the value within data between llp and ulp at which slope is exceeded.

Parameters
dataThe data waveform to be analysed.
llpLower limit of the peak window.
ulpUpper limit of the peak window.
thrTOn exit, The interpolated time point of the threshold crossing in units of sampling points, or a negative value if the threshold wasn't found.
windowLengthis the distance (in number of samples) used to compute the difference, the default value is 1.
Returns
The interpolated threshold value.

References StfnumDll.

Referenced by peakIndices().

◆ UnselectTrace()

bool Recording::UnselectTrace ( std::size_t sectionToUnselect)

Unselects a section if it was selected before.

Parameters
sectionToUnselectThe index of the section to be unselected.
Returns
true if the section was previously selected, false otherwise.

◆ Update()

bool stf::wxProgressInfo::Update ( int value,
const std::string & newmsg = "",
bool * skip = NULL )
virtual

Updates the progress info.

Parameters
valueNew value of the progress meter
newmsgNew message for the info text
skipThis is set to true if the user has chosen to skip the operation
Returns
True unless the operation was cancelled.

Implements stfio::ProgressInfo.

◆ UserInput()

stf::UserInput::UserInput ( const std::vector< std::string > & labels_ = std::vector<std::string>(0),
const Vector_double & defaults_ = Vector_double(0),
std::string title_ = "\0" )
inline

Constructor.

Parameters
labels_A vector of dialog entry label strings.
defaults_A vector of default dialog entries.
title_Dialog title.

Definition at line 156 of file stf.h.

References defaults, labels, and title.

◆ whereis()

std::size_t stfnum::whereis ( const Vector_double & data,
double value )

Finds the index of data where value is encountered for the first time.

Parameters
dataThe waveform to be searched.
valueThe value to be found.
Returns
The index of data right after value has been crossed.

References StfnumDll.

◆ wx2std()

std::string stf::wx2std ( const wxString & wxs)

◆ wxProgressInfo()

stf::wxProgressInfo::wxProgressInfo ( const std::string & title,
const std::string & message,
int maximum,
bool verbose = true )

◆ xscale()

double stfnum::xscale ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Scales a parameter that linearly depends on x.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset
Returns
Scaled parameter

References xscale(), and yscale().

Referenced by noscale(), xscale(), xunscale(), yscale(), yscaleoffset(), yunscale(), and yunscaleoffset().

◆ xunscale()

double stfnum::xunscale ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Unscales a parameter that linearly depends on x.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset
Returns
Unscaled parameter

References xscale(), and yscale().

◆ yscale()

double stfnum::yscale ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Scales a parameter that linearly depends on y.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset

References xscale(), and yscale().

Referenced by noscale(), xscale(), xunscale(), yscale(), yscaleoffset(), yunscale(), and yunscaleoffset().

◆ yscaleoffset()

double stfnum::yscaleoffset ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Scales a parameter that linearly depends on y and adds an offset.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset

References xscale(), and yscale().

◆ yunscale()

double stfnum::yunscale ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Unscales a parameter that linearly depends on y.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset
Returns
Unscaled parameter

References xscale(), and yscale().

◆ yunscaleoffset()

double stfnum::yunscaleoffset ( double param,
double xscale,
double xoff,
double yscale,
double yoff )

Unscales a parameter that linearly depends on y and removes the offset.

Parameters
Theparameter to scale
xscalex scaling factor
xoffx offset
yscaley scaling factor
yoffy offset
Returns
Unscaled parameter

References xscale(), and yscale().

◆ ~Channel()

Channel::~Channel ( )

Destructor.

◆ ~Event()

stf::Event::~Event ( )

Destructor.

◆ ~Extension()

stf::Extension::~Extension ( )
inline

Destructor.

Definition at line 222 of file stf.h.

◆ ~ifstreamMan()

stf::ifstreamMan::~ifstreamMan ( )
inline

Destructor.

Definition at line 242 of file stf.h.

References myStream.

◆ ~ofstreamMan()

stf::ofstreamMan::~ofstreamMan ( )
inline

Destructor.

Definition at line 258 of file stf.h.

References myStream.

◆ ~Plugin()

stf::Plugin::~Plugin ( )
inline

Destructor.

Definition at line 191 of file stf.h.

◆ ~Recording()

virtual Recording::~Recording ( )
virtual

Destructor.

◆ ~Section()

Section::~Section ( )

Destructor.

◆ ~storedFunc()

stfnum::storedFunc::~storedFunc ( )
inline

Destructor.

Definition at line 297 of file stfnum.h.

Variable Documentation

◆ bestFit

stfnum::Table stf::SectionAttributes::bestFit

Definition at line 345 of file stf.h.

◆ bestFitP

Vector_double stf::SectionAttributes::bestFitP

Definition at line 339 of file stf.h.

◆ constr_lb

double stfnum::parInfo::constr_lb

Lower boundary for box-constrained fits

Definition at line 143 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ constr_ub

double stfnum::parInfo::constr_ub

Upper boundary for box-constrained fits

Definition at line 144 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ constrained

bool stfnum::parInfo::constrained

true if this parameter should be constrained

Definition at line 142 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ defaults

Vector_double stf::UserInput::defaults

Default dialog entries.

Definition at line 148 of file stf.h.

Referenced by UserInput().

◆ desc

std::string stfnum::parInfo::desc

Parameter description string

Definition at line 140 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ description

std::string stf::Extension::description

Description for this function.

Definition at line 228 of file stf.h.

Referenced by Extension().

◆ eventList

std::vector<stf::Event> stf::SectionAttributes::eventList

Definition at line 335 of file stf.h.

◆ fitFunc

stfnum::storedFunc* stf::SectionAttributes::fitFunc

Definition at line 338 of file stf.h.

◆ func

Func stfnum::storedFunc::func

The function that will be fitted to the data.

Definition at line 303 of file stfnum.h.

Referenced by storedFunc().

◆ hasJac

bool stfnum::storedFunc::hasJac

True if the function has an analytic Jacobian.

Definition at line 306 of file stfnum.h.

Referenced by storedFunc().

◆ id [1/2]

int stf::Extension::id

The extension id; set automatically upon construction, so don't touch.

Definition at line 224 of file stf.h.

◆ id [2/2]

int stf::Plugin::id

The plugin id; set automatically upon construction, so don't touch.

Definition at line 193 of file stf.h.

◆ init

Init stfnum::storedFunc::init

A function for initialising the parameters.

Definition at line 304 of file stfnum.h.

Referenced by storedFunc().

◆ input

UserInput stf::Plugin::input

Dialog entries

Definition at line 197 of file stf.h.

Referenced by Plugin().

◆ isFitted

bool stf::SectionAttributes::isFitted

Definition at line 337 of file stf.h.

◆ isIntegrated

bool stf::SectionAttributes::isIntegrated

Definition at line 337 of file stf.h.

◆ jac

Jac stfnum::storedFunc::jac

Jacobian of func.

Definition at line 305 of file stfnum.h.

Referenced by storedFunc().

◆ labels

std::vector<std::string> stf::UserInput::labels

Dialog entry labels.

Definition at line 147 of file stf.h.

Referenced by UserInput().

◆ menuEntry [1/2]

std::string stf::Extension::menuEntry

Menu entry string for this extension.

Definition at line 226 of file stf.h.

Referenced by Extension().

◆ menuEntry [2/2]

wxString stf::Plugin::menuEntry

Menu entry string for this plugin.

Definition at line 195 of file stf.h.

Referenced by Plugin().

◆ myStream [1/2]

wxFFile stf::ifstreamMan::myStream

The managed stream.

Definition at line 245 of file stf.h.

Referenced by ifstreamMan(), and ~ifstreamMan().

◆ myStream [2/2]

wxFFile stf::ofstreamMan::myStream

The managed stream.

Definition at line 261 of file stf.h.

Referenced by ofstreamMan(), and ~ofstreamMan().

◆ n_extensions

int stf::Extension::n_extensions
static

Static extension counter. Initialised in extensions/extensions.cpp.

Definition at line 225 of file stf.h.

Referenced by Extension().

◆ n_plugins

int stf::Plugin::n_plugins
static

Static plugin counter. Initialised in plugins/plugins.cpp.

Definition at line 194 of file stf.h.

Referenced by Plugin().

◆ name

std::string stfnum::storedFunc::name

Function name.

Definition at line 301 of file stfnum.h.

Referenced by storedFunc().

◆ output

Output stfnum::storedFunc::output

Output of the fit.

Definition at line 307 of file stfnum.h.

Referenced by storedFunc().

◆ PI

const double stf::PI =3.14159265358979323846

Add decimals if you are not satisfied.

Definition at line 355 of file stf.h.

◆ pInfo

std::vector<parInfo> stfnum::storedFunc::pInfo

A vector containing information about the function parameters.

Definition at line 302 of file stfnum.h.

Referenced by storedFunc().

◆ pluginFunc

PluginFunc stf::Plugin::pluginFunc

The function to be executed by this plugin.

Definition at line 196 of file stf.h.

Referenced by Plugin().

◆ pSection

Section* stf::SectionPointer::pSection

Definition at line 350 of file stf.h.

◆ pyFunc

void* stf::Extension::pyFunc

Python function to be called.

Definition at line 227 of file stf.h.

Referenced by Extension().

◆ pyMarkers

std::vector<stf::PyMarker> stf::SectionAttributes::pyMarkers

Definition at line 336 of file stf.h.

◆ quad_p

Vector_double stf::SectionAttributes::quad_p

Definition at line 340 of file stf.h.

◆ requiresFile

bool stf::Extension::requiresFile

Whether a file needs to be open for this function to work

Definition at line 229 of file stf.h.

Referenced by Extension().

◆ scale

Scale stfnum::parInfo::scale

Scaling function for this parameter

Definition at line 145 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ sec_attr

SectionAttributes stf::SectionPointer::sec_attr

Definition at line 351 of file stf.h.

◆ storeFitBeg

std::size_t stf::SectionAttributes::storeFitBeg

Definition at line 341 of file stf.h.

◆ storeFitEnd

std::size_t stf::SectionAttributes::storeFitEnd

Definition at line 342 of file stf.h.

◆ storeIntBeg

std::size_t stf::SectionAttributes::storeIntBeg

Definition at line 343 of file stf.h.

◆ storeIntEnd

std::size_t stf::SectionAttributes::storeIntEnd

Definition at line 344 of file stf.h.

◆ title

std::string stf::UserInput::title

Dialog title.

Definition at line 149 of file stf.h.

Referenced by UserInput().

◆ toFit

bool stfnum::parInfo::toFit

true if this parameter should be fitted, false if it should be kept fixed.

Definition at line 141 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ unscale

Scale stfnum::parInfo::unscale

Unscaling function for this parameter

Definition at line 146 of file stfnum.h.

Referenced by parInfo(), and parInfo().

◆ x

double stf::PyMarker::x

x-coordinate in units of sampling points

Definition at line 329 of file stf.h.

Referenced by PyMarker().

◆ y

double stf::PyMarker::y

y-coordinate in trace units (e.g. mV)

Definition at line 330 of file stf.h.

Referenced by PyMarker().