Skip to content

Commit

Permalink
compare old image paths to new list, recalculate if otherwise
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeSullivan7 committed Feb 3, 2025
1 parent c5a0874 commit 8ab42d9
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 2 additions & 0 deletions mantidimaging/gui/test/gui_system_liveviewer_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def tearDown(self) -> None:

def test_open_close_intensity_profile(self):
self.assertEqual(self.live_viewer_window.splitter.sizes()[1], 0)
QTest.qWait(SHORT_DELAY * 4)
self.live_viewer_window.intensity_action.trigger()
QTest.qWait(SHORT_DELAY)
QTest.qWait(SHOW_DELAY)
Expand All @@ -49,6 +50,7 @@ def test_open_close_intensity_profile(self):
QTest.qWait(SHOW_DELAY)

def test_roi_resized(self):
QTest.qWait(SHORT_DELAY * 4)
self.live_viewer_window.intensity_action.trigger()
QTest.qWait(SHORT_DELAY)
wait_until(lambda: not np.isnan(self.live_viewer_window.presenter.model.mean).any(), max_retry=600)
Expand Down
10 changes: 8 additions & 2 deletions mantidimaging/gui/windows/live_viewer/presenter.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class LiveViewerWindowPresenter(BasePresenter):
op_func: Callable
thread: QThread
worker: Worker
old_image_list_paths: list[Path] = []

def __init__(self, view: LiveViewerWindowView, main_window: MainWindowView):
super().__init__(view)
Expand Down Expand Up @@ -96,20 +97,25 @@ def update_image_list(self, images_list: list[Image_Data]) -> None:
self.handle_deleted()
self.view.set_load_as_dataset_enabled(False)
else:
images_list_paths = [image.image_path for image in images_list]
if not self.view.live_viewer.roi_object and self.view.intensity_action.isChecked():
self.view.live_viewer.add_roi()
self.model.roi = self.view.live_viewer.get_roi()
self.model.images = images_list
if images_list[-1].image_path not in self.model.mean_paths:
if (sorted(list(self.old_image_list_paths) + images_list_paths[-1:])) == images_list_paths:
try:
image_data = self.model.image_cache.load_image(images_list[-1])
self.model.add_mean(images_list[-1], image_data)
self.update_intensity_with_mean()
except ImageLoadFailError as error:
logger.error(error.message)
self.update_intensity(self.model.mean)
else:
self.model.clear_mean_partial()
self.run_mean_chunk_calc()
self.view.set_image_range((0, len(images_list) - 1))
self.view.set_image_index(len(images_list) - 1)
self.view.set_load_as_dataset_enabled(True)
self.old_image_list_paths = images_list_paths

def select_image(self, index: int) -> None:
if not self.model.images:
Expand Down

0 comments on commit 8ab42d9

Please sign in to comment.