亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 復件 analbeat.cpp

?? 中心跳R峰檢測.可用于心電監(jiān)護等有關醫(yī)療設備的心跳檢測
?? CPP
字號:
*****************************************************************************/#include "bdac.h"#include <stdio.h>#include <stdlib.h>#define ISO_LENGTH1  BEAT_MS50#define ISO_LENGTH2	BEAT_MS80#define ISO_LIMIT	20// Local prototypes.int IsoCheck(int *data, int isoLength);/****************************************************************	等電位線的確定*****************************************************************/int IsoCheck(int *data, int isoLength)	{	int i, max, min ;	for(i = 1, max=min = data[0]; i < isoLength; ++i)		{		if(data[i] > max)			max = data[i] ;		else if(data[i] < min)			min = data[i] ;		}	if(max - min < ISO_LIMIT)		return(1) ;   return(0) ;	}/********************************************************************** QRS 波的起點和終點,極性,等電位水平************************************************************************/#define INF_CHK_N	BEAT_MS40void AnalyzeBeat(int *beat, int *onset, int *offset, int *isoLevel,	int *beatBegin, int *beatEnd, int *amp)	{	int maxSlope = 0, maxSlopeI, minSlope = 0, minSlopeI  ;	int maxV, minV ;	int isoStart, isoEnd ;	int slope, i ;	// Search back from the fiducial mark to find the isoelectric	// region preceeding the QRS complex.	for(i = FIDMARK-ISO_LENGTH2; (i > 0) && (IsoCheck(&beat[i],ISO_LENGTH2) == 0); --i) ;	// If the first search didn't turn up any isoelectric region, look for	// a shorter isoelectric region.	if(i == 0)		{		for(i = FIDMARK-ISO_LENGTH1; (i > 0) && (IsoCheck(&beat[i],ISO_LENGTH1) == 0); --i) ;		isoStart = i + (ISO_LENGTH1 - 1) ;		}	else isoStart = i + (ISO_LENGTH2 - 1) ;	// Search forward from the R-wave to find an isoelectric region following	// the QRS complex.	for(i = FIDMARK; (i < BEATLGTH) && (IsoCheck(&beat[i],ISO_LENGTH1) == 0); ++i) ;	isoEnd = i ;	// Find the maximum and minimum slopes on the	// QRS complex.	i = FIDMARK-BEAT_MS150 ;	maxSlope = maxSlope = beat[i] - beat[i-1] ;	maxSlopeI = minSlopeI = i ;	for(; i < FIDMARK+BEAT_MS150; ++i)		{		slope = beat[i] - beat[i-1] ;		if(slope > maxSlope)			{			maxSlope = slope ;			maxSlopeI = i ;			}		else if(slope < minSlope)			{			minSlope = slope ;			minSlopeI = i ;			}		}	// Use the smallest of max or min slope for search parameters.	if(maxSlope > -minSlope)		maxSlope = -minSlope ;	else minSlope = -maxSlope ;	if(maxSlopeI < minSlopeI)		{		// Search back from the maximum slope point for the QRS onset.		for(i = maxSlopeI;			(i > 0) && ((beat[i]-beat[i-1]) > (maxSlope >> 2)); --i) ;			*onset = i-1 ;		// Check to see if this was just a brief inflection.		for(; (i > *onset-INF_CHK_N) && ((beat[i]-beat[i-1]) <= (maxSlope >>2)); --i) ;		if(i > *onset-INF_CHK_N)			{			for(;(i > 0) && ((beat[i]-beat[i-1]) > (maxSlope >> 2)); --i) ;			*onset = i-1 ;			}		i = *onset+1 ;		// Check to see if a large negative slope follows an inflection.		// If so, extend the onset a little more.		for(;(i > *onset-INF_CHK_N) && ((beat[i-1]-beat[i]) < (maxSlope>>2)); --i);		if(i > *onset-INF_CHK_N)			{			for(; (i > 0) && ((beat[i-1]-beat[i]) > (maxSlope>>2)); --i) ;			*onset = i-1 ;			}		// Search forward from minimum slope point for QRS offset.		for(i = minSlopeI;			(i < BEATLGTH) && ((beat[i] - beat[i-1]) < (minSlope >>2)); ++i);			*offset = i ;		// Make sure this wasn't just an inflection.		for(; (i < *offset+INF_CHK_N) && ((beat[i]-beat[i-1]) >= (minSlope>>2)); ++i) ;		if(i < *offset+INF_CHK_N)			{			for(;(i < BEATLGTH) && ((beat[i]-beat[i-1]) < (minSlope >>2)); ++i) ;			*offset = i ;			}		i = *offset ;		// Check to see if there is a significant upslope following		// the end of the down slope.		for(;(i < *offset+BEAT_MS40) && ((beat[i-1]-beat[i]) > (minSlope>>2)); ++i);		if(i < *offset+BEAT_MS40)			{			for(; (i < BEATLGTH) && ((beat[i-1]-beat[i]) < (minSlope>>2)); ++i) ;			*offset = i ;			// One more search motivated by PVC shape in 123.			for(; (i < *offset+BEAT_MS60) && (beat[i]-beat[i-1] > (minSlope>>2)); ++i) ;			if(i < *offset + BEAT_MS60)				{				for(;(i < BEATLGTH) && (beat[i]-beat[i-1] < (minSlope>>2)); ++i) ;				*offset = i ;				}			}		}	else		{		// Search back from the minimum slope point for the QRS onset.		for(i = minSlopeI;			(i > 0) && ((beat[i]-beat[i-1]) < (minSlope >> 2)); --i) ;			*onset = i-1 ;		// Check to see if this was just a brief inflection.		for(; (i > *onset-INF_CHK_N) && ((beat[i]-beat[i-1]) >= (minSlope>>2)); --i) ;		if(i > *onset-INF_CHK_N)			{			for(; (i > 0) && ((beat[i]-beat[i-1]) < (minSlope>>2));--i) ;			*onset = i-1 ;			}		i = *onset+1 ;		// Check for significant positive slope after a turning point.		for(;(i > *onset-INF_CHK_N) && ((beat[i-1]-beat[i]) > (minSlope>>2)); --i);		if(i > *onset-INF_CHK_N)			{			for(; (i > 0) && ((beat[i-1]-beat[i]) < (minSlope>>2)); --i) ;			*onset = i-1 ;			}		// Search forward from maximum slope point for QRS offset.		for(i = maxSlopeI;			(i < BEATLGTH) && ((beat[i] - beat[i-1]) > (maxSlope >>2)); ++i) ;		*offset = i ;		// Check to see if this was just a brief inflection.		for(; (i < *offset+INF_CHK_N) && ((beat[i] - beat[i-1]) <= (maxSlope >> 2)); ++i) ;		if(i < *offset+INF_CHK_N)			{			for(;(i < BEATLGTH) && ((beat[i] - beat[i-1]) > (maxSlope >>2)); ++i) ;			*offset = i ;			}		i = *offset ;		// Check to see if there is a significant downslope following		// the end of the up slope.		for(;(i < *offset+BEAT_MS40) && ((beat[i-1]-beat[i]) < (maxSlope>>2)); ++i);		if(i < *offset+BEAT_MS40)			{			for(; (i < BEATLGTH) && ((beat[i-1]-beat[i]) > (maxSlope>>2)); ++i) ;			*offset = i ;			}		}	// If the estimate of the beginning of the isoelectric level was	// at the beginning of the beat, use the slope based QRS onset point	// as the iso electric point.	if((isoStart == ISO_LENGTH1-1)&& (*onset > isoStart)) // ** 4/19 **		isoStart = *onset ;	// Otherwise, if the isoelectric start and the slope based points	// are close, use the isoelectric start point.	else if(*onset-isoStart < BEAT_MS50)		*onset = isoStart ;	// If the isoelectric end and the slope based QRS offset are close	// use the isoelectic based point.	if(isoEnd - *offset < BEAT_MS50)		*offset = isoEnd ;	*isoLevel = beat[isoStart] ;	// Find the maximum and minimum values in the QRS.	for(i = *onset, maxV = minV = beat[*onset]; i < *offset; ++i)		if(beat[i] > maxV)			maxV = beat[i] ;		else if(beat[i] < minV)			minV = beat[i] ;	// If the offset is significantly below the onset and the offset is	// on a negative slope, add the next up slope to the width.	if((beat[*onset]-beat[*offset] > ((maxV-minV)>>2)+((maxV-minV)>>3)))		{		// Find the maximum slope between the finish and the end of the buffer.		for(i = maxSlopeI = *offset, maxSlope = beat[*offset] - beat[*offset-1];			(i < *offset+BEAT_MS100) && (i < BEATLGTH); ++i)			{			slope = beat[i]-beat[i-1] ;			if(slope > maxSlope)				{				maxSlope = slope ;				maxSlopeI = i ;				}			}		// Find the new offset.		if(maxSlope > 0)			{			for(i = maxSlopeI;				(i < BEATLGTH) && (beat[i]-beat[i-1] > (maxSlope>>1)); ++i) ;			*offset = i ;			}		}		for(i = FIDMARK-BEAT_MS250;		(i >= BEAT_MS80) && (IsoCheck(&beat[i-BEAT_MS80],BEAT_MS80) == 0); --i) ;	*beatBegin = i ;		if(*beatBegin == FIDMARK-BEAT_MS250)		{		for(; (i < *onset-BEAT_MS50) &&			(IsoCheck(&beat[i-BEAT_MS80],BEAT_MS80) == 1); ++i) ;		*beatBegin = i-1 ;		}	// Rev 1.1	else if(*beatBegin == BEAT_MS80 - 1)		{		for(; (i < *onset) && (IsoCheck(&beat[i-BEAT_MS80],BEAT_MS80) == 0); ++i);		if(i < *onset)			{			for(; (i < *onset) && (IsoCheck(&beat[i-BEAT_MS80],BEAT_MS80) == 1); ++i) ;			if(i < *onset)				*beatBegin = i-1 ;			}		}		for(i = FIDMARK+BEAT_MS300;		(i < BEATLGTH) && (IsoCheck(&beat[i],BEAT_MS80) == 0); ++i) ;	*beatEnd = i ;	// If the signal was isoelectric at 300 ms. search backwards./*	if(*beatEnd == FIDMARK+30)		{		for(; (i > *offset) && (IsoCheck(&beat[i],8) != 0); --i) ;		*beatEnd = i ;		}*/	// Calculate beat amplitude.	maxV=minV=beat[*onset] ;	for(i = *onset; i < *offset; ++i)		if(beat[i] > maxV)			maxV = beat[i] ;		else if(beat[i] < minV)			minV = beat[i] ;	*amp = maxV-minV ;	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区二区| 韩日av一区二区| 亚洲va欧美va人人爽| 91丨porny丨国产| 97精品电影院| 欧美一级一级性生活免费录像| 国产精品素人一区二区| 久久99久久99| 欧美中文字幕一二三区视频| 国产在线精品不卡| 色婷婷亚洲婷婷| 亚洲欧洲日韩在线| caoporn国产一区二区| 国产肉丝袜一区二区| 毛片一区二区三区| 精品日韩欧美一区二区| 天天影视涩香欲综合网 | 五月天激情综合| 波多野结衣在线一区| 国产欧美日韩精品a在线观看| 免费观看日韩av| 91黄色免费看| 亚洲一区二区三区小说| 国产一区二区三区免费| 亚洲综合在线视频| 亚洲人成网站精品片在线观看| 国产精品一区二区在线播放| 日韩欧美一区二区三区在线| 国产一区二区三区高清播放| 欧美综合在线视频| 亚洲日本成人在线观看| 91视频一区二区| 亚洲成人黄色小说| 亚洲日穴在线视频| 国产三级精品在线| 日本一区二区免费在线观看视频| 美女网站视频久久| 欧美久久婷婷综合色| 亚洲五月六月丁香激情| 色8久久精品久久久久久蜜| 日韩理论片在线| 色综合一区二区| 亚洲人午夜精品天堂一二香蕉| 99视频一区二区| 久久国产精品第一页| 欧美一区日韩一区| 日韩va欧美va亚洲va久久| 欧美精品久久久久久久久老牛影院 | 五月婷婷另类国产| 7777精品久久久大香线蕉| 日韩精品欧美精品| 亚洲欧美中日韩| 欧美天天综合网| 精品一区二区三区欧美| 国产精品久久久久aaaa| 欧美一区二区在线观看| 韩国一区二区三区| 亚洲一区二区三区四区的| 欧美日韩一区国产| 国产成人免费在线观看| 精东粉嫩av免费一区二区三区| 国产一区亚洲一区| 日韩亚洲欧美在线| 午夜精品一区在线观看| 69久久夜色精品国产69蝌蚪网| 日本亚洲最大的色成网站www| 欧美tk—视频vk| 国产成人亚洲综合a∨婷婷图片| 国产精品麻豆视频| 91福利精品视频| 日韩高清中文字幕一区| 久久久综合激的五月天| 成人激情图片网| 一区二区三区资源| 欧美一级理论片| 国产**成人网毛片九色| 一区二区三区毛片| 91精品国产91久久久久久一区二区| 国产真实乱对白精彩久久| 国产精品伦一区二区三级视频| 欧洲国内综合视频| 久久精品二区亚洲w码| 国产精品天天看| 欧美日韩国产综合一区二区| 麻豆91在线播放| 国产精品私人自拍| 欧美日韩国产影片| 国产成人在线电影| 亚洲va中文字幕| 久久噜噜亚洲综合| 色嗨嗨av一区二区三区| 久久精品国产澳门| 亚洲免费av高清| a美女胸又www黄视频久久| 99综合影院在线| 国产视频一区二区在线观看| 国产免费成人在线视频| 国产精品妹子av| 亚洲美女偷拍久久| 香蕉久久一区二区不卡无毒影院 | 久久久精品一品道一区| 欧美精品一区二区精品网| 国产精品每日更新在线播放网址 | 色综合天天综合网天天狠天天| 日韩av高清在线观看| 国产精品电影一区二区三区| 欧美高清hd18日本| 亚洲一区二区三区四区在线免费观看| 日韩综合一区二区| 国产乱子伦视频一区二区三区| 成人免费毛片片v| 欧美日韩国产另类一区| 日韩欧美一卡二卡| 日韩理论片一区二区| 亚洲成人福利片| 国产传媒久久文化传媒| 在线视频中文字幕一区二区| 91精品国产综合久久福利| 国产欧美日韩不卡免费| 视频一区视频二区中文字幕| 国产一区二三区好的| 色婷婷综合久久久中文一区二区| 91精品久久久久久久91蜜桃| 国产亚洲人成网站| 日韩中文字幕亚洲一区二区va在线| 蜜臀av性久久久久av蜜臀妖精| 欧美性xxxxxxxx| 亚洲一区二区av电影| 色综合天天视频在线观看| 中文字幕亚洲精品在线观看| 色综合天天综合网天天狠天天 | 亚洲精品一区二区三区福利| 欧美一区二区免费视频| 自拍偷自拍亚洲精品播放| 久久99国产精品成人| 欧美午夜不卡视频| 激情欧美日韩一区二区| 亚洲美女区一区| 日韩一区有码在线| 在线不卡一区二区| 91国偷自产一区二区开放时间| 3d动漫精品啪啪1区2区免费| 91性感美女视频| 国产成人aaaa| 国产激情一区二区三区桃花岛亚洲| 久久精品国产99| 蜜臀av一区二区在线免费观看| 丝袜诱惑制服诱惑色一区在线观看| 亚洲人吸女人奶水| 99久久伊人网影院| 中文字幕一区二区在线观看| 粉嫩一区二区三区性色av| 国产偷v国产偷v亚洲高清| 国产美女一区二区| 久久夜色精品国产噜噜av| 国内精品写真在线观看| 精品电影一区二区三区| 国产主播一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品国产三级国产a| 久久久久久久久久久久久夜| 精品久久久三级丝袜| 日韩免费观看高清完整版 | www..com久久爱| 播五月开心婷婷综合| 不卡大黄网站免费看| 99天天综合性| 91香蕉国产在线观看软件| 一本色道久久综合狠狠躁的推荐| 一本色道久久综合亚洲精品按摩| 91视频你懂的| 欧美日韩和欧美的一区二区| 91精品国产综合久久久蜜臀粉嫩| 欧美一卡2卡3卡4卡| 精品久久久三级丝袜| 国产欧美一区二区三区网站| 中文字幕二三区不卡| 亚洲人妖av一区二区| 亚洲国产乱码最新视频| 视频一区在线视频| 国内成人精品2018免费看| 国产成人免费视频网站 | 国产综合一区二区| 中文字幕在线一区| 亚洲三级小视频| 亚洲欧洲成人自拍| 日韩欧美一区在线观看| 成人激情电影免费在线观看| 亚洲一区二区综合| 国产亚洲综合色| 日韩免费一区二区三区在线播放| 欧美va日韩va| av网站免费线看精品| 国产伦理精品不卡| 日韩二区三区四区| 日韩精品一级中文字幕精品视频免费观看 | 91麻豆国产在线观看| 蜜桃一区二区三区四区| 亚洲尤物在线视频观看| 中文字幕欧美国产|