Skip to content

Commit

Permalink
Merge pull request NeuralEnsemble#1474 from NeuralEnsemble/black-form…
Browse files Browse the repository at this point in the history
…atting

Black formatting
  • Loading branch information
zm711 authored May 12, 2024
2 parents 60d7033 + 3cdf5f6 commit 7e85828
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 22 deletions.
43 changes: 22 additions & 21 deletions neo/rawio/blackrockrawio.py
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,10 @@ def _parse_header(self):

# The only way to know if it is the PTP-variant of file spec 3.0
# is to check for nanosecond timestamp resolution.
if "timestamp_resolution" in self.__nsx_basic_header[nsx_nb].dtype.names \
and self.__nsx_basic_header[nsx_nb]["timestamp_resolution"] == 1_000_000_000:
if (
"timestamp_resolution" in self.__nsx_basic_header[nsx_nb].dtype.names
and self.__nsx_basic_header[nsx_nb]["timestamp_resolution"] == 1_000_000_000
):
nsx_dataheader_reader = self.__nsx_dataheader_reader["3.0-ptp"]
else:
nsx_dataheader_reader = self.__nsx_dataheader_reader[spec]
Expand Down Expand Up @@ -372,8 +374,10 @@ def _parse_header(self):
spec = self.__nsx_spec[nsx_nb]
# The only way to know if it is the PTP-variant of file spec 3.0
# is to check for nanosecond timestamp resolution.
if "timestamp_resolution" in self.__nsx_basic_header[nsx_nb].dtype.names \
and self.__nsx_basic_header[nsx_nb]["timestamp_resolution"] == 1_000_000_000:
if (
"timestamp_resolution" in self.__nsx_basic_header[nsx_nb].dtype.names
and self.__nsx_basic_header[nsx_nb]["timestamp_resolution"] == 1_000_000_000
):
_data_reader_fun = self.__nsx_data_reader["3.0-ptp"]
else:
_data_reader_fun = self.__nsx_data_reader[spec]
Expand Down Expand Up @@ -437,7 +441,7 @@ def _parse_header(self):
if "timestamp_resolution" in self.__nsx_basic_header[nsx_nb].dtype.names:
ts_res = self.__nsx_basic_header[nsx_nb]["timestamp_resolution"]
elif spec == "2.1":
ts_res = self.__nsx_params[spec](nsx_nb)['timestamp_resolution']
ts_res = self.__nsx_params[spec](nsx_nb)["timestamp_resolution"]
else:
ts_res = 30_000
period = self.__nsx_basic_header[nsx_nb]["period"]
Expand Down Expand Up @@ -966,7 +970,11 @@ def __read_nsx_dataheader_variant_b(
return data_header

def __read_nsx_dataheader_variant_c(
self, nsx_nb, filesize=None, offset=None, ):
self,
nsx_nb,
filesize=None,
offset=None,
):
"""
Reads the nsx data header for each data block for file spec 3.0 with PTP timestamps
"""
Expand All @@ -984,7 +992,7 @@ def __read_nsx_dataheader_variant_c(
("reserved", "uint8"),
("timestamps", "uint64"),
("num_data_points", "uint32"),
("samples", "int16", self.__nsx_basic_header[nsx_nb]["channel_count"])
("samples", "int16", self.__nsx_basic_header[nsx_nb]["channel_count"]),
]
npackets = int((filesize - offset) / np.dtype(ptp_dt).itemsize)
struct_arr = np.memmap(filename, dtype=ptp_dt, shape=npackets, offset=offset, mode="r")
Expand All @@ -1001,28 +1009,20 @@ def __read_nsx_dataheader_variant_c(
_clock_rate = self.__nsx_basic_header[nsx_nb]["timestamp_resolution"] # clocks per sec
clk_per_samp = _clock_rate / _nominal_rate # clk/sec / smp/sec = clk/smp
seg_thresh_clk = int(2 * clk_per_samp)
seg_starts = np.hstack(
(0, 1 + np.argwhere(np.diff(struct_arr["timestamps"]) > seg_thresh_clk).flatten())
)
seg_starts = np.hstack((0, 1 + np.argwhere(np.diff(struct_arr["timestamps"]) > seg_thresh_clk).flatten()))
for seg_ix, seg_start_idx in enumerate(seg_starts):
if seg_ix < (len(seg_starts) - 1):
seg_stop_idx = seg_starts[seg_ix + 1]
else:
seg_stop_idx = (len(struct_arr) - 1)
seg_stop_idx = len(struct_arr) - 1
seg_offset = offset + seg_start_idx * struct_arr.dtype.itemsize
num_data_pts = seg_stop_idx - seg_start_idx
seg_struct_arr = np.memmap(
filename,
dtype=ptp_dt,
shape=num_data_pts,
offset=seg_offset,
mode="r"
)
seg_struct_arr = np.memmap(filename, dtype=ptp_dt, shape=num_data_pts, offset=seg_offset, mode="r")
data_header[seg_ix] = {
"header": None,
"timestamp": seg_struct_arr["timestamps"], # Note, this is an array, not a scalar
"nb_data_points": num_data_pts,
"offset_to_data_block": seg_offset
"offset_to_data_block": seg_offset,
}
return data_header

Expand Down Expand Up @@ -1075,7 +1075,7 @@ def __read_nsx_data_variant_c(self, nsx_nb):
("reserved", "uint8"),
("timestamps", "uint64"),
("num_data_points", "uint32"),
("samples", "int16", self.__nsx_basic_header[nsx_nb]["channel_count"])
("samples", "int16", self.__nsx_basic_header[nsx_nb]["channel_count"]),
]

data = {}
Expand All @@ -1084,7 +1084,8 @@ def __read_nsx_data_variant_c(self, nsx_nb):
filename,
dtype=ptp_dt,
shape=bl_header["nb_data_points"],
offset=bl_header["offset_to_data_block"], mode="r"
offset=bl_header["offset_to_data_block"],
mode="r",
)
# Does this concretize the data?
# If yes then investigate np.ndarray with buffer=file,
Expand Down
2 changes: 1 addition & 1 deletion neo/rawio/intanrawio.py
Original file line number Diff line number Diff line change
Expand Up @@ -1056,7 +1056,7 @@ def create_one_file_per_channel_dict_rhs(
raw_file_paths_dict = {}
for raw_index, prefix in enumerate(possible_raw_file_prefixes_rhs):
raw_file_paths_dict[raw_index] = [file for file in files if prefix in file.name]

# we need time to be the last value
raw_file_paths_dict[15] = [Path(dirname / "time.dat")]
# 10 and 11 are hardcoded in the rhs reader so hardcoded here
Expand Down

0 comments on commit 7e85828

Please sign in to comment.