# Usage Example from enstools.feature.pipeline import FeaturePipeline from enstools.feature.identification.african_easterly_waves import AEWIdentification from enstools.feature.tracking.african_easterly_waves import AEWTracking from enstools.feature.identification._proto_gen import african_easterly_waves_pb2 from os.path import expanduser, join from enstools.feature.identification.african_easterly_waves.plotting import plot_timesteps_from_desc, plot_tracks_from_graph pipeline = FeaturePipeline(african_easterly_waves_pb2) # init AEWIdentification strategy, can take different parameters i_strat = AEWIdentification() t_strat = AEWTracking() pipeline.set_identification_strategy(i_strat) pipeline.set_tracking_strategy(t_strat) data_path = join(expanduser("~") + '/phd/data/aew/cv/*.nc') pipeline.set_data_path(data_path) # execute pipeline pipeline.execute() pipeline.generate_graph() # TODO # pipeline.save_as_json_graph() -> for each set: all (time,obj) pairs, with connections # result has only connections. # out_netcdf_path = data_path + '_streamers.nc' out_json_path = data_path[:-4] + 'aew_desc.json' out_graph_path = data_path[:-4] + 'aew_graph.json' pipeline.generate_tracks() pipeline.save_result(description_type='json', description_path=out_json_path, graph_path=out_graph_path) od = pipeline.get_object_desc() gd = pipeline.get_graph_desc() plot_tracks_from_graph(gd, pipeline.get_data()) # plot_timesteps_from_desc(od, pipeline.get_data()) # plot_waves_from_desc(od, pipeline.get_data())