What is the definition of the logical unit of a Segment, or why is there no Segment.time_slice()?

24 views
Skip to first unread message

Georg Raiser

unread,
May 7, 2018, 10:38:11 AM5/7/18
to Neural Ensemble

Taken from the docs:

Segment is a heterogeneous container for discrete or continuous data sharing a common clock (time basis) but not necessary the same sampling rate, start or end time.

What is meant by this, exactly? What is a "common clock"? If the individual data children can have arbitrary t_start and t_stop as well as sampling rates, what "shared time basis" is still uniting them into a logical group?
As it looks like in the neo core diagram, all elements of a segment share a common t_start and t_stop. If different measurements have different sampling rates, then of course having a shared t_start and t_stop is quite impossible, but if the time basis is made flexible, what logical grouping basis is left?

I ask this question, because I was looking for a .time_slice() method of a segment. That would be an extremely useful thing, if a segment is meant to be used as a temporal logical unit.

Thanks, Georg

Samuel Garcia

unread,
May 14, 2018, 4:02:23 AM5/14/18
to neurale...@googlegroups.com
Hi,
basically this mean that object inside a Segment have a compatible timeline.
So you can align spikes, events and signals for analyses inside a Segment (PSTH, phase lock, ...)

This is not always the case for objects inside a Block, because Segment inside a Block can "reset" the clock for each Segment in some recording device that do not have absolute time.

Even it is not intuitive, a Segment do not have borders (t_start/t_stop).
Only objects (AnalogSignal, Events, Spiketrain) inside the Segment have borders (t_start/t_stop).
This is for covering the case when 2 devices (aligned in time) have recorded the same thing but with different start/stop.
So object have time_slice but not Segment do not have.

We could add a convenient Segment.time_slice and the meaning would be "slice all object inside this Segment".
Note that even in that case this will ensure that all object will have the same t_start for complicated cases.


Could you open an Issue ? (I guess there is already one about this).


Best


Samuel
--
You received this message because you are subscribed to the Google Groups "Neural Ensemble" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neuralensembl...@googlegroups.com.
To post to this group, send email to neurale...@googlegroups.com.
Visit this group at https://groups.google.com/group/neuralensemble.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages