Ekhbary
Wednesday, 28 January 2026
Breaking

Développement d'un Convertisseur de Format ECG en EDF

Conversion des données ECG du Cardian-PM au format standard

Développement d'un Convertisseur de Format ECG en EDF
عبد الفتاح يوسف
1 week ago
36

Dans l'article précédent, j'ai examiné la structure du format de fichiers ECG du cardiographe portable "Cardian-PM". L'objectif était de faciliter l'accès aux informations de l'électrocardiogramme à l'aide d'autres logiciels. Au minimum, Excel pourrait être utilisé comme tel logiciel, en préparant des fichiers au format CSV. Cependant, le désir était d'utiliser un logiciel plus spécialisé et courant pour travailler spécifiquement avec des électrocardiogrammes. L'idée est venue d'utiliser le format EDF – un format populaire de séries temporelles avec une spécification ouverte. Comme il s'est avéré, ce format est également pratiquement utilisé pour stocker des électrocardiogrammes. Un programme populaire où ce format peut être ouvert est EDFbrowser. C'est avec ce programme que j'ai préféré travailler. La plupart des logiciels d'électrocardiogrammes disponibles en accès libre devraient supporter ce format de données populaire.

Sur le site edfplus.info, plus précisément à ce lien, j'ai trouvé la spécification du format EDF. Il possède un grand en-tête textuel avec de nombreuses indentations sous forme d'espaces. Le format de représentation des données de l'électrocardiogramme lui-même ne diffère pas du format du fichier ECG original. La seule différence réside dans la division des canaux en segments et leur groupement particulier. L'en-tête contient également le nom complet du patient, mais ce champ doit être écrit en lettres latines. EDFbrowser a refusé de lire un fichier où le nom complet était écrit en cyrillique. Par conséquent, une fonction de translittération a dû être ajoutée au programme.

J'ai écrit le programme dans Dev-Cpp en langage C. Je ne l'ai pas écrit à partir de zéro, mais j'ai utilisé mes propres développements et modèles antérieurs pour travailler avec plusieurs fichiers dans un répertoire, pour lire et écrire dans des fichiers. Le code peut être transféré dans un environnement de développement plus moderne si désiré. Je n'ai pas créé de structures pour décrire les en-têtes des fichiers d'entrée et de sortie. Mais pour éviter d'encombrer le code avec la lecture et le remplissage de l'en-tête, je l'ai déplacé dans un fichier séparé, header.cpp, que j'ai joint via "include" au fichier principal du programme, ecg2edf.cpp. Le programme s'exécute en ligne de commande avec plusieurs fichiers ECG situés dans un dossier du même nom, à l'intérieur du répertoire du programme. Le résultat du fonctionnement du programme est la création de fichiers EDF de sortie portant les mêmes noms dans un nouveau dossier correspondant. Dans mon exemple, le programme a traité une centaine de fichiers presque instantanément. Le code du programme avec les commentaires intégrés sera fourni ci-dessous.

Naviguer dans le format EDF dans EDFbrowser m'a semblé peu pratique, et je n'ai pas essayé d'autres programmes. Je ne me suis pas trop attardé sur les paramètres et les capacités d'EDFbrowser. Ma tâche était de m'assurer que tout fonctionnait et que l'électrocardiogramme dans EDFbrowser s'affichait de la même manière que dans Cardian-PM sur Android. Bien que l'affichage y soit également peu pratique sur un écran limité. Et l'électrocardiogramme "2024-10-07_11-46-23", pris comme exemple pour cet article, s'est avéré peu idéal en soi : dans les canaux physiques des dérivations I et II, il y a une forte interférence de 50 Hz, ce qui a affecté l'affichage des autres dérivations. Dans de tels cas, un filtre doit être appliqué si les programmes d'affichage le permettent. Dans Cardian-PM, par exemple, une telle fonction est présente. J'ai également accordé une attention particulière à l'échelle verticale de l'électrocardiogramme, en faisant correspondre correctement les échelles d'amplitude des deux programmes. Cette correspondance est prise en compte dans l'en-tête du format EDF.

Comme vous pouvez le constater, avec certaines manipulations de l'échelle d'affichage, une vue plus ou moins claire peut être obtenue, mais les superpositions de canaux voisins peuvent être inévitables. Cependant, de telles superpositions sont observées même sur les impressions thermiques de Cardian-PM.

Cela conclut le sujet de ce format d'électrocardiogramme. Si désiré, on peut étudier d'autres formats, plus clairs et plus populaires, qui sont plus largement distribués, et convertir les ECG directement en eux.

Mathématiques, programmation, électronique..

Mots clés: # Électrocardiogramme # ECG # EDF # Conversion de Format # Dev-Cpp # Langage C # EDFbrowser # Cardian-PM # Programmation # Traitement de Données