@@ -3507,39 +3507,37 @@ def rdrecord(record_name, sampfrom=0, sampto=None, channels=None,
3507
3507
3508
3508
# A single segment record
3509
3509
elif isinstance (record , Record ):
3510
+ if record_name .endswith ('.edf' ) or record_name .endswith ('.wav' ):
3511
+ no_file = True
3512
+ sig_data = record .d_signal
3513
+ else :
3514
+ no_file = False
3515
+ sig_data = None
3516
+
3517
+ signals = _signal ._rd_segment (
3518
+ file_name = record .file_name ,
3519
+ dir_name = dir_name ,
3520
+ pn_dir = pn_dir ,
3521
+ fmt = record .fmt ,
3522
+ n_sig = record .n_sig ,
3523
+ sig_len = record .sig_len ,
3524
+ byte_offset = record .byte_offset ,
3525
+ samps_per_frame = record .samps_per_frame ,
3526
+ skew = record .skew ,
3527
+ sampfrom = sampfrom ,
3528
+ sampto = sampto ,
3529
+ channels = channels ,
3530
+ smooth_frames = smooth_frames ,
3531
+ ignore_skew = ignore_skew ,
3532
+ no_file = no_file ,
3533
+ sig_data = sig_data ,
3534
+ return_res = return_res )
3510
3535
3511
3536
# Only 1 sample/frame, or frames are smoothed. Return uniform numpy array
3512
3537
if smooth_frames or max ([record .samps_per_frame [c ] for c in channels ]) == 1 :
3513
3538
# Read signals from the associated dat files that contain
3514
3539
# wanted channels
3515
- if record_name .endswith ('.edf' ) or record_name .endswith ('.wav' ):
3516
- record .d_signal = _signal ._rd_segment (record .file_name ,
3517
- dir_name , pn_dir ,
3518
- record .fmt ,
3519
- record .n_sig ,
3520
- record .sig_len ,
3521
- record .byte_offset ,
3522
- record .samps_per_frame ,
3523
- record .skew , sampfrom ,
3524
- sampto , channels ,
3525
- smooth_frames ,
3526
- ignore_skew ,
3527
- no_file = True ,
3528
- sig_data = record .d_signal ,
3529
- return_res = return_res )
3530
- else :
3531
- record .d_signal = _signal ._rd_segment (record .file_name ,
3532
- dir_name , pn_dir ,
3533
- record .fmt ,
3534
- record .n_sig ,
3535
- record .sig_len ,
3536
- record .byte_offset ,
3537
- record .samps_per_frame ,
3538
- record .skew , sampfrom ,
3539
- sampto , channels ,
3540
- smooth_frames ,
3541
- ignore_skew ,
3542
- return_res = return_res )
3540
+ record .d_signal = signals
3543
3541
3544
3542
# Arrange/edit the object fields to reflect user channel
3545
3543
# and/or signal range input
@@ -3552,34 +3550,7 @@ def rdrecord(record_name, sampfrom=0, sampto=None, channels=None,
3552
3550
3553
3551
# Return each sample of the signals with multiple samples per frame
3554
3552
else :
3555
- if record_name .endswith ('.edf' ) or record_name .endswith ('.wav' ):
3556
- record .e_d_signal = _signal ._rd_segment (record .file_name ,
3557
- dir_name , pn_dir ,
3558
- record .fmt ,
3559
- record .n_sig ,
3560
- record .sig_len ,
3561
- record .byte_offset ,
3562
- record .samps_per_frame ,
3563
- record .skew , sampfrom ,
3564
- sampto , channels ,
3565
- smooth_frames ,
3566
- ignore_skew ,
3567
- no_file = True ,
3568
- sig_data = record .d_signal ,
3569
- return_res = return_res )
3570
- else :
3571
- record .e_d_signal = _signal ._rd_segment (record .file_name ,
3572
- dir_name , pn_dir ,
3573
- record .fmt ,
3574
- record .n_sig ,
3575
- record .sig_len ,
3576
- record .byte_offset ,
3577
- record .samps_per_frame ,
3578
- record .skew , sampfrom ,
3579
- sampto , channels ,
3580
- smooth_frames ,
3581
- ignore_skew ,
3582
- return_res = return_res )
3553
+ record .e_d_signal = signals
3583
3554
3584
3555
# Arrange/edit the object fields to reflect user channel
3585
3556
# and/or signal range input
0 commit comments