#include <CellProperties.hpp>
Public Member Functions | |
CellProperties (std::vector< double > &rVoltage, std::vector< double > &rTime, double threshold=-30.0) | |
std::vector< double > | GetMaxUpstrokeVelocities () |
double | GetLastMaxUpstrokeVelocity () |
std::vector< double > | GetTimesAtMaxUpstrokeVelocity () |
double | GetTimeAtLastMaxUpstrokeVelocity () |
std::vector< double > | GetCycleLengths () |
std::vector< double > | GetPeakPotentials () |
std::vector< double > | GetRestingPotentials () |
std::vector< double > | GetAllActionPotentialDurations (const double percentage) |
double | GetLastActionPotentialDuration (const double percentage) |
std::vector< double > | GetActionPotentialAmplitudes () |
Private Member Functions | |
void | CalculateProperties () |
std::vector< double > | CalculateActionPotentialDurations (const double percentage) |
Private Attributes | |
std::vector< double > & | mrVoltage |
std::vector< double > & | mrTime |
double | mThreshold |
std::vector< double > | mOnsets |
std::vector< double > | mRestingValues |
std::vector< double > | mCycleLengths |
std::vector< double > | mPeakValues |
std::vector< double > | mMaxUpstrokeVelocities |
std::vector< double > | mTimesAtMaxUpstrokeVelocity |
It will calculate for a single cell: All the Action potential durations (at any percentage) Max. upstroke velocity for each AP Action potential amplitudes for each AP Peak & Resting membrane potentials for all AP Cycle lengths (time between onset of APs)
Definition at line 48 of file CellProperties.hpp.
CellProperties::CellProperties | ( | std::vector< double > & | rVoltage, | |
std::vector< double > & | rTime, | |||
double | threshold = -30.0 | |||
) | [inline] |
Constructor sets the data and calls CalculateProperties
&rVoltage | a reference to the vector of voltages | |
&rTime | a reference to the vector of times | |
threshold | is the thershold for determining if an AP started, defaults to -30 |
Definition at line 104 of file CellProperties.hpp.
References CalculateProperties().
void CellProperties::CalculateProperties | ( | ) | [private] |
Calculate all the cacheable values.
Definition at line 37 of file CellProperties.cpp.
References mCycleLengths, mMaxUpstrokeVelocities, mOnsets, mPeakValues, mRestingValues, mrTime, mrVoltage, mThreshold, and mTimesAtMaxUpstrokeVelocity.
Referenced by CellProperties().
std::vector< double > CellProperties::CalculateActionPotentialDurations | ( | const double | percentage | ) | [private] |
Actually calculate APD.
APD is taken to be the time from when the threshold is crossed to the time voltage reaches back to a value of RestingPotential+'percentage'*(amplitude-resting).
percentage | The percentage of the amplitude to calculate for. |
Definition at line 165 of file CellProperties.cpp.
References mOnsets, mPeakValues, mRestingValues, mrTime, and mrVoltage.
Referenced by GetAllActionPotentialDurations(), and GetLastActionPotentialDuration().
std::vector<double> CellProperties::GetMaxUpstrokeVelocities | ( | ) | [inline] |
Returns the maximum upstroke velocity for all APs.
Definition at line 117 of file CellProperties.hpp.
References mMaxUpstrokeVelocities.
Referenced by PropagationPropertiesCalculator::CalculateAllMaximumUpstrokeVelocities(), and PropagationPropertiesCalculator::CalculateConductionVelocity().
double CellProperties::GetLastMaxUpstrokeVelocity | ( | ) |
Returns the maximum upstroke velocity for the last AP. If only one incomplete AP is generated, it returns the maximal upstroke so far. If the threshold is never crossed, it throws an exception.
Definition at line 237 of file CellProperties.cpp.
References mMaxUpstrokeVelocities.
Referenced by PropagationPropertiesCalculator::CalculateMaximumUpstrokeVelocity().
std::vector<double> CellProperties::GetTimesAtMaxUpstrokeVelocity | ( | ) | [inline] |
Returns the time at which the maximum upstroke velocity occured for all APs.
Definition at line 136 of file CellProperties.hpp.
References mTimesAtMaxUpstrokeVelocity.
Referenced by PropagationPropertiesCalculator::CalculateAllConductionVelocities(), PropagationPropertiesCalculator::CalculateConductionVelocity(), and PropagationPropertiesCalculator::CalculateUpstrokeTimes().
double CellProperties::GetTimeAtLastMaxUpstrokeVelocity | ( | ) |
Returns the time at which the maximum upstroke velocity for the last complete AP occurred. If only one incomplete AP is generated, it returns the time of the maximal upstroke so far. If the threshold is never crossed, it throws an exception.
Definition at line 247 of file CellProperties.cpp.
References mTimesAtMaxUpstrokeVelocity.
Referenced by PropagationPropertiesCalculator::CalculateConductionVelocity().
std::vector<double> CellProperties::GetCycleLengths | ( | ) | [inline] |
Returns the cycle lengths for all APs.
Definition at line 155 of file CellProperties.hpp.
References mCycleLengths.
std::vector<double> CellProperties::GetPeakPotentials | ( | ) | [inline] |
Returns the peak potentials for all APs.
Definition at line 165 of file CellProperties.hpp.
References mPeakValues.
std::vector<double> CellProperties::GetRestingPotentials | ( | ) | [inline] |
Returns the resting potentials before each AP. These are calculated as the point where the derivative of the potential is lowest, i.e. when the profile is flattest in between two APs.
Definition at line 178 of file CellProperties.hpp.
References mRestingValues.
std::vector< double > CellProperties::GetAllActionPotentialDurations | ( | const double | percentage | ) |
Returns all the action potentials durations
percentage | is the repolarisation percentage that the APD will be calculated for. e.g. percentage = 90 for APD90. |
Definition at line 214 of file CellProperties.cpp.
References CalculateActionPotentialDurations().
Referenced by PropagationPropertiesCalculator::CalculateAllActionPotentialDurations().
double CellProperties::GetLastActionPotentialDuration | ( | const double | percentage | ) |
Returns the amplitude of the last action potential generated. Throws an exception if no AP is generated.
percentage | is the repolarisation percentage that the APD will be calculated for. e.g. percentage = 90 for APD90. |
Definition at line 219 of file CellProperties.cpp.
References CalculateActionPotentialDurations().
Referenced by PropagationPropertiesCalculator::CalculateActionPotentialDuration().
std::vector< double > CellProperties::GetActionPotentialAmplitudes | ( | ) |
Returns the amplitude of all the action potentials calculated.
Definition at line 227 of file CellProperties.cpp.
References mPeakValues, and mRestingValues.
std::vector<double>& CellProperties::mrVoltage [private] |
The simulation results to process, voltage
Definition at line 52 of file CellProperties.hpp.
Referenced by CalculateActionPotentialDurations(), and CalculateProperties().
std::vector<double>& CellProperties::mrTime [private] |
The simulation results to process, time
Definition at line 54 of file CellProperties.hpp.
Referenced by CalculateActionPotentialDurations(), and CalculateProperties().
double CellProperties::mThreshold [private] |
Threshold for determining what counts as an action potential. This is a value part way between the min & max potential, to avoid problems due to 'notches' in an action potential.
Definition at line 61 of file CellProperties.hpp.
Referenced by CalculateProperties().
std::vector<double> CellProperties::mOnsets [private] |
Cached vector containing AP onset properties
Definition at line 64 of file CellProperties.hpp.
Referenced by CalculateActionPotentialDurations(), and CalculateProperties().
std::vector<double> CellProperties::mRestingValues [private] |
Cached vector containing AP resting properties
Definition at line 66 of file CellProperties.hpp.
Referenced by CalculateActionPotentialDurations(), CalculateProperties(), GetActionPotentialAmplitudes(), and GetRestingPotentials().
std::vector<double> CellProperties::mCycleLengths [private] |
Cached vector containing AP cycle lengths properties
Definition at line 68 of file CellProperties.hpp.
Referenced by CalculateProperties(), and GetCycleLengths().
std::vector<double> CellProperties::mPeakValues [private] |
Cached vector containing AP peak properties
Definition at line 70 of file CellProperties.hpp.
Referenced by CalculateActionPotentialDurations(), CalculateProperties(), GetActionPotentialAmplitudes(), and GetPeakPotentials().
std::vector<double> CellProperties::mMaxUpstrokeVelocities [private] |
Cached vector containing AP upstroke properties
Definition at line 72 of file CellProperties.hpp.
Referenced by CalculateProperties(), GetLastMaxUpstrokeVelocity(), and GetMaxUpstrokeVelocities().
std::vector<double> CellProperties::mTimesAtMaxUpstrokeVelocity [private] |
Cached vector containing the times of AP upstrokes
Definition at line 74 of file CellProperties.hpp.
Referenced by CalculateProperties(), GetTimeAtLastMaxUpstrokeVelocity(), and GetTimesAtMaxUpstrokeVelocity().