Skip to content

Commit

Permalink
Start fixing time units for aligning signals
Browse files Browse the repository at this point in the history
  • Loading branch information
bagibence committed Jun 24, 2024
1 parent 724f01f commit a3aab75
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
7 changes: 5 additions & 2 deletions src/beneuro_data/conversion/anipose_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@
import numpy as np
import spikeinterface.extractors as se
from ndx_pose import PoseEstimation, PoseEstimationSeries
from neuroconv.basetemporalalignmentinterface import \
from neuroconv.basetemporalalignmentinterface import (
BaseTemporalAlignmentInterface
)
from neuroconv.tools.signal_processing import get_rising_frames_from_ttl
from neuroconv.utils import DeepDict, FilePathType
from pynwb import NWBFile

from beneuro_data.data_validation import \
from beneuro_data.data_validation import (
_find_spikeglx_recording_folders_in_session
)
from beneuro_data.spike_sorting import get_ap_stream_names

DEFAULT_FPS = 100
Expand Down Expand Up @@ -95,6 +97,7 @@ def add_to_nwbfile(
unit="a.u.", # TODO
reference_frame="(0, 0, 0) is what?", # TODO
timestamps=timestamps,
timestamps_unit="s",
starting_time=starting_time,
rate=rate,
confidence=np.full(self.n_frames, np.nan),
Expand Down
15 changes: 8 additions & 7 deletions src/beneuro_data/conversion/pycontrol_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@

import dateutil.tz
import numpy as np
from neuroconv.basetemporalalignmentinterface import \
from neuroconv.basetemporalalignmentinterface import (
BaseTemporalAlignmentInterface
)
from neuroconv.utils import DeepDict, FilePathType
from pynwb import NWBFile
from pynwb.behavior import BehavioralEvents, Position, SpatialSeries
Expand Down Expand Up @@ -115,7 +116,7 @@ def add_position(self, nwbfile: NWBFile) -> None:
name="Ball position",
description="(x,y) position as measured by PyControl",
data=self._get_pos_data(),
timestamps=self._get_pos_timestamps().astype(float),
timestamps=self._get_pos_timestamps().astype(float) / 1000,
reference_frame="(0,0) is what?", # TODO
)

Expand All @@ -133,7 +134,7 @@ def add_print_events(self, nwbfile: NWBFile):
for it in self.session.print_data
if it.name == print_item
],
unit="",
unit="ms",
)

self._add_to_behavior_module(print_events, nwbfile)
Expand All @@ -145,7 +146,7 @@ def add_behavioral_events(self, nwbfile: NWBFile) -> None:
name="behavioral events",
data=[e.name for e in self.session.events],
timestamps=[float(e.time) for e in self.session.events],
unit="",
unit="ms",
)

self._add_to_behavior_module(behavioral_events, nwbfile)
Expand Down Expand Up @@ -179,14 +180,14 @@ def add_behavioral_states(self, nwbfile: NWBFile) -> None:

for state in self.session.states:
duration = (
state.duration
state.duration / 1000
if state.duration is not None
else session_length - state.time
)

behavioral_states.add_row(
start_time=float(state.time),
stop_time=float(state.time + duration),
start_time=float(state.time) / 1000,
stop_time=float(state.time + duration) / 1000,
state_name=state.name,
)

Expand Down

0 comments on commit a3aab75

Please sign in to comment.