Skip to content

Commit

Permalink
update single_cell.py and tutorial_general_usage_test.py: add test fo…
Browse files Browse the repository at this point in the history
…r get bin mask and label mask
  • Loading branch information
dummyindex committed May 1, 2024
1 parent 971ed3a commit cce32f2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion livecellx/core/single_cell.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ def get_img(self):
def get_mask(self, dtype=bool):
if isinstance(self.mask_dataset, SingleImageDataset) or isinstance(self.mask_dataset, LiveCellImageDataset):
try:
return self.mask_dataset.get_img_by_time()
return self.mask_dataset.get_img_by_time(time=self.timeframe)
except Exception as e:
main_exception(
f"Error getting mask for single cell {self.id} at timeframe {self.timeframe} from presented mask dataset. Using contour mask instead."
Expand Down
16 changes: 16 additions & 0 deletions tests/tutorial_general_usage_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,22 @@ def test_loading_single_cells(self):
assert len(single_cells_by_time[1]) == 14
assert len(single_cells_by_time[2]) == 15

def test_sc_label_mask_retrieval(self):
sc = self.single_cells[0]
mask = sc.get_label_mask()

assert mask is not None
assert mask.shape == sc.get_img().shape
print("length of mask", len(np.unique(mask)))
assert len(np.unique(mask)) >= 3, "Mask should have at least three unique values"

def test_sc_bin_mask_retrieval(self):
sc = self.single_cells[0]
mask = sc.get_mask().astype(bool)
assert mask is not None
assert mask.shape == sc.get_img().shape
assert len(np.unique(mask)) == 2, "Mask should have exactly two unique values"

def test_visualize_single_cell(self):
sc = self.single_cells[0]
assert isinstance(sc, SingleCellStatic)
Expand Down

0 comments on commit cce32f2

Please sign in to comment.