@@ -532,6 +532,17 @@ def adc(self, expanded=False, inplace=False):
532
532
# To do: choose the minimum return res needed
533
533
intdtype = "int64"
534
534
535
+ # Convert a single physical channel to digital. Note that the
536
+ # input array is modified!
537
+ def adc_inplace_1d (ch_p_signal , adc_gain , baseline , d_nan ):
538
+ ch_nanlocs = np .isnan (ch_p_signal )
539
+ np .multiply (ch_p_signal , adc_gain , ch_p_signal )
540
+ np .add (ch_p_signal , baseline , ch_p_signal )
541
+ np .round (ch_p_signal , 0 , ch_p_signal )
542
+ ch_d_signal = ch_p_signal .astype (intdtype , copy = False )
543
+ ch_d_signal [ch_nanlocs ] = d_nan
544
+ return ch_d_signal
545
+
535
546
# Convert a 2D physical signal array to digital. Note that the
536
547
# input array is modified!
537
548
def adc_inplace_2d (p_signal ):
@@ -551,13 +562,12 @@ def adc_inplace_2d(p_signal):
551
562
if inplace :
552
563
if expanded :
553
564
for ch in range (self .n_sig ):
554
- ch_p_signal = self .e_p_signal [ch ]
555
- ch_nanlocs = np .isnan (ch_p_signal )
556
- np .multiply (ch_p_signal , self .adc_gain [ch ], ch_p_signal )
557
- np .add (ch_p_signal , self .baseline [ch ], ch_p_signal )
558
- np .round (ch_p_signal , 0 , ch_p_signal )
559
- ch_d_signal = ch_p_signal .astype (intdtype , copy = False )
560
- ch_d_signal [ch_nanlocs ] = d_nans [ch ]
565
+ ch_d_signal = adc_inplace_1d (
566
+ self .e_p_signal [ch ],
567
+ self .adc_gain [ch ],
568
+ self .baseline [ch ],
569
+ d_nans [ch ],
570
+ )
561
571
self .e_p_signal [ch ] = ch_d_signal
562
572
self .e_d_signal = self .e_p_signal
563
573
self .e_p_signal = None
@@ -570,13 +580,12 @@ def adc_inplace_2d(p_signal):
570
580
if expanded :
571
581
d_signal = []
572
582
for ch in range (self .n_sig ):
573
- ch_p_signal = self .e_p_signal [ch ].copy ()
574
- ch_nanlocs = np .isnan (ch_p_signal )
575
- np .multiply (ch_p_signal , self .adc_gain [ch ], ch_p_signal )
576
- np .add (ch_p_signal , self .baseline [ch ], ch_p_signal )
577
- np .round (ch_p_signal , 0 , ch_p_signal )
578
- ch_d_signal = ch_p_signal .astype (intdtype , copy = False )
579
- ch_d_signal [ch_nanlocs ] = d_nans [ch ]
583
+ ch_d_signal = adc_inplace_1d (
584
+ self .e_p_signal [ch ].copy (),
585
+ self .adc_gain [ch ],
586
+ self .baseline [ch ],
587
+ d_nans [ch ],
588
+ )
580
589
d_signal .append (ch_d_signal )
581
590
582
591
else :
0 commit comments