def test_delete_contours(): module = ContourLinesModule(extent=extent) fig, ax = plt.subplots() module.plot_contour_lines(frame, ax) fig.show() module.delete_contourns(ax) fig.show()
def load_modules(self, gempy_module: bool, **kwargs): from sandbox.modules import TopoModule, GradientModule, LoadSaveTopoModule, LandslideSimulation, SearchMethodsModule from sandbox.projector import ContourLinesModule, CmapModule self.Modules = {} self.Modules['ContourLinesModule'] = ContourLinesModule( extent=self.sensor.extent) self.Modules['CmapModule'] = CmapModule(extent=self.sensor.extent) self.Modules['TopoModule'] = TopoModule(extent=self.sensor.extent) self.Modules['GradientModule'] = GradientModule( extent=self.sensor.extent) self.Modules['LoadSaveTopoModule'] = LoadSaveTopoModule( extent=self.sensor.extent) self.Modules['LandslideSimulation'] = LandslideSimulation( extent=self.sensor.extent) self.Modules['SearchMethodsModule'] = SearchMethodsModule( extent=self.sensor.extent) self.Modules['SearchMethodsModule'].update_mesh( self.sensor.get_frame(), margins_crop=self.Modules['SearchMethodsModule'].margins_crop, fill_value=0) self.Modules['SearchMethodsModule'].activate_frame_capture = False if gempy_module: from sandbox.modules import GemPyModule geo_model = kwargs.get('geo_model') #load_example = kwargs.get('load_examples') #name_example = kwargs.get('name_example') self.Modules['GemPyModule'] = GemPyModule( geo_model=geo_model, extent=self.sensor.extent, box=self.sensor.physical_dimensions, #load_examples=load_example, #name_example=name_example, **kwargs)
def test_update_array(): module = ContourLinesModule(extent=extent) fig, ax = plt.subplots() module.plot_contour_lines(frame, ax) fig.show() module.delete_contourns(ax) file = np.load(test_data['topo'] + "DEM2.npz") frame2 = file['arr_0'] module.plot_contour_lines(frame2, ax) fig.show()
def load_modules(self, gempy_module: bool = False, gimli_module: bool = False, torch_module: bool = False, devito_module: bool = False, kwargs_gempy_module: dict = {}, ): from sandbox.modules import (TopoModule, GradientModule, LoadSaveTopoModule, LandslideSimulation, SearchMethodsModule) from sandbox.projector import ContourLinesModule, CmapModule self.Modules = {'ContourLinesModule': ContourLinesModule(extent=self.sensor.extent), 'CmapModule': CmapModule(extent=self.sensor.extent), 'TopoModule': TopoModule(extent=self.sensor.extent), 'GradientModule': GradientModule(extent=self.sensor.extent), 'LoadSaveTopoModule': LoadSaveTopoModule(extent=self.sensor.extent), 'LandslideSimulation': LandslideSimulation(extent=self.sensor.extent), 'SearchMethodsModule': SearchMethodsModule(extent=self.sensor.extent)} #self.Modules['SearchMethodsModule'].update_mesh(self.sensor.get_frame(), # margins_crop=self.Modules['SearchMethodsModule'].margins_crop, # fill_value=0) #self.Modules['SearchMethodsModule'].activate_frame_capture = False if gempy_module and self._gempy_import: from sandbox.modules.gempy import GemPyModule self.Modules['GemPyModule'] = GemPyModule(extent=self.sensor.extent, box=self.sensor.physical_dimensions, **kwargs_gempy_module) if devito_module and self._devito_import: from sandbox.modules.devito import SeismicModule self.Modules['SeismicModule'] = SeismicModule(extent=self.sensor.extent) if gimli_module and self._pygimli_import: from sandbox.modules.gimli import GeoelectricsModule self.Modules['GeoelectricsModule'] = GeoelectricsModule(extent=self.sensor.extent) if torch_module and self._torch_import: from sandbox.modules.pytorch import LandscapeGeneration self.Modules['LandscapeGeneration'] = LandscapeGeneration(extent=self.sensor.extent)
def __init__(self, sensor: Sensor, projector: Projector, aruco: MarkerDetection = None, modules: list = [], crop: bool = True, clip: bool = True, check_change: bool = False, **kwargs): """ Args: sensor: projector: aruco: modules: crop: clip: check_change: **kwargs: """ #TODO: in all the modules be carefull with zorder self.sensor = sensor self.projector = projector self.projector.clear_axes() self.contours = ContourLinesModule(extent=self.sensor.extent) self.cmap_frame = CmapModule(extent=self.sensor.extent) #start the modules #self.modules = collections.OrderedDict({'CmapModule': self.cmap_frame, 'ContourLinesModule': self.contours}) self.modules = { 'CmapModule': self.cmap_frame, 'ContourLinesModule': self.contours } self._modules = { 'CmapModule': self.cmap_frame, 'ContourLinesModule': self.contours } #cachee # threading self.lock = threading.Lock() self.thread = None self.thread_status = 'stopped' # status: 'stopped', 'running', 'paused' # connect to ArucoMarker class # if CV2_IMPORT is True: self.Aruco = aruco self.ARUCO_ACTIVE = False if isinstance(self.Aruco, MarkerDetection): self.ARUCO_ACTIVE = True self.sb_params = { 'frame': self.sensor.get_frame(), 'ax': self.projector.ax, 'extent': self.sensor.extent, 'box_dimensions': self.sensor.physical_dimensions, 'marker': pd.DataFrame(), 'cmap': plt.cm.get_cmap('gist_earth'), 'norm': None, 'active_cmap': True, 'active_contours': True, 'same_frame': False, 'lock_thread': self.lock, 'trigger': self.projector.trigger } #TODO: Carefull with this use because it can make to paint the figure incompletely #'freeze_frame': False} self.previous_frame = self.sb_params['frame'] #To reduce the noise of the data self.check_change = check_change self._rtol = 0.2 self._atol = 5 # render the frame self.cmap_frame.render_frame(self.sb_params['frame'], self.sb_params['ax']) # plot the contour lines self.contours.plot_contour_lines(self.sb_params['frame'], self.sb_params['ax']) self.projector.trigger() self._create_widgets()
def __init__(self, sensor: Sensor, projector: Projector, aruco: MarkerDetection = None, check_change: bool = False, kwargs_contourlines: dict = {}, kwargs_cmap: dict = {}, **kwargs): """ Args: sensor: projector: aruco: modules: crop: clip: check_change: **kwargs: """ self._error_message = '' # TODO: in all the modules be carefull with zorder self.sensor = sensor self.projector = projector self.projector.clear_axes() self.contours = ContourLinesModule(extent=self.sensor.extent, **kwargs_contourlines) self.cmap_frame = CmapModule(extent=self.sensor.extent, **kwargs_cmap) # start the modules self.modules = collections.OrderedDict({'CmapModule': self.cmap_frame, 'ContourLinesModule': self.contours}) self._modules = collections.OrderedDict({'CmapModule': self.cmap_frame, 'ContourLinesModule': self.contours}) # threading self.lock = threading.Lock() self.thread = None self.thread_status = 'stopped' # status: 'stopped', 'running', 'paused' self.main_task = None # connect to ArucoMarker class # if CV2_IMPORT is True: self.Aruco = aruco self.ARUCO_ACTIVE = False if isinstance(self.Aruco, MarkerDetection): self.ARUCO_ACTIVE = True self.sb_params = {'frame': self.sensor.get_frame(), 'ax': self.projector.ax, 'set_colorbar': self.projector.set_colorbar, 'set_legend': self.projector.set_legend, 'extent': self.sensor.extent, 'box_dimensions': self.sensor.physical_dimensions, 'marker': pd.DataFrame(), 'cmap': plt.cm.get_cmap('gist_earth'), 'norm': None, 'active_cmap': True, 'active_shading': True, 'active_contours': True, 'same_frame': False, 'lock_thread': self.lock, 'trigger': self.projector.trigger, # TODO: Carefull with this use because it can make to paint the figure incompletely 'del_contour': True, } # 'freeze_frame': False} self.previous_frame = self.sb_params['frame'] # To reduce the noise of the data self.check_change = check_change self._rtol = 0.07 # Widgets for this self._atol = 0.001 # render the frame self.cmap_frame.render_frame(self.sb_params['frame'], self.sb_params['ax']) # plot the contour lines self.contours.plot_contour_lines(self.sb_params['frame'], self.sb_params['ax']) self.projector.trigger() self._create_widgets() self._loaded_frame = False self._error_message = '' self._widget_error_markdown = pn.pane.Markdown("<p>Open_AR_Sandbox</p>")
def test_create_widgets_plot(): module = ContourLinesModule(extent=extent) widget = module.show_widgets() widget.show()
def test_update(): module = ContourLinesModule(extent=extent) fig, ax = plt.subplots() sb_params = module.update(pytest.sb_params) fig.show()
def test_generating_all(): module = ContourLinesModule(extent=extent) fig, ax = plt.subplots() module.plot_contour_lines(frame, ax) fig.show()
def test_init(): module = ContourLinesModule(extent=extent) print(module)