the-siesta-group / edfio

Read and write EDF/EDF+ files.
Apache License 2.0
25 stars 5 forks source link

Provide better (more concise) `__repr__` and/or `__str__`? #21

Closed cbrnr closed 7 months ago

cbrnr commented 7 months ago

The current __repr__ of Edf objects is very verbose, e.g. after loading S001R09.edf:

Edf(signals=(EdfSignal(data=array([17., 26., 22., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Fc5.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-14.,   7.,   3., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fc3.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-7., 22., 16., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Fc1.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-8., 18., -1., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Fcz.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-12.,  10.,  -8., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fc2.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-22.,  -8., -22., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fc4.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 8., 17., 12., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Fc6.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([18., 29., 33., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='C5..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 3., 29., 38., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='C3..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 3., 29., 31., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='C1..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([19., 42., 35., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cz..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 6., 28., 21., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='C2..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-10.,  -7., -11., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='C4..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-1.,  2., -2., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='C6..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 1., 17., 27., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cp5.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 2., 18., 29., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cp3.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([10., 27., 35., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cp1.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([21., 33., 37., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cpz.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 2.,  7., 15., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Cp2.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ -9., -11.,  -3., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Cp4.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-14., -20., -10., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Cp6.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-48., -25., -47., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fp1.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-25., -12., -13., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fpz.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-31., -30., -17., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fp2.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-11.,  -5., -14., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Af7.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-15., -12., -21., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Af3.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-26., -16., -29., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Afz.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-17., -10., -21., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Af4.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-13.,   1.,  -7., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Af8.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 3., 13.,  5., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='F7..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([32., 27.,  8., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='F5..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-23., -23., -25., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='F3..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-13.,  -1., -11., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='F1..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ -8.,   0., -13., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Fz..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-13.,  -9., -17., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='F2..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-19., -15., -23., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='F4..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ -8., -19., -16., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='F6..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([31., 23., 20., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='F8..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-2.,  9., 12., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Ft7.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([23.,  2., 21., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Ft8.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 6., 14., 33., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='T7..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([12.,  2., 36., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='T8..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 3., -3.,  3., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='T9..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([18., 39., 20., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='T10.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-19., -13.,  11., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Tp7.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-10., -27.,  36., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Tp8.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ 7., 13., 33., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='P7..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([15., 21., 42., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='P5..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([17., 23., 47., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='P3..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([32., 30., 59., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='P1..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([35., 28., 58., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Pz..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([15.,  4., 40., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='P2..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([  0., -14.,  27., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='P4..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ -1., -16.,  28., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='P6..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([ -5., -20.,  30., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='P8..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([23., 18., 42., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Po7.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([20., 17., 41., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Po3.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([33., 25., 54., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Poz.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([14.,  1., 40., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Po4.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([16., -6., 38., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Po8.', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([18., 16., 14., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='O1..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([64., 62., 57., ...,  0.,  0.,  0.]), sampling_frequency=160.0, label='Oz..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([-12., -20., -26., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='O2..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([167., 162., 148., ...,   0.,   0.,   0.]), sampling_frequency=160.0, label='Iz..', transducer_type='BCI2000', physical_dimension='uV', physical_range=FloatRange(min=-8092.0, max=8092.0), digital_range=IntRange(min=-8092, max=8092), prefiltering='HP:0Hz LP:0Hz N:0Hz'), EdfSignal(data=array([12331.,  5140., 11008., ...,     0.,     0.,     0.]), sampling_frequency=80.0, label='EDF Annotations', transducer_type='', physical_dimension='-', physical_range=FloatRange(min=-32768.0, max=32767.0), digital_range=IntRange(min=-32768, max=32767), prefiltering='HP:0Hz LP:0Hz N:0Hz')), patient='X X X X', recording=Recording(startdate=datetime.date(2009, 8, 12), hospital_administration_code='X', investigator_technician_code='X', equipment_code='BCI2000', additional=()), starttime=datetime.time(16, 15), data_record_duration=1.0, annotations=(EdfAnnotation(onset=0.0, duration=4.2, text='T0'), EdfAnnotation(onset=4.2, duration=4.1, text='T1'), EdfAnnotation(onset=8.3, duration=4.2, text='T0'), EdfAnnotation(onset=12.5, duration=4.1, text='T2'), EdfAnnotation(onset=16.6, duration=4.2, text='T0'), EdfAnnotation(onset=20.8, duration=4.1, text='T1'), EdfAnnotation(onset=24.9, duration=4.2, text='T0'), EdfAnnotation(onset=29.1, duration=4.1, text='T2'), EdfAnnotation(onset=33.2, duration=4.2, text='T0'), EdfAnnotation(onset=37.4, duration=4.1, text='T2'), EdfAnnotation(onset=41.5, duration=4.2, text='T0'), EdfAnnotation(onset=45.7, duration=4.1, text='T1'), EdfAnnotation(onset=49.8, duration=4.2, text='T0'), EdfAnnotation(onset=54.0, duration=4.1, text='T1'), EdfAnnotation(onset=58.1, duration=4.2, text='T0'), EdfAnnotation(onset=62.3, duration=4.1, text='T2'), EdfAnnotation(onset=66.4, duration=4.2, text='T0'), EdfAnnotation(onset=70.6, duration=4.1, text='T1'), EdfAnnotation(onset=74.7, duration=4.2, text='T0'), EdfAnnotation(onset=78.9, duration=4.1, text='T2'), EdfAnnotation(onset=83.0, duration=4.2, text='T0'), EdfAnnotation(onset=87.2, duration=4.1, text='T1'), EdfAnnotation(onset=91.3, duration=4.2, text='T0'), EdfAnnotation(onset=95.5, duration=4.1, text='T2'), EdfAnnotation(onset=99.6, duration=4.2, text='T0'), EdfAnnotation(onset=103.8, duration=4.1, text='T2'), EdfAnnotation(onset=107.9, duration=4.2, text='T0'), EdfAnnotation(onset=112.1, duration=4.1, text='T1'), EdfAnnotation(onset=116.2, duration=4.2, text='T0'), EdfAnnotation(onset=120.4, duration=4.1, text='T1')))

This representation is pretty useless once the signal has more than about 10 channels. Printing the object yields the same output. I think it would be very helpful to view a summary of the Edf object. There are several options that could be implemented:

  1. Shorten the __repr__ to something like Edf (64 signals, 2234 annotations)
  2. Implement a custom __str__ method that outputs more information than the repr
  3. Add a summary method that behaves like (2), but could also have a verbosity parameter to control the level of detail.

Personally, I don't really like option (3), because having good __repr__ and __str__ representations should be sufficient.

hofaflo commented 7 months ago

Thank you for the suggestion, that is a very good point! I simplified both __repr__ methods in #26, feel free to comment there!