public void FindP()
{
double pmax_val;
int window,break_window,pmax_loc,ponset,pend;
window = Convert.ToInt32(InputData.Frequency*0.25);
break_window = Convert.ToInt32(InputData.Frequency * 0.3);
foreach (int onset_loc in _currentQRSonsetsPart)
{
if ((onset_loc - (window)) >= 1 && onset_loc != -1)
{
FindMaxValue(onset_loc - window, onset_loc, out pmax_loc, out pmax_val);
}
else
{
continue;
}
ponset = pmax_loc;
while(InputData.Signals[_currentChannelIndex].Item2[ponset] > InputData.Signals[_currentChannelIndex].Item2[ponset-1] || (pmax_val- InputData.Signals[_currentChannelIndex].Item2[ponset] < 70))
{
ponset--;
if (ponset < onset_loc - break_window)
{
ponset = -1;
break;
}
}
_currentPonsetsPart.Add(ponset);
pend = pmax_loc;
while (InputData.Signals[_currentChannelIndex].Item2[pend] > InputData.Signals[_currentChannelIndex].Item2[pend+1] || (pmax_val - InputData.Signals[_currentChannelIndex].Item2[pend] < 110))
{
pend++;
if (pend > onset_loc)
{
pend = -1;
break;
}
}
_currentPendsPart.Add(pend);
}
}