/usr/lib/python2.7/dist-packages/neuroshare/AnalogEntity.py is in python-neuroshare 0.9.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | from Entity import Entity
class AnalogEntity(Entity):
""":class:`Entity` that represents continuously sampled, i.e. digitized, analog data.
Examples are waveforms recorded via an electrode (microelectrodes, EKG, EEG).
Actual data can be accessed via the :func:`get_data` function.
.. note:: data may contain gaps (e.g. when no data is recorded between trails)
"""
def __init__(self, nsfile, eid, info):
super(AnalogEntity, self).__init__(eid, nsfile, info)
@property
def sample_rate(self):
"""Sampling rate (in Hz)."""
return self._info['SampleRate']
@property
def min_value(self):
"""Minimum value of the data"""
return self._info['MinVal']
@property
def max_value(self):
"""Maximum value of the data"""
return self._info['MaxVal']
@property
def resolution(self):
"""Minimal resolvable step size"""
return self._info['Resolution']
@property
def units(self):
"""Physical units of measured data"""
return self._info['Units']
@property
def location_x(self):
"""x coordinate of the source [in meters]"""
return self._info['LocationX']
@property
def location_y(self):
"""y coordinate of the source [in meters]"""
return self._info['LocationY']
@property
def location_z(self):
"""z coordinate of the source [in meters]"""
return self._info['LocationZ']
@property
def location_user(self):
"""Hardware specific additional location information"""
return self._info['LocationUser']
@property
def high_freq_corner(self):
"""High frequency cutoff [in Hz] of the filter"""
return self._info['HighFreqCorner']
@property
def high_freq_order(self):
"""Order of the high frequency filter"""
return self._info['HighFreqOrder']
@property
def high_filter_type(self):
"""Type of the filter used [text]"""
return self._info['HighFilterType']
@property
def low_freq_corner(self):
"""Low frequency cutoff [in Hz] of the filter"""
return self._info['LowFreqCorner']
@property
def low_freq_order(self):
"""Order of the high frequency filter"""
return self._info['LowFreqOrder']
@property
def low_filter_type(self):
"""Type of the filter used [text]"""
return self._info['LowFilterType']
@property
def probe_info(self):
"""Additional information"""
return self._info['ProbeInfo']
def get_data(self, index=0, count=-1):
"""Retrieve raw data from file starting at ``index`` up to ``count`` elements.
If no parameters are given retrieves all available data.
Returns a tuple with three elements containing the raw data ``[0]``, the timestamp
of each data point ``[1]`` and how many of the data values are continuous ``[2]``.
Example use: ``data, times, count = analog1.get_data()``
Raw data and timestamp data are return as :class:`numpy.ndarray`.
"""
if count < 0:
count = self.item_count
lib = self.file.library
data = lib._get_analog_data(self, index, count)
return data
|