Skip to content
Snippets Groups Projects
Commit 315062e6 authored by Christopher Randolph Rhodes's avatar Christopher Randolph Rhodes
Browse files

Bypass init with factory method that takes 2d object identities map

parent 9b5fec53
No related branches found
No related tags found
2 merge requests!18Completed (de)serialization of RoiSet,!16Completed (de)serialization of RoiSet
......@@ -109,7 +109,6 @@ class RoiSet(object):
:param params: optional arguments that influence the definition and representation of ROIs
"""
assert acc_obj_ids.chroma == 1
assert acc_obj_ids.nz == 1
self.acc_obj_ids = acc_obj_ids
self.acc_raw = acc_raw
self.params = params
......@@ -191,6 +190,15 @@ class RoiSet(object):
)
return df
@staticmethod
def from_2d_obj_ids(
acc_raw: GenericImageDataAccessor,
acc_obj_ids: GenericImageDataAccessor,
params: RoiSetMetaParams =
RoiSetMetaParams()
):
assert acc_obj_ids.nz == 1
return RoiSet(acc_raw, acc_obj_ids, params)
@staticmethod
def filter_df(df: pd.DataFrame, filters: RoiFilter = None) -> pd.DataFrame:
......
......@@ -23,7 +23,7 @@ class TestRoiSetMonoProducts(BaseTestRoiSetMonoProducts, unittest.TestCase):
def _make_roi_set(self, mask_type='boxes', **kwargs):
id_map = _get_label_ids(self.seg_mask)
roiset = RoiSet(
roiset = RoiSet.from_2d_obj_ids(
self.stack_ch_pa,
id_map,
params=RoiSetMetaParams(
......@@ -60,7 +60,7 @@ class TestRoiSetMonoProducts(BaseTestRoiSetMonoProducts, unittest.TestCase):
self.assertEqual(acc_zstack_slice.nz, 1)
id_map = _get_label_ids(self.seg_mask)
roiset = RoiSet(acc_zstack_slice, id_map, params=RoiSetMetaParams(mask_type='boxes'))
roiset = RoiSet.from_2d_obj_ids(acc_zstack_slice, id_map, params=RoiSetMetaParams(mask_type='boxes'))
zmask = roiset.get_zmask()
zmask_acc = InMemoryDataAccessor(zmask)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment