4
1 PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie Physionet e sinais biológicos Prof. Sérgio S Furuie PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie 2 Deteção do QRS 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 -5 0 5 Tempo (s) ECG 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0 2 4 6 |der.1| 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0 10 20 30 |der.1|+|der.2| 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0 2 4 6 QRS y1=|1a. difer.| y2=|smooth y1| y3=|der. y2| y4=y2+y3 limiar em y4 PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie 3 Mobilização/Motivação Como testar e avaliar seus aplicativos? Recrutar vários pacientes e voluntários? • Padrão-ouro? Acesso a sinais biológicos já digitalizados • Filtrados • digitalizados PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie PhysioNet (physionet.org) resource for biomedical research – National Institutes of Health (NIH) National Institute of Biomedical Imaging and Bioengineering (NIBIB) National Institute of General Medical Sciences (NIGMS) – Milhares de sinais biológicos, muitos com anotações (eventos, patologias, ) – Biblioteca de software – “laboratories without walls” Mirror sites: – http://physionet.incor.usp.br 4 PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie Can you tell health from disease? Pathology can affect physiologic recordings in unexpected and interesting ways. PhysioNet encourages researchers to find new ways to extract information hidden in data. For example, the figure above shows the instantaneous heart rates of four subjects. But only one signal is from a healthy person. Can you tell which it is? 5 PTC 2456 – Proc. Sinais Biomédicos EPUSP PTC/ LEB - S.Furuie PhysioNet 6

Deteção do QRS - USP · 2012-04-20 · 4 s EPUSP PTC/ LEB - S.Furuie Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Deteção do QRS - USP · 2012-04-20 · 4 s EPUSP PTC/ LEB - S.Furuie Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank

1

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Physionet e sinais biológicos

Prof. Sérgio S Furuie

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie 2

Deteção do QRS

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-5

0

5

Tempo (s)

ECG

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6

|der

.1|

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

10

20

30

|der

.1|+

|der

.2|

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6

QRS

y1=|1a. difer.| y2=|smooth y1| y3=|der. y2| y4=y2+y3 limiar em y4

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie 3

Mobilização/Motivação

–  Como testar e avaliar seus aplicativos? •  Recrutar vários pacientes e voluntários? •  Padrão-ouro?

–  Acesso a sinais biológicos já digitalizados •  Filtrados •  digitalizados

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

PhysioNet (physionet.org) •  resource for biomedical research

– National Institutes of Health (NIH) •  National Institute of Biomedical Imaging and

Bioengineering (NIBIB) •  National Institute of General Medical Sciences (NIGMS)

– Milhares de sinais biológicos, muitos com anotações (eventos, patologias, …)

– Biblioteca de software –  “laboratories without walls”

•  Mirror sites: –  http://physionet.incor.usp.br

4

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Can you tell health from disease?

•  Pathology can affect physiologic recordings in unexpected and interesting ways. PhysioNet encourages researchers to find new ways to extract information hidden in data. For example, the figure above shows the instantaneous heart rates of four subjects. But only one signal is from a healthy person. Can you tell which it is?

5

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

PhysioNet

6

Page 2: Deteção do QRS - USP · 2012-04-20 · 4 s EPUSP PTC/ LEB - S.Furuie Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank

2

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Tipos de sinais biológicos

•  ECG de saudáveis e doentes – 1, 2, 12 canais – Anotações

•  Sinais neuronais (EEG, ...) •  Sinais respiratórios •  Pressão •  Movimento •  Mais de 10.000 gravações em 50 base de

dados (mais de 700 GB)

7

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

MIT-BIH Arrhythmia Database

•  Filtro analógico passa-banda: [0.01 a 100] Hz

•  ADC de 11 bits •  Faixa dinâmica de +- 5 mV •  Fa=360 Hz •  48 registros de ECG de 2 canais, 30 min

cada •  109.000 anotações manuais!

8

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Exemplo com anotação

9

Símbolo Descrição . Normal beat V Premature ventricular contraction L Left bundle branch block beat R Right bundle branch block beat

...

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Onde, o que, como? •  Onde:

–  physionet.org , physionet.incor.usp.br •  Tutoriais, exemplos, programas, dados, ...

•  O que: – Milhares de sinais biológicos, incluindo múltiplos

sinais, no formato digital, com anotações •  Como:

– Download de arquivos e programas no site – O site converte, p.ex.,dados p/ o formato do

Matlab (usar o ATM, export ...)

10

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Usando physionet 1.  Aponte o seu browser para:

–  physionet.org 2.  Menu PhysioBank =>PhysioBank ATM (leia a

documentacao) –  Input database, p. ex:

•  MIT-BIH Arrhythmia ... (mitdb) –  Escolha um dos sinais (record), p. ex. ‘100’. O sinal será

mostrado no browser. Familiarize-se com as opcoes. –  Para exportar p/ Matlab:

•  Selecione output,p.ex.: ‘1 min’ •  Selecione no Toolbox: ‘Export signal as .mat’ •  Siga as instrucoes: fazer download p/ seu subdiretorio dos 3

arquivos, p. ex.: 100m.mat, 100m.hea, 100m.info •  Fazer download de PlotATM.m para seu subdiretorio, se

ainda nao tiver

11

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Exemplo: usando Physionet

12

Page 3: Deteção do QRS - USP · 2012-04-20 · 4 s EPUSP PTC/ LEB - S.Furuie Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank

3

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Exemplo: exportando p/ matlab

13

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Usando o Matlab p/ projeto

•  No Matlab, rodar no seu subdiretorio,p.ex: – plotATM(‘100m.mat',‘100m.info') – Usar ferramentas do visualizador do Matlab p/

explorar o sinal (zoom, pan, …) •  Modificar plotATM.m ou incorpore-o em

seu programa. Elabore o seu projeto.Note que o vetor ‘val’ e ‘x’ contem os sinais de ECG e o tempo ja em ‘mV’ e ‘s’.

14

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Dicas sobre o programa PlotATM.m 1.  function plotATM(matName,infoName) 2.  load(matName); 3.  fid = fopen(infoName, 'rt'); 4.  fgetl(fid); 5.  fgetl(fid); 6.  fgetl(fid); 7.  [freqint] = sscanf(fgetl(fid),'Sampling frequency:

%f Hz Sampling interval: %f sec'); 8.  interval = freqint(2); 9.  fgetl(fid); 10.  for i=1:size(val,1) 11.  [row(i), signal(i), gain(i), base(i), units(i)]

=strread(fgetl(fid),'%d%s%f%f%s','delimiter','\t'); 12.  end 13.  fclose(fid); 14.  val(val==-32768) = NaN; 15.  for i=1:size(val,1) 16.  val(i,:) = (val(i,:)-base(i))/gain(i); 17.  end 18.  x = (1:size(val,2))*interval; 19.  plot(x',val'); 20.  for i=1:length(signal),labels{i}=strcat(signal

{i},' (',units{i},')'); end 21.  legend(labels); 22.  xlabel('Time (sec)'); 23.  end

15

(2) Le os sinais em ‘val’ do ‘.mat’ (3-13)Le as calibracoes do ‘.info’ (14-17) remove linha de base e

calibra (18-22) plota os sinais

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Modificando plotATM function [val faHz]=plotATM_sf(matName,infoName) % usage: plotATM_sf('RECORDm.mat', 'RECORDm.info') … load(matName); % carrega matriz de dados em 'val' com num.sinais=size(val,1) % cada sinal com num.amostras=size(val,2) % i-esimo sinal=val(i,:) … faHz=freqint(1); % freq. de amostragem em Hz …

16

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Usando plotATM_sf() … [val faHz]=plotATM_sf(fnam_mat, fnam_info);

% carrega matriz de dados em 'val' % com num.sinais=size(val,1) % cada sinal com num.amostras=size(val,2) e % freq. de amostragem faHz

ecg=val(1,:); % ‘ecg' contem todo o primeiro sinal de ECG fa=faHz; % frequencia de amostragem em Hz Num_amostras = length(ecg); % numero de pontos do ECG tempo = [1 : Num_amostras ]/fa; % tempo em s fN=fa/2; % freq. de Nyquist …

17

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Obtendo mais informações sobre o sinal

•  Aplicativo do physionet: ATM – Lista dos pontos amostrados – Significado das anotações – Anotações do sinal em formato texto –  Intervalo RR: plot, lista e histograma – …

18

Page 4: Deteção do QRS - USP · 2012-04-20 · 4 s EPUSP PTC/ LEB - S.Furuie Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank

4

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Dicionário das anotações Beat annotations: Code Description N Normal beat (displayed as "·" by the PhysioBank ATM, pschart, and psfd L Left bundle branch block beat R Right bundle branch block beat B Bundle branch block beat (unspecified) A Atrial premature beat a Aberrated atrial premature beat J Nodal (junctional) premature beat S Supraventricular premature or ectopic beat (atrial or nodal) V Premature ventricular contraction r R-on-T premature ventricular contraction F Fusion of ventricular and normal beat e Atrial escape beat j Nodal (junctional) escape beat n Supraventricular escape beat (atrial or nodal) E Ventricular escape beat / Paced beat f Fusion of paced and normal beat Q Unclassifiable beat ? Beat not classified during learning

19

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Histograma do IRR (mitdb, #104)

20

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Lista de exercícios 2 Obs.: a) trabalho é estritamente individual; b) vale 30% da avaliação P3 se entregues no prazo estipulado; c) exercícios fortemente relacionados aos projetos; d) entregar o trabalho, inclusive com listagem dos programas. 1)[data de entrega <= 04/05] Implementar um programa para normalizar o sinal pelo máximo valor em módulo. a)  Aplicar no primeiro sinal do registro 104 da base physionet/

mitdb (1 minuto). Mostrar graficamente os sinais antes e após a normalização.

b)  Calcular o valor mínimo, valor máximo, a média e desvio-padrão antes e após aplicação da normalização.

c)  Discuta o que aconteceria se o sinal tivesse uma forte flutuação da linha de base (ruído de baixa frequência)

d)  Discuta o que aconteceria se o sinal tivesse um forte ruído de alta frequência, por exemplo, de 60 Hz.

21

PTC

245

6 –

Pro

c. S

inai

s B

iom

édic

os

EPUSP PTC/ LEB - S.Furuie

Bibliografia

•  Physionet.org

22