def batch_process_harddrive(path='/media/SA1_videos/sa1_movies_3/', movie_info=None, dataset=None): movie_dataset_filename = None if movie_info is None: obj_id_list, movie_info = sa1a.sa1_analysis() for MOVIE_ID in movie_info.keys(): #if movie_info[MOVIE_ID]['Path'] == path: print 'loading id: ', MOVIE_ID npmovie = process_movie(MOVIE_ID, movie_info, dataset=dataset) print 'trajectory: ', npmovie.trajec mnpmovie = pm.MiniNPM(npmovie) print 'mini trajectory: ', mnpmovie.trajec del(npmovie) if movie_dataset_filename is not None: movie_dataset = pm.load(movie_dataset_filename) else: movie_dataset = {} movie_dataset_filename = 'movie_dataset_3' movie_dataset.setdefault(MOVIE_ID, mnpmovie) pm.save(movie_dataset, movie_dataset_filename) del(movie_dataset)
def reprocess_movies(movie_dataset, name=None, save=False): new_movie_dataset = {} for key, npmovie in movie_dataset.items(): print "processing: ", key pm.segment_fly(npmovie) pm.calc_obj_motion(npmovie) pm.smooth_legs(npmovie) clas.calc_fly_coordinates(npmovie) calc_frame_of_landing(npmovie) calc_timestamps(npmovie) try: align_sa1_flydra(npmovie) except: pass mnpmovie = pm.MiniNPM(npmovie) mnpmovie.behavior = copy.copy(npmovie.behavior) mnpmovie.path = copy.copy(npmovie.path) mnpmovie.posttype = copy.copy(npmovie.posttype) mnpmovie.extras = copy.copy(npmovie.extras) mnpmovie.id = copy.copy(npmovie.id) del (npmovie) new_movie_dataset.setdefault(mnpmovie.id, mnpmovie) if save: if name is None: name = "sa1_movie_dataset_2_repro" pm.save(new_movie_dataset, name) return new_movie_dataset