-
Heart sound files
06/04/2017 at 09:22 • 0 comments
Not much to show, but some news: Sounds files have problems that I did not anticipated. What I was expecting from the analysis of Physionet 2016 submissions was noise, spikes, weird amplitude and similar distortions of the signal.
What I found was different, there is little noise while you filter it a bit, there are few spikes.
However sometimes the signal is biased (more negative values than positive), the signal also appears to have little in common with textbooks, I can easily detect S1 and S2 events, but it is difficult to find S3 and S4.When you hear the sounds, half of them looks weird, I am not a cardiologist, but I find it difficult to find what I could hear in a "textbook" heart sound.
This makes me think again about the Physionet 2016, successful submissions where mainly about heavily filtering, dealing with spikes with sophisticated algorithms and finding characteristics (features in ML slang) that encompass the whole file such as RR variability as in:https://en.wikipedia.org/wiki/Heart_rate_variability
Clearly my approach is different, I focus on what identify a heart beat, which is entirely new. But I still plan to implement the RR variability analysis and tied it to my HMM classifier which will become quite hybrid in the process.
-
A Github account and some code
05/27/2017 at 08:01 • 0 commentsWe have added a tool to explore a tiny training set (100 files) and training a HMM.
There is no code for classification at the moment, only for training.
This is a draft, whose purpose is to be open and provide hints to where we are aiming, but in no ways the quality of the code should be asserted, we expect much, much work on it.
It is deliberately in Java 1.2 for making it easy to port it to controllers that support Java or to a language that have an enough similar syntax (for ex. Go)
The Github account for Hjerte:
https://github.com/Hjertesvikt/HjerteThe branch where the new code was pushed:
https://github.com/Hjertesvikt/Hjerte/tree/Hjertesvikt-dratf_0
-
Challenges in writing a Viterbi function for heart sounds detection.
05/03/2017 at 07:28 • 0 commentsThere is an update on https://padiracinnovation.org/2017/05/03/early-and-low-cost-detection-of-heart-failure/
Basically it discusses of the need and challenges of writing a Viterbi function for heart sounds detection. I just wrote one in Java which looks good, but it needs to be improved in various aspects.
One improvement is indeed to port this Java implementation to a microcontroller, maybe on a Atmel device which includes a tiny Java machine. However this is planned for the end of the year, currently there are other stuff to work on.
-
Start of the project
03/21/2017 at 20:31 • 0 commentsWhat I did until now is summarized here:
I bought a fetal Doppler from Amazon and tested it on myself.I found there is no need for gel, and that it is quite easy to find my own heart. It is probably much more difficult to find the heart of a baby in the womb. Future mothers must be warned that it is not a magic tool, my heart is probably one hundred times bigger than a fetus heart. In retrospect those fetal Doppler are impressive!
I acquire my heart sounds and transfered them on a Linux box. There I studied their spectrum and other characteristics.
Next I studied the Physionet Cinc 2016 challenge in order to train their most successful software on my heart sounds.
Alas I do not have bought the Matlab libraries that are needed and an attempt to use Octave (open source alternative) gives no satisfactory outcome.
Anyway as my goal is to implement this on a low cost processor of the Arm family or even less powerful, Matlab/Octave was out of question.
As I can program in Java I wrote my own program, which mimics the winning physionel 2016 code. I have great confidence that I can translate this Java code in machine language (I used to work on a small Java machine long ago). And the Java code could be a reference implementation.