def create_new_project(self, event): """ Finally create the new project """ if self.sel_config.IsShown(): self.cfg = self.sel_config.GetPath() if self.cfg == "": wx.MessageBox( 'Please choose the config.yaml file to load the project', 'Error', wx.OK | wx.ICON_ERROR) self.loaded = False else: wx.MessageBox('Project Loaded!', 'Info', wx.OK | wx.ICON_INFORMATION) self.loaded = True self.edit_config_file.Enable(True) else: self.task = self.proj_name_txt_box.GetValue() self.scorer = self.exp_txt_box.GetValue() if self.task and self.scorer and len(self.filelist): self.cfg = deeplabcut.create_new_project( self.task, self.scorer, self.filelist, self.dir, self.copy_choice.IsChecked()) else: wx.MessageBox( 'Some of the entries are missing.\n\nMake sure that the task and experimenter name are specified and videos are selected!', 'Error', wx.OK | wx.ICON_ERROR) self.cfg = False self.loaded = False if self.cfg: wx.MessageBox('New Project Created', 'Info', wx.OK | wx.ICON_INFORMATION) self.loaded = True self.edit_config_file.Enable(True) # Remove the pages in case the user goes back to the create new project and creates/load a new project if self.parent.GetPageCount() > 3: for i in range(2, self.parent.GetPageCount()): self.parent.RemovePage(2) self.parent.Layout() # Add all the other pages if self.loaded: self.edit_config_file.Enable(True) if self.parent.GetPageCount() < 3: page3 = Extract_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page3, "Extract frames") page4 = Label_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page4, "Label frames") page5 = Create_training_dataset(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page5, "Create training dataset") page6 = Train_network(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page6, "Train network") page7 = Evaluate_network(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page7, "Evaluate network") page8 = Analyze_videos(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page8, "Analyze videos") page11 = Create_Labeled_Videos(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page11, "Create Videos") page9 = Extract_outlier_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page9, "Extract outlier frames") page10 = Refine_labels(self.parent, self.gui_size, self.cfg, page5) self.parent.AddPage(page10, "Refine labels") self.edit_config_file.Enable(True)
def create_new_project(self, event): """ Finally create the new project """ if self.sel_config.IsShown(): self.cfg = self.sel_config.GetPath() if self.cfg == "": wx.MessageBox( "Please choose the config.yaml file to load the project", "Error", wx.OK | wx.ICON_ERROR, ) self.loaded = False else: wx.MessageBox("Project Loaded!", "Info", wx.OK | wx.ICON_INFORMATION) self.loaded = True self.sel_vids_new.Enable(True) self.addvid.Enable(True) self.edit_config_file.Enable(True) else: self.task = self.proj_name_txt_box.GetValue() self.scorer = self.exp_txt_box.GetValue() if self.task != "" and self.scorer != "" and self.filelist != []: self.cfg = deeplabcut.create_new_project( self.task, self.scorer, self.filelist, self.dir, copy_videos=self.copy, multianimal=self.multi_choice.IsChecked(), ) else: wx.MessageBox( "Some of the enteries are missing.\n\nMake sure that the task and experimenter name are specified and videos are selected!", "Error", wx.OK | wx.ICON_ERROR, ) self.cfg = False if self.cfg: wx.MessageBox("New Project Created", "Info", wx.OK | wx.ICON_INFORMATION) self.loaded = True self.edit_config_file.Enable(True) # Remove the pages in case the user goes back to the create new project and creates/load a new project if self.parent.GetPageCount() > 3: for i in range(2, self.parent.GetPageCount()): self.parent.RemovePage(2) self.parent.Layout() # Add all the other pages if self.loaded: self.edit_config_file.Enable(True) cfg = auxiliaryfunctions.read_config(self.cfg) if self.parent.GetPageCount() < 3: page3 = Extract_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page3, "Extract frames") page4 = Label_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page4, "Label frames") page5 = Create_training_dataset(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page5, "Create training dataset") page6 = Train_network(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page6, "Train network") page7 = Evaluate_network(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page7, "Evaluate network") page12 = Video_Editing(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page12, "Video editor") page8 = Analyze_videos(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page8, "Analyze videos") if cfg.get("multianimalproject", False): page = Refine_tracklets(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page, "Refine tracklets") page11 = Create_Labeled_Videos(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page11, "Create videos") page9 = Extract_outlier_frames(self.parent, self.gui_size, self.cfg) self.parent.AddPage(page9, "Extract outlier frames") page10 = Refine_labels(self.parent, self.gui_size, self.cfg, page5) self.parent.AddPage(page10, "Refine labels") self.edit_config_file.Enable(True)