Diff of /gettingData.py [000000] .. [9e019c]

Switch to side-by-side view

--- a
+++ b/gettingData.py
@@ -0,0 +1,49 @@
+def get_records():
+    """ Get paths for data in data/mit/ directory """
+    #Download if doesn't exist
+    
+    # There are 3 files for each record
+    # *.atr is one of them
+    paths = glob('/path/to/MITDB/dataset/*.atr')
+
+    # Get rid of the extension
+    paths = [path[:-4] for path in paths]
+    paths.sort()
+
+    return paths
+
+def beat_annotations(annotation):
+    """ Get rid of non-beat markers """
+    """'N' for normal beats. Similarly we can give the input 'L' for left bundle branch block beats. 'R' for right bundle branch block
+        beats. 'A' for Atrial premature contraction. 'V' for ventricular premature contraction. '/' for paced beat. 'E' for Ventricular
+        escape beat."""
+    
+    good = ['N']   
+    ids = np.in1d(annotation.symbol, good)
+
+    # We want to know only the positions
+    beats = annotation.sample[ids]
+
+    return beats
+  
+ def segmentation(records):
+    Normal = []
+    for e in records:
+        signals, fields = wfdb.rdsamp(e, channels = [0]) 
+
+        ann = wfdb.rdann(e, 'atr')
+        good = ['N']
+        ids = np.in1d(ann.symbol, good)
+        imp_beats = ann.sample[ids]
+        beats = (ann.sample)
+        for i in imp_beats:
+            beats = list(beats)
+            j = beats.index(i)
+            if(j!=0 and j!=(len(beats)-1)):
+                x = beats[j-1]
+                y = beats[j+1]
+                diff1 = abs(x - beats[j])//2
+                diff2 = abs(y - beats[j])//2
+                Normal.append(signals[beats[j] - diff1: beats[j] + diff2, 0])
+    return Normal
+