DEPRECATED: This will be removed in version 1.0.0. Check nwbmatic or neuroconv instead.
Loaders for calcium imaging data with miniscope.
Support CNMF-E in matlab, inscopix-cnmfe and minian.
CNMF_E
Bases: BaseLoader
Loader for data processed with matlab CNMF-E(https://github.com/zhoupc/CNMF_E).
The path folder should contain a file ending in .mat
when calling Source2d.save_neurons
Attributes:
Name |
Type |
Description |
A |
ndarray
|
|
C |
TsdFrame
|
|
sampling_rate |
float
|
Sampling rate of the data (default is 30 Hz).
|
Source code in pynapple/io/cnmfe.py
| class CNMF_E(BaseLoader):
"""Loader for data processed with matlab CNMF-E(https://github.com/zhoupc/CNMF_E).
The path folder should contain a file ending in .mat
when calling Source2d.save_neurons
Attributes
----------
A : numpy.ndarray
Spatial footprints
C : TsdFrame
The calcium transients
sampling_rate : float
Sampling rate of the data (default is 30 Hz).
"""
def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|
load_data
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
Path to the session folder
|
required
|
Source code in pynapple/io/loader.py
| def load_data(self):
"""
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters
----------
path : str
Path to the session folder
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
position = {}
acq_keys = nwbfile.acquisition.keys()
if "CompassDirection" in acq_keys:
compass = nwbfile.acquisition["CompassDirection"]
for k in compass.spatial_series.keys():
position[k] = pd.Series(
index=compass.get_spatial_series(k).timestamps[:],
data=compass.get_spatial_series(k).data[:],
)
if "Position" in acq_keys:
tracking = nwbfile.acquisition["Position"]
for k in tracking.spatial_series.keys():
position[k] = pd.Series(
index=tracking.get_spatial_series(k).timestamps[:],
data=tracking.get_spatial_series(k).data[:],
)
if len(position):
position = pd.DataFrame.from_dict(position)
# retrieveing time support position if in epochs
if "position_time_support" in nwbfile.intervals.keys():
epochs = nwbfile.intervals["position_time_support"].to_dataframe()
time_support = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
self.position = nap.TsdFrame(
position, time_units="s", time_support=time_support
)
if nwbfile.epochs is not None:
epochs = nwbfile.epochs.to_dataframe()
# NWB is dumb and cannot take a single string for labels
epochs["label"] = [epochs.loc[i, "tags"][0] for i in epochs.index]
epochs = epochs.drop(labels="tags", axis=1)
epochs = epochs.rename(columns={"start_time": "start", "stop_time": "end"})
self.epochs = self._make_epochs(epochs)
self.time_support = self._join_epochs(epochs, "s")
io.close()
return
|
save_nwb_intervals
save_nwb_intervals(iset, name, description='')
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters:
Name |
Type |
Description |
Default |
iset |
IntervalSet
|
|
required
|
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def save_nwb_intervals(self, iset, name, description=""):
"""
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters
----------
iset : IntervalSet
The intervalSet to save
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
epochs = iset.as_units("s")
time_intervals = TimeIntervals(name=name, description=description)
for i in epochs.index:
time_intervals.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_intervals)
io.write(nwbfile)
io.close()
return
|
save_nwb_timeseries
save_nwb_timeseries(tsd, name, description='')
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters:
Name |
Type |
Description |
Default |
tsd |
TsdFrame
|
|
required
|
name |
str
|
|
required
|
description |
str
|
|
''
|
Source code in pynapple/io/loader.py
| def save_nwb_timeseries(self, tsd, name, description=""):
"""
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters
----------
tsd : TsdFrame
_
name : str
_
description : str, optional
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
ts = TimeSeries(
name=name,
unit="s",
data=tsd.values,
timestamps=tsd.as_units("s").index.values,
)
time_support = TimeIntervals(
name=name + "_timesupport", description="The time support of the object"
)
epochs = tsd.time_support.as_units("s")
for i in epochs.index:
time_support.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_support)
nwbfile.add_acquisition(ts)
io.write(nwbfile)
io.close()
return
|
load_nwb_intervals
Load epochs from the NWB file (e.g. 'ripples')
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def load_nwb_intervals(self, name):
"""
Load epochs from the NWB file (e.g. 'ripples')
Parameters
----------
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if name in nwbfile.intervals.keys():
epochs = nwbfile.intervals[name].to_dataframe()
isets = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
io.close()
return isets
else:
io.close()
return
|
load_nwb_timeseries
load_nwb_timeseries(name)
Load timestamps in the NWB file (e.g. ripples time)
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Returns:
Source code in pynapple/io/loader.py
| def load_nwb_timeseries(self, name):
"""
Load timestamps in the NWB file (e.g. ripples time)
Parameters
----------
name : str
_
Returns
-------
Tsd
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
ts = nwbfile.acquisition[name]
time_support = self.load_nwb_intervals(name + "_timesupport")
tsd = nap.Tsd(
t=ts.timestamps[:], d=ts.data[:], time_units="s", time_support=time_support
)
io.close()
return tsd
|
__init__
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
|
load_cnmfe_nwb
Load the calcium transient and spatial footprint from nwb
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|
Minian
Bases: BaseLoader
Loader for data processed with Minian (https://github.com/denisecailab/minian).
The path folder should contain a subfolder name minian.
Attributes:
Name |
Type |
Description |
A |
ndarray
|
|
C |
TsdFrame
|
|
sampling_rate |
float
|
Sampling rate of the data (default is 30 Hz).
|
Source code in pynapple/io/cnmfe.py
| class Minian(BaseLoader):
"""Loader for data processed with Minian (https://github.com/denisecailab/minian).
The path folder should contain a subfolder name minian.
Attributes
----------
A : numpy.ndarray
Spatial footprints
C : TsdFrame
The calcium transients
sampling_rate : float
Sampling rate of the data (default is 30 Hz).
"""
def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|
load_data
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
Path to the session folder
|
required
|
Source code in pynapple/io/loader.py
| def load_data(self):
"""
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters
----------
path : str
Path to the session folder
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
position = {}
acq_keys = nwbfile.acquisition.keys()
if "CompassDirection" in acq_keys:
compass = nwbfile.acquisition["CompassDirection"]
for k in compass.spatial_series.keys():
position[k] = pd.Series(
index=compass.get_spatial_series(k).timestamps[:],
data=compass.get_spatial_series(k).data[:],
)
if "Position" in acq_keys:
tracking = nwbfile.acquisition["Position"]
for k in tracking.spatial_series.keys():
position[k] = pd.Series(
index=tracking.get_spatial_series(k).timestamps[:],
data=tracking.get_spatial_series(k).data[:],
)
if len(position):
position = pd.DataFrame.from_dict(position)
# retrieveing time support position if in epochs
if "position_time_support" in nwbfile.intervals.keys():
epochs = nwbfile.intervals["position_time_support"].to_dataframe()
time_support = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
self.position = nap.TsdFrame(
position, time_units="s", time_support=time_support
)
if nwbfile.epochs is not None:
epochs = nwbfile.epochs.to_dataframe()
# NWB is dumb and cannot take a single string for labels
epochs["label"] = [epochs.loc[i, "tags"][0] for i in epochs.index]
epochs = epochs.drop(labels="tags", axis=1)
epochs = epochs.rename(columns={"start_time": "start", "stop_time": "end"})
self.epochs = self._make_epochs(epochs)
self.time_support = self._join_epochs(epochs, "s")
io.close()
return
|
save_nwb_intervals
save_nwb_intervals(iset, name, description='')
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters:
Name |
Type |
Description |
Default |
iset |
IntervalSet
|
|
required
|
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def save_nwb_intervals(self, iset, name, description=""):
"""
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters
----------
iset : IntervalSet
The intervalSet to save
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
epochs = iset.as_units("s")
time_intervals = TimeIntervals(name=name, description=description)
for i in epochs.index:
time_intervals.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_intervals)
io.write(nwbfile)
io.close()
return
|
save_nwb_timeseries
save_nwb_timeseries(tsd, name, description='')
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters:
Name |
Type |
Description |
Default |
tsd |
TsdFrame
|
|
required
|
name |
str
|
|
required
|
description |
str
|
|
''
|
Source code in pynapple/io/loader.py
| def save_nwb_timeseries(self, tsd, name, description=""):
"""
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters
----------
tsd : TsdFrame
_
name : str
_
description : str, optional
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
ts = TimeSeries(
name=name,
unit="s",
data=tsd.values,
timestamps=tsd.as_units("s").index.values,
)
time_support = TimeIntervals(
name=name + "_timesupport", description="The time support of the object"
)
epochs = tsd.time_support.as_units("s")
for i in epochs.index:
time_support.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_support)
nwbfile.add_acquisition(ts)
io.write(nwbfile)
io.close()
return
|
load_nwb_intervals
Load epochs from the NWB file (e.g. 'ripples')
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def load_nwb_intervals(self, name):
"""
Load epochs from the NWB file (e.g. 'ripples')
Parameters
----------
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if name in nwbfile.intervals.keys():
epochs = nwbfile.intervals[name].to_dataframe()
isets = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
io.close()
return isets
else:
io.close()
return
|
load_nwb_timeseries
load_nwb_timeseries(name)
Load timestamps in the NWB file (e.g. ripples time)
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Returns:
Source code in pynapple/io/loader.py
| def load_nwb_timeseries(self, name):
"""
Load timestamps in the NWB file (e.g. ripples time)
Parameters
----------
name : str
_
Returns
-------
Tsd
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
ts = nwbfile.acquisition[name]
time_support = self.load_nwb_intervals(name + "_timesupport")
tsd = nap.Tsd(
t=ts.timestamps[:], d=ts.data[:], time_units="s", time_support=time_support
)
io.close()
return tsd
|
__init__
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
|
load_cnmfe_nwb
Load the calcium transient and spatial footprint from nwb
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|
InscopixCNMFE
Bases: BaseLoader
Loader for Inscopix-cnmfe (https://github.com/inscopix/inscopix-cnmfe).
The folder should contain a file ending with '_traces.csv'
and a tiff file for spatial footprints.
Attributes:
Name |
Type |
Description |
A |
ndarray
|
|
C |
TsdFrame
|
|
sampling_rate |
float
|
Sampling rate of the data (default is 30 Hz).
|
Source code in pynapple/io/cnmfe.py
| class InscopixCNMFE(BaseLoader):
"""Loader for Inscopix-cnmfe (https://github.com/inscopix/inscopix-cnmfe).
The folder should contain a file ending with '_traces.csv'
and a tiff file for spatial footprints.
Attributes
----------
A : np.ndarray
The spatial footprints
C : TsdFrame
The calcium transients
sampling_rate : float
Sampling rate of the data (default is 30 Hz).
"""
def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|
load_data
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
Path to the session folder
|
required
|
Source code in pynapple/io/loader.py
| def load_data(self):
"""
Load NWB data saved with pynapple in the pynapplenwb folder
Parameters
----------
path : str
Path to the session folder
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
position = {}
acq_keys = nwbfile.acquisition.keys()
if "CompassDirection" in acq_keys:
compass = nwbfile.acquisition["CompassDirection"]
for k in compass.spatial_series.keys():
position[k] = pd.Series(
index=compass.get_spatial_series(k).timestamps[:],
data=compass.get_spatial_series(k).data[:],
)
if "Position" in acq_keys:
tracking = nwbfile.acquisition["Position"]
for k in tracking.spatial_series.keys():
position[k] = pd.Series(
index=tracking.get_spatial_series(k).timestamps[:],
data=tracking.get_spatial_series(k).data[:],
)
if len(position):
position = pd.DataFrame.from_dict(position)
# retrieveing time support position if in epochs
if "position_time_support" in nwbfile.intervals.keys():
epochs = nwbfile.intervals["position_time_support"].to_dataframe()
time_support = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
self.position = nap.TsdFrame(
position, time_units="s", time_support=time_support
)
if nwbfile.epochs is not None:
epochs = nwbfile.epochs.to_dataframe()
# NWB is dumb and cannot take a single string for labels
epochs["label"] = [epochs.loc[i, "tags"][0] for i in epochs.index]
epochs = epochs.drop(labels="tags", axis=1)
epochs = epochs.rename(columns={"start_time": "start", "stop_time": "end"})
self.epochs = self._make_epochs(epochs)
self.time_support = self._join_epochs(epochs, "s")
io.close()
return
|
save_nwb_intervals
save_nwb_intervals(iset, name, description='')
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters:
Name |
Type |
Description |
Default |
iset |
IntervalSet
|
|
required
|
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def save_nwb_intervals(self, iset, name, description=""):
"""
Add epochs to the NWB file (e.g. ripples epochs)
See pynwb.epoch.TimeIntervals
Parameters
----------
iset : IntervalSet
The intervalSet to save
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
epochs = iset.as_units("s")
time_intervals = TimeIntervals(name=name, description=description)
for i in epochs.index:
time_intervals.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_intervals)
io.write(nwbfile)
io.close()
return
|
save_nwb_timeseries
save_nwb_timeseries(tsd, name, description='')
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters:
Name |
Type |
Description |
Default |
tsd |
TsdFrame
|
|
required
|
name |
str
|
|
required
|
description |
str
|
|
''
|
Source code in pynapple/io/loader.py
| def save_nwb_timeseries(self, tsd, name, description=""):
"""
Save timestamps in the NWB file (e.g. ripples time) with the time support.
See pynwb.base.TimeSeries
Parameters
----------
tsd : TsdFrame
_
name : str
_
description : str, optional
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r+")
nwbfile = io.read()
ts = TimeSeries(
name=name,
unit="s",
data=tsd.values,
timestamps=tsd.as_units("s").index.values,
)
time_support = TimeIntervals(
name=name + "_timesupport", description="The time support of the object"
)
epochs = tsd.time_support.as_units("s")
for i in epochs.index:
time_support.add_interval(
start_time=epochs.loc[i, "start"],
stop_time=epochs.loc[i, "end"],
tags=str(i),
)
nwbfile.add_time_intervals(time_support)
nwbfile.add_acquisition(ts)
io.write(nwbfile)
io.close()
return
|
load_nwb_intervals
Load epochs from the NWB file (e.g. 'ripples')
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Source code in pynapple/io/loader.py
| def load_nwb_intervals(self, name):
"""
Load epochs from the NWB file (e.g. 'ripples')
Parameters
----------
name : str
The name in the nwb file
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if name in nwbfile.intervals.keys():
epochs = nwbfile.intervals[name].to_dataframe()
isets = nap.IntervalSet(
start=epochs["start_time"], end=epochs["stop_time"], time_units="s"
)
io.close()
return isets
else:
io.close()
return
|
load_nwb_timeseries
load_nwb_timeseries(name)
Load timestamps in the NWB file (e.g. ripples time)
Parameters:
Name |
Type |
Description |
Default |
name |
str
|
|
required
|
Returns:
Source code in pynapple/io/loader.py
| def load_nwb_timeseries(self, name):
"""
Load timestamps in the NWB file (e.g. ripples time)
Parameters
----------
name : str
_
Returns
-------
Tsd
_
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
ts = nwbfile.acquisition[name]
time_support = self.load_nwb_intervals(name + "_timesupport")
tsd = nap.Tsd(
t=ts.timestamps[:], d=ts.data[:], time_units="s", time_support=time_support
)
io.close()
return tsd
|
__init__
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def __init__(self, path):
"""
Parameters
----------
path : str
The path to the data.
"""
path = Path(path)
self.basename = path.name
super().__init__(path)
self.load_cnmfe_nwb()
|
load_cnmfe_nwb
Load the calcium transient and spatial footprint from nwb
Parameters:
Name |
Type |
Description |
Default |
path |
str
|
|
required
|
Source code in pynapple/io/cnmfe.py
| def load_cnmfe_nwb(self):
"""
Load the calcium transient and spatial footprint from nwb
Parameters
----------
path : str
Path to the session
"""
io = NWBHDF5IO(self.nwbfilepath, "r")
nwbfile = io.read()
if "ophys" in nwbfile.processing.keys():
data = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].data[:]
t = nwbfile.processing["ophys"]["Fluorescence"][
"RoiResponseSeries"
].timestamps[:]
self.C = nap.TsdFrame(t=t, d=data)
self.A = nwbfile.processing["ophys"]["ImageSegmentation"][
"PlaneSegmentation"
]["image_mask"].data[:]
io.close()
return True
else:
io.close()
return False
|