Application à un signal physiologique

                La construction des sections II-5 et II-6 nous a permis d'apprécier l'importance-major des outils de détection de chaos dans le domaine .électrophysiologique. Beaucoup des méthodes utilisées par les études mentionnées dans ces sections sont incluses dans la boite « IsItChaos ».

Ainsi, notre boite à outils présente un grand potentiel pour les études traitant des signaux physiologiques. Les chercheurs dans ce domaine ont l'habitude de tester leurs hypothèses sur des données standards de référence publiées dans des bibliothèques publiques. Un exemple très populaire serait l'archive publique gratuite « PysioBank » qui fournit plus de 40 bases de données disponibles au téléchargement sur le site : http://www.physionet.org/physiobank/

Les données disponibles sont bien caractérisés et incluent des relevés cardiaques, cardiopulmonaires, neuraux et autres divers signaux biomédicaux enregistrés chez des sujets sains et des sujets souffrant d'une grande variété de pathologies d'intérêt public.

Pour faciliter encore plus l'exploitation de cet archive, une bibliothèque d'utilitaires appelé « Waveform Database interface library » ou WFDB a été mis à la disposition des utilisateurs de l'archive. Les fonctions de cette bibliothèque ont été originalement développées pour explorer les bases de données de signaux ECG comme celle de le MIT-BIH (Massachusetts Institute of Technology-B. I. Hospital ). Par la suite la bibliothèque a été enrichie pour inclure plusieurs autres types de données.

La bibliothèque WFDB a été conçue sous forme de routine écrite en langage C et facilement intégrable dans des programmes C ou Fortran. Ce serait très intéressant de pouvoir bénéficier de cette bibliothèque sous Scilab, sachant qu'une bibliothèque d'interface entre MATLAB et WFDB existe déjà sous le nom de « WFDB_tools ».

Dans ce sens, nous avons développé une fonction sous Scilab nommée « ReadMITdata » qui permet de lire les données de type « record » à partir d'une base de données ECG. Il peut s'agir d'une base de données stockée dans un disque local ou même une base de données internet. Cette fonction fait appel aux deux utilitaires « rdsamp » et « rdann » de la bibliothèque WFDB. L'exemple suivant illustre l'utilisation de cette fonction.

Exemple IV-13: Le script suivant lit l'enregistrement numéro 100 de la base de données « mitdb » directement à partir de l'archive internet de PhysioBank. L'information sur la variabilité des intervalles entre battements HRV est calculée ensuite, et les diagrammes du signal ECG avec l'annotation des battements et du signal HRV sont dessinés (Voir figure IV-19 et IV-20).

[ECG,Anottation]=ReadMITdata('mitdb/100');

HRV=diff(anot.BeatsSec); //Extraire les intervalles entre battements en scondes

// dessiner le signal ECG du premier canal d'acquisition

// et afficher les annotations pour chaque battement

plot(dat(1:2000,1),dat(1:2000,2))

i=1;

while anot.BeatsSec(i)<dat(2000,1);

xstring(anot.BeatsSec(i),0,anot.BeatsType(i));

i=i+1;

end;

xtitle('','Temps (s)','Amplitude normalisée');

// Dessiner les intervalles entre battements pour les 100 premiers battements

scf();

plot(HRV(1:100));

xtitle('','Batements','Intervalle entre battements (s)');

Le nombre d'échantillons utilisés pour dessiner le signal ECG est égal à 2000. Le nombre de battements utilisés pour afficher les annotations correspondantes est automatiquement calculé.

Le signal ECG et HRV peuvent ainsi être traités par les méthodes de « IsItChaos » avec la même méthodologie démontrée dans la section précédente, et nous encourageons le lecteur intéressé par ce domaine d'application d'explorer cette possibilité et poster ses commentaires et suggestions sur le site web de « IsItChaos ».













                                        Figure IV-19 : Signal ECG dessiné dans l'exemple IV-13













                Figure IV-20 : Signal HRV dessiné dans l'exemple 4-13