@@ -180,14 +180,16 @@ def dac(self, expanded):
180180 """
181181 # The digital nan values for each channel
182182 dnans = digi_nan (self .fmt )
183-
183+
184184 if expanded :
185185 p_signal = []
186186 for ch in range (0 , self .nsig ):
187- chnanloc = self .e_d_signals == dnans
187+ # nan locations for the channel
188+ chnanlocs = self .e_d_signals [ch ] == dnans [ch ]
188189 p_signal .append ((self .e_d_signals [ch ] - self .baseline [ch ])/ float (self .adcgain [ch ]))
189190 p_signal [ch ][chnanlocs ] = np .nan
190191 else :
192+ # nan locations
191193 nanlocs = self .d_signals == dnans
192194 p_signal = (self .d_signals - self .baseline )/ [float (g ) for g in self .adcgain ]
193195 p_signal [nanlocs ] = np .nan
@@ -499,7 +501,7 @@ def rddat(filename, dirname, pbdir, fmt, nsig,
499501 # Transfer over samples
500502 for ch in range (nsig ):
501503 # Indices of the flat signal that belong to the channel
502- ch_indices = np .concatenate (([np .array (range (sampsperframe [ch ])) + tsampsperframe * framenum for framenum in range (int (len (sigflat )/ tsampsperframe ))]))
504+ ch_indices = np .concatenate (([np .array (range (sampsperframe [ch ])) + sum ([ 0 ] + sampsperframe [: ch ]) + tsampsperframe * framenum for framenum in range (int (len (sigflat )/ tsampsperframe ))]))
503505 sig .append (sigflat [ch_indices ])
504506
505507 # Skew the signal
@@ -519,6 +521,8 @@ def rddat(filename, dirname, pbdir, fmt, nsig,
519521 elif fmt == '160' :
520522 sigbytes = sigbytes - 32768
521523
524+ #print('sigbytes:', sigbytes)
525+
522526
523527 # No extra samples/frame. Obtain original uniform numpy array
524528 if tsampsperframe == nsig :
@@ -532,9 +536,6 @@ def rddat(filename, dirname, pbdir, fmt, nsig,
532536
533537 # Extra frames present to be smoothed. Obtain averaged uniform numpy array
534538 elif smoothframes :
535-
536- print ('sigbytes:' )
537- print (sigbytes )
538539
539540 # Allocate memory for signal
540541 sig = np .empty ([readlen , nsig ], dtype = 'int' )
@@ -549,8 +550,6 @@ def rddat(filename, dirname, pbdir, fmt, nsig,
549550 sig [:, ch ] += sigbytes [skew [ch ]* tsampsperframe + sum (([0 ] + sampsperframe )[:ch + 1 ]) + frame ::tsampsperframe ]
550551 sig = (sig / sampsperframe )
551552
552- print ('sig after smoothing:' )
553- print (sig )
554553
555554 # Extra frames present without wanting smoothing. Return all expanded samples.
556555 else :
@@ -564,7 +563,9 @@ def rddat(filename, dirname, pbdir, fmt, nsig,
564563 # chansig[frame::sampsperframe[ch]] = sigbytes[skew[ch]*tsampsperframe+sum(([0] + sampsperframe)[:ch + 1]) + frame::tsampsperframe]
565564 # sig.append(chansig)
566565
567- ch_indices = np .concatenate ([np .array (range (sampsperframe [ch ])) + tsampsperframe * framenum for framenum in range (int (len (sigbytes )/ tsampsperframe ))])
566+ # Get the sample indices of the channel samples to transfer over
567+ ch_indices = np .concatenate ([np .array (range (sampsperframe [ch ])) + sum ([0 ]+ sampsperframe [:ch ]) + tsampsperframe * framenum for framenum in range (int (len (sigbytes )/ tsampsperframe ))])
568+
568569 sig .append (sigbytes [ch_indices ])
569570
570571 # Skew the signal
0 commit comments