Source code for allensdk.brain_observatory.behavior.write_nwb.extensions.event_detection.extension_builder

import os.path

from pynwb.spec import NWBNamespaceBuilder, export_spec, NWBGroupSpec, \
    NWBDatasetSpec

NAMESPACE = 'ndx-aibs-ophys-event-detection'


[docs]def main(): ns_builder = NWBNamespaceBuilder( doc="Detected events from optical physiology ROI fluorescence traces", name=f"""{NAMESPACE}""", version="""0.1.0""", author="""Allen Institute for Brain Science""", contact="""waynew@alleninstitute.org""" ) ns_builder.include_type('RoiResponseSeries', namespace='core') ns_builder.include_type('DynamicTableRegion', namespace='core') ns_builder.include_type('TimeSeries', namespace='core') ns_builder.include_type('NWBDataInterface', namespace='core') ophys_events_spec = NWBGroupSpec( neurodata_type_def='OphysEventDetection', neurodata_type_inc='RoiResponseSeries', name='event_detection', doc='Stores event detection output', datasets=[ NWBDatasetSpec( name='lambdas', dtype='float', doc='calculated regularization weights', shape=(None,) ), NWBDatasetSpec( name='noise_stds', dtype='float', doc='calculated noise std deviations', shape=(None,) ) ] ) new_data_types = [ophys_events_spec] # export the spec to yaml files in the spec folder output_dir = os.path.abspath(os.path.join(os.path.dirname(__file__))) export_spec(ns_builder, new_data_types, output_dir)
if __name__ == "__main__": # usage: python create_extension_spec.py main()