Skip to content

Commit

Permalink
Merge pull request #8 from Hekstra-Lab/saving
Browse files Browse the repository at this point in the history
Saving
  • Loading branch information
ianhi authored Jan 11, 2022
2 parents db587d5 + 5c35b96 commit 74913dc
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 7 deletions.
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@ napari.plugin =
exclude = docs, _version.py, .eggs, example
max-line-length = 88
docstring-convention = "numpy"
ignore = E741
42 changes: 37 additions & 5 deletions src/napari_labeller/_dock_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class LabellerWidget(QWidget):
_folder_line_edit: QtW.QLineEdit
_next_batch_btn: QtW.QPushButton
_prev_batch_btn: QtW.QPushButton
_mark_complete_btn: QtW.QPushButton
_save_progress_btn: QtW.QPushButton

def __init__(self, napari_viewer: "napari.viewer.Viewer"):
super().__init__()
Expand All @@ -46,32 +46,45 @@ def __init__(self, napari_viewer: "napari.viewer.Viewer"):
self._next_batch_btn.clicked.connect(self._on_next)
self._prev_batch_btn.clicked.connect(self._on_prev)

self._save_progress_btn.clicked.connect(self._save_progress)

# recover if our plugin was closed but our layers are still hanging around
for l in self.viewer.layers:
if hasattr(l, "_labeller_images"):
self._recover_information()

@property
def data_folder(self) -> Union[Path, None]:
return self._data_folder

@data_folder.setter
def data_folder(self, value: Union[str, Path]):
self._data_folder = Path(value)
self._set_up_folder_variables()
self._on_next()

def _set_up_folder_variables(self):
self._folder_line_edit.setText(str(self._data_folder))
self._next_batch_btn.setEnabled(True)
self._file_list = list_datasets(self._data_folder)
self._num_files = len(self._file_list)
self._file_idx = -1
self._on_next()
self._next_batch_btn.setEnabled(True)
self._prev_batch_btn.setEnabled(True)
self._file_idx = -1

def _browse_folders(self):
self.data_folder = Path(
QtW.QFileDialog.getExistingDirectory(self, "Select Data Folder")
)

def _save_progress(self):
self._working_ds.to_netcdf(self._file_list[self._file_idx])

def _on_next(self):
if self._file_idx == -1:
self._initialize_viewer()

else:
self._working_ds.to_netcdf(self._file_list[self._file_idx])
self._save_progress()
self._file_idx = (
self._file_idx + 1
if self._file_idx + 1 < self._num_files
Expand All @@ -95,6 +108,20 @@ def _get_next_image_batch(self):
self._img.data = images
self._labels.data = self._working_ds.labels

def _recover_information(self):
# for i in range(len(self.viewer.layers)):
for layer in self.viewer.layers:
if hasattr(layer, "_labeller_images"):
self._img = layer
elif hasattr(layer, "_labeller_labels"):
self._labels = layer
self._file_list = list
self._data_folder = self._labels._data_folder
self._set_up_folder_variables()
self._file_idx = self._labels._file_idx
self._working_ds = get_dataset(self._data_folder, self._file_idx)
self._working_ds.labels.data = self._labels.data

def _initialize_viewer(self):
self._file_idx = 0
self._working_ds = get_dataset(self._data_folder, self._file_idx)
Expand All @@ -104,7 +131,12 @@ def _initialize_viewer(self):
images = self._working_ds.images

self._img = self.viewer.add_image(images)
self._img._labeller_images = True
self._labels = self.viewer.add_labels(self._working_ds.labels.data)
self._labels._labeller_labels = True
self._labels._data_folder = self._data_folder
self._labels._file_idx = self._file_idx

scroll_time(self.viewer)
apply_label_keybinds(self._labels)

Expand Down
4 changes: 2 additions & 2 deletions src/napari_labeller/_ui/labeller_gui.ui
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QPushButton" name="_mark_complete_btn">
<widget class="QPushButton" name="_save_progress_btn">
<property name="enabled">
<bool>true</bool>
</property>
Expand All @@ -177,7 +177,7 @@
</size>
</property>
<property name="text">
<string>Mark as Complete</string>
<string>Save Progress</string>
</property>
</widget>
</item>
Expand Down

0 comments on commit 74913dc

Please sign in to comment.