Beispiel #1
0
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)
Beispiel #2
0
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