Source code for models.model_view_recenter

"""
The model_view_recenter module is responsible for managing the recenter of the image within the MoilApp
"""


[docs] class ModelRecenter: """ Class responsible for managing recentering of the image. Attributes: _model (object): The main model instance of the application. _moildev (object): The MOIL device instance. _maps_recenter (list): List to store recenter maps. Methods: maps_recenter: Getter method for the recenter maps. create_maps_recenter(): Create maps for recentering the image. """ def __init__(self, model): self._model = model self._moildev = model.set_moildev self._maps_recenter = [None] * 4 @property def maps_recenter(self): """ Get the maps for recentering. Return: tuple: A tuple containing the X and Y maps for recentering. """ try: return self._maps_recenter except Exception as e: self._model.activity_logger.error(f"ModelRecenter.maps_recenter(): Error: {str(e)}")
[docs] def create_maps_recenter(self): """ Create maps for recentering the image. This method creates the maps for recentering the image based on the current recenter coordinates. """ try: if self._model.debug_mode: self._model.activity_logger.info("ModelRecenter: create_maps_recenter(), " "create maps x and map y recenter image") moildev_rt = self._model.set_moildev.moildev_pano_rt moildev_recenter = self._model.set_moildev.moildev_recenter icx, icy = self._model.main_config["Image_recenter"]["Recenter_coordinate"] if icx is None or icy is None: icx = moildev_rt.icx icy = moildev_rt.icy self._model.main_config["Image_recenter"]["Recenter_coordinate"] = icx, icy alpha, beta = moildev_recenter.get_alpha_beta(icx, icy) self._model.main_config["Image_recenter"]["alpha"] = alpha self._model.main_config["Image_recenter"]["beta"] = beta try: self._maps_recenter[0], self._maps_recenter[1] = moildev_rt.maps_panorama_rt(110, alpha, beta) self._maps_recenter[2], self._maps_recenter[3] = moildev_recenter.maps_recenter(110, beta) self._model.save_main_config_update() except Exception: # Catch more specific exceptions here print("out of range!!") icx = moildev_rt.icx icy = moildev_rt.icy self._model.main_config["Image_recenter"]["Recenter_coordinate"] = icx, icy alpha, beta = moildev_recenter.get_alpha_beta(icx, icy) self._model.main_config["Image_recenter"]["alpha"] = alpha self._model.main_config["Image_recenter"]["beta"] = beta self._maps_recenter[0], self._maps_recenter[1] = moildev_rt.maps_panorama_rt(110, alpha, beta) self._maps_recenter[2], self._maps_recenter[3] = moildev_recenter.maps_recenter(110, beta) self._model.save_main_config_update() except Exception as e: self._model.activity_logger.error(f"ModelRecenter.create_maps_recenter(): Error: {str(e)}") print(f"ModelRecenter.create_maps_recenter(): Error: {str(e)}")