@@ -24,11 +24,21 @@ def chunk_channel_data(bit_width: int, ch_data: List[float], max_payload_size_by
2424 yield ch_data [start_idx :end_idx ]
2525
2626class ElectricalBroadbandData :
27+ """Electrical broadband data from neural recordings.
28+
29+ Attributes:
30+ t0 (int): Start timestamp in nanoseconds
31+ is_signed (bool): Whether the data is represented using signed integers
32+ bit_width (int): Number of bits used to represent each sample
33+ samples (Tuple[int, List[float]]): Tuple of (channel_id, data_samples)
34+ sample_rate (float): Sample rate in Hz
35+ """
2736 __slots__ = ["data_type" , "t0" , "is_signed" , "bit_width" , "samples" , "sample_rate" ]
2837
2938 def __init__ (self , t0 , bit_width , samples : Tuple [int , List [float ]], sample_rate , is_signed = True ):
3039 self .data_type = DataType .kBroadband
31- self .t0 = t0
40+
41+ self .t0 = t0 # ns
3242 self .is_signed = is_signed
3343 self .bit_width = bit_width
3444 self .samples = samples
@@ -104,13 +114,19 @@ def to_list(self):
104114 ],
105115 ]
106116
107-
108117class SpiketrainData :
118+ """Binned spike train data from neural recordings.
119+
120+ Attributes:
121+ t0 (int): Start timestamp in nanoseconds
122+ bin_size_ms (float): Size of each time bin in milliseconds
123+ spike_counts (List[int]): Number of spikes in each time bin
124+ """
109125 __slots__ = ["data_type" , "t0" , "bin_size_ms" , "spike_counts" ]
110126
111127 def __init__ (self , t0 , bin_size_ms , spike_counts ):
112128 self .data_type = DataType .kSpiketrain
113- self .t0 = t0
129+ self .t0 = t0 # ns
114130 self .bin_size_ms = bin_size_ms
115131 self .spike_counts = spike_counts
116132
0 commit comments