|
30 | 30 | find_overlaps_in_ROI_indices, |
31 | 31 | ) |
32 | 32 | from fractal_tasks_core.roi import get_image_grid_ROIs |
| 33 | +from fractal_tasks_core.roi import get_overlapping_pairs_3D |
33 | 34 | from fractal_tasks_core.roi import get_single_image_ROI |
34 | 35 | from fractal_tasks_core.roi import is_ROI_table_valid |
35 | 36 | from fractal_tasks_core.roi import ( |
@@ -755,3 +756,34 @@ def test_create_roi_table_from_df_list_with_label_repeats(): |
755 | 756 | ] |
756 | 757 | ) |
757 | 758 | np.testing.assert_allclose(output_array, roi_table.X) |
| 759 | + |
| 760 | + |
| 761 | +def test_get_overlapping_pairs_3D(): |
| 762 | + common_columns = { |
| 763 | + "y_micrometer": [0.0, 0.0], |
| 764 | + "z_micrometer": [0.0, 0.0], |
| 765 | + "len_x_micrometer": [1.0, 1.0], |
| 766 | + "len_y_micrometer": [1.0, 1.0], |
| 767 | + "len_z_micrometer": [1.0, 1.0], |
| 768 | + "label": [1, 2], |
| 769 | + } |
| 770 | + df_overlapping = pd.DataFrame( |
| 771 | + {"x_micrometer": [0.0, 0.5], **common_columns} |
| 772 | + ) |
| 773 | + full_res_pxl_sizes_zyx = [1.0, 1.0, 1.0] |
| 774 | + df_non_overlapping = pd.DataFrame( |
| 775 | + {"x_micrometer": [0.0, 2.0], **common_columns} |
| 776 | + ) |
| 777 | + res_overlapping = get_overlapping_pairs_3D( |
| 778 | + df_overlapping, |
| 779 | + full_res_pxl_sizes_zyx, |
| 780 | + ) |
| 781 | + print(res_overlapping) |
| 782 | + assert len(res_overlapping) == 1 |
| 783 | + |
| 784 | + res_non_overlapping = get_overlapping_pairs_3D( |
| 785 | + df_non_overlapping, |
| 786 | + full_res_pxl_sizes_zyx, |
| 787 | + ) |
| 788 | + print(res_non_overlapping) |
| 789 | + assert len(res_overlapping) == 0 |
0 commit comments