示例#1
0
 def test_nwb_file_builder_failed_due_to_None_parameter(self):
     NWBFileBuilder(data_path=str(path) + '/test_data/',
                    animal_name='beans',
                    date=None,
                    nwb_metadata=self.metadata,
                    process_dio=True,
                    process_mda=True,
                    process_analog=True)
示例#2
0
    def build_nwb(self,
                  process_mda_valid_time=True,
                  process_mda_invalid_time=True,
                  process_pos_valid_time=True,
                  process_pos_invalid_time=True):
        """Builds nwb file for experiments from given dates.

        Args:
            process_mda_valid_time (boolean): True if the mda valid times should be build and append to nwb.
                Need the mda data inside the nwb. (default True)
            process_mda_invalid_time (boolean): True if the mda invalid times should be build and append to nwb.
                Need the mda data inside the nwb. (default True)
            process_pos_valid_time (boolean): True if the pos valid times should be build and append to nwb.
                Need the pos data inside the nwb. (default True)
            process_pos_invalid_time (boolean): True if the pos invalid times should be build and append to nwb.
                Need the pos data inside the nwb. (default True)
        """

        self.__preprocess_data()

        os.makedirs(self.output_path, exist_ok=True)
        os.makedirs(self.video_path, exist_ok=True)
        for date in self.dates:
            nwb_builder = NWBFileBuilder(
                data_path=self.data_path,
                animal_name=self.animal_name,
                date=date,
                nwb_metadata=self.nwb_metadata,
                output_file=self.output_path + self.animal_name + date +
                ".nwb",
                process_mda=self.extract_mda,
                process_dio=self.extract_dio,
                process_analog=self.extract_analog,
                video_path=self.video_path,
                reconfig_header=self.__get_header_path()
                #reconfig_header=self.__is_rec_config_valid()
            )
            content = nwb_builder.build()
            nwb_builder.write(content)
            self.append_to_nwb(
                nwb_builder=nwb_builder,
                process_mda_valid_time=process_mda_valid_time,
                process_mda_invalid_time=process_mda_invalid_time,
                process_pos_valid_time=process_pos_valid_time,
                process_pos_invalid_time=process_pos_invalid_time)
示例#3
0
 def test_old_nwb_file_builder_failed_due_to_incorrect_type_of_parameters(
         self):
     NWBFileBuilder(data_path=str(path) + '/test_data/',
                    animal_name='beans',
                    date=123,
                    nwb_metadata=self.metadata,
                    process_dio=True,
                    process_mda=True,
                    process_analog=True)
示例#4
0
    def setUpClass(cls):
        cls.metadata = MetadataManager(
            'C:/Users/wmery/PycharmProjects/rec_to_nwb/rec_to_nwb/test/test_data/KF2/raw/20170120/kibbles20170216_metadata.yml',
            [
                'C:/Users/wmery/PycharmProjects/rec_to_nwb/rec_to_nwb/test/test_data/KF2/raw/20170120/64c-3s6mm6cm-20um-40um-sl.yml',
                'C:/Users/wmery/PycharmProjects/rec_to_nwb/rec_to_nwb/test/test_data/KF2/raw/20170120/64c-4s6mm6cm-20um-40um-dl.yml'
            ])

        cls.nwb_builder = NWBFileBuilder(data_path=str(path) + '/test_data/',
                                         animal_name='KF2',
                                         date='20170120',
                                         nwb_metadata=cls.metadata,
                                         process_dio=True,
                                         process_mda=True,
                                         process_analog=True,
                                         process_pos_timestamps=True,
                                         video_path=str(path) + '/test_data')
示例#5
0
    def setUpClass(cls):
        cls.metadata = MetadataManager(
            str(path) + '/processing/res/metadata.yml', [
                str(path) + '/processing/res/probe1.yml',
                str(path) + '/processing/res/probe2.yml',
                str(path) + '/processing/res/probe3.yml'
            ])

        cls.nwb_builder = NWBFileBuilder(data_path=str(path) + '/test_data/',
                                         animal_name='beans',
                                         date='20190718',
                                         nwb_metadata=cls.metadata,
                                         process_dio=True,
                                         process_mda=True,
                                         process_analog=True,
                                         process_pos_timestamps=True,
                                         video_path=str(path) + '/test_data')
    def get_nwb_builder(self, date):
        if self.is_old_dataset:
            old_dataset_kwargs = dict(
                is_old_dataset=True,
                session_start_time=_DEFAULT_SESSION_START_TIME)
        else:
            old_dataset_kwargs = dict()

        return NWBFileBuilder(
            data_path=self.data_path,
            animal_name=self.animal_name,
            date=date,
            nwb_metadata=self.nwb_metadata,
            output_file=os.path.join(self.output_path,
                                     self.animal_name + date + ".nwb"),
            process_mda=self.extract_mda,
            process_dio=self.extract_dio,
            process_analog=self.extract_analog,
            preprocessing_path=self.preprocessing_path,
            video_path=self.video_path,
            reconfig_header=self.__get_header_path(),
            # reconfig_header=self.__is_rec_config_valid()
            **old_dataset_kwargs)