|
8 | 8 | from de.mpicbg.scf.imgtools.image.create.image import ImageCreationUtilities |
9 | 9 | from de.mpicbg.scf.imgtools.image.create.labelmap import WatershedLabeling |
10 | 10 | from ij import IJ |
| 11 | +from inra.ijpb.plugins import RemoveBorderLabelsPlugin |
11 | 12 | from mcib3d.geom import Objects3DPopulation |
12 | 13 | from mcib3d.image3d import ImageHandler, ImageLabeller |
13 | 14 | from mcib3d.image3d.processing import MaximaFinder |
@@ -124,15 +125,20 @@ def segment_3d_image( |
124 | 125 | seg = labeler.getLabels(img) |
125 | 126 | seg.setScale(cal.pixelWidth, cal.pixelDepth, cal.getUnits()) |
126 | 127 |
|
127 | | - if remove_touching_borders: |
128 | | - obj = seg.getObjects3DPopulation() |
129 | | - obj.removeObjectsTouchingBorders(seg, remove_touching_borders_z) |
130 | | - seg = ImageHandler.wrap(population3d_to_imgplus(imp, obj)) |
| 128 | + seg = RemoveBorderLabelsPlugin().remove( |
| 129 | + seg.getImagePlus(), |
| 130 | + remove_touching_borders, |
| 131 | + remove_touching_borders, |
| 132 | + remove_touching_borders, |
| 133 | + remove_touching_borders, |
| 134 | + remove_touching_borders_z, |
| 135 | + remove_touching_borders_z, |
| 136 | + ) |
131 | 137 |
|
132 | 138 | if title: |
133 | 139 | seg.setTitle(title) |
134 | 140 |
|
135 | | - return seg.getImagePlus() |
| 141 | + return seg |
136 | 142 |
|
137 | 143 |
|
138 | 144 | def maxima_finder_3d(imp, min_threshold=0, noise=100, rxy=1.5, rz=1.5): |
|
0 commit comments