MPBA / pyphysio

GNU General Public License v3.0
47 stars 13 forks source link

BUG segment_time() of UnevenlySignal #33

Closed andbiz closed 7 years ago

andbiz commented 7 years ago
# create a signal

## create fake data
signal_values = np.arange(100)

## create fake indices
idx = np.arange(100)
idx[-1] = 125

## set the sampling frequency
fsamp = 10 # Hz

## set the starting time
tstart = 10 # s

## create an Unevenly signal defining the indices
x_values_idx = idx

s_fake_idx = UnevenlySignal(values = signal_values, sampling_freq = fsamp, signal_nature = 'fake', start_time = tstart,
                       x_values = x_values_idx, x_type = 'indices')

s_fake_idx_segment = s_fake_idx.segment_time(4.5, 5)

Traceback:

TypeError                                 Traceback (most recent call last)
<ipython-input-16-04604a1c5589> in <module>()
      1 # segmentation of US
      2 
----> 3 s_fake_idx_segment = s_fake_idx.segment_time(4.5, 5)
      4 s_fake_time_segment = s_fake_time.segment_time(4.5, 5)

/home/andrea/Trento/CODICE/workspaces/pyHRV/pyHRV/pyphysio/Signal.pyc in segment_time(self, t_start, t_stop)
    422 
    423         return self.segment_idx(self.get_idx(t_start) if t_start is not None else None,
--> 424                                 self.get_idx(t_stop) if t_stop is not None else None)
    425 
    426     def segment_idx(self, idx_start, idx_stop=None):

/home/andrea/Trento/CODICE/workspaces/pyHRV/pyHRV/pyphysio/Signal.pyc in segment_idx(self, idx_start, idx_stop)
    445             idx_start = 0
    446 
--> 447         iidx_start = int(self.get_iidx_from_idx(idx_start))
    448         iidx_stop = int(self.get_iidx_from_idx(idx_stop))
    449 

TypeError: int() argument must be a string or a number, not 'NoneType'
Alebat commented 7 years ago

That is due to the time being out of range from the top

andbiz commented 7 years ago

yes... sorry. Closed

Alebat commented 7 years ago

However I think it should be analyzed and managed as an error in a better way