Skip to content
Snippets Groups Projects

RoiSet facilitates object detection models

Merged Christopher Randolph Rhodes requested to merge dev_obj_det into staging
2 files
+ 7
58
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -142,10 +142,10 @@ def filter_df_overlap_bbox(df: pd.DataFrame) -> pd.DataFrame:
second.append(pair[0])
sdf = df.iloc[first]
sdf['bbox_overlaps_with'] = second
sdf.loc[:, 'bbox_overlaps_with'] = second
return sdf
# TODO: get overlapping segments
def filter_df_overlap_seg(df: pd.DataFrame) -> pd.DataFrame:
"""
Return subset of DataFrame whose segmentations overlap in 3D space.
@@ -153,9 +153,9 @@ def filter_df_overlap_seg(df: pd.DataFrame) -> pd.DataFrame:
dfbb = filter_df_overlap_bbox(df)
def _overlap_seg(roi_i):
roi1 = roi_i
roi2 = dfbb.loc[roi_i.bbox_overlaps_with]
def _overlap_seg(r):
roi1 = df.loc[r.name]
roi2 = df.loc[r.bbox_overlaps_with]
ex0 = min(roi1.x0, roi2.x0, roi1.x1, roi2.x1)
ew = max(roi1.x0, roi2.x0, roi1.x1, roi2.x1) - ex0
ey0 = min(roi1.y0, roi2.y0, roi1.y1, roi2.y1)
@@ -167,8 +167,7 @@ def filter_df_overlap_seg(df: pd.DataFrame) -> pd.DataFrame:
emask[sl2] = emask[sl2] + roi2.binary_mask
return np.any(emask > 1)
se = dfbb.apply(_overlap_seg, axis=1)
dfbb['seg_overlaps_with'] = se
dfbb['seg_overlaps'] = dfbb.apply(_overlap_seg, axis=1)
return dfbb
def make_df_from_object_ids(acc_raw, acc_obj_ids, expand_box_by) -> pd.DataFrame:
Loading