Source code for pynwb.testing.mock.ogen

from typing import Optional

import numpy as np

from ... import NWBFile
from ...device import Device
from ...ogen import OptogeneticStimulusSite, OptogeneticSeries

from .device import mock_Device
from .utils import name_generator


[docs] def mock_OptogeneticStimulusSite( name: Optional[str] = None, device: Optional[Device] = None, description: str = "optogenetic stimulus site", excitation_lambda: float = 500., location: str = "part of the brain", nwbfile: Optional[NWBFile] = None, ) -> OptogeneticStimulusSite: optogenetic_stimulus_site = OptogeneticStimulusSite( name=name or name_generator("OptogeneticStimulusSite"), device=device or mock_Device(nwbfile=nwbfile), description=description, excitation_lambda=excitation_lambda, location=location ) if nwbfile is not None: nwbfile.add_ogen_site(optogenetic_stimulus_site) return optogenetic_stimulus_site
[docs] def mock_OptogeneticSeries( name: Optional[str] = None, data=None, site: Optional[OptogeneticStimulusSite] = None, resolution: float = -1.0, conversion: float = 1.0, timestamps=None, starting_time: Optional[float] = None, rate: Optional[float] = 10.0, comments: str = "no comments", description: str = "no description", control=None, control_description=None, nwbfile: Optional[NWBFile] = None, ) -> OptogeneticSeries: optogenetic_series = OptogeneticSeries( name=name or name_generator("OptogeneticSeries"), data=data if data is not None else np.array([1, 2, 3, 4]), site=site or mock_OptogeneticStimulusSite(nwbfile=nwbfile), resolution=resolution, conversion=conversion, timestamps=timestamps, starting_time=starting_time, rate=rate, comments=comments, description=description, control=control, control_description=control_description, ) if nwbfile is not None: nwbfile.add_acquisition(optogenetic_series) return optogenetic_series