Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion ffn/inference/seed.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,11 +316,39 @@ def init_coords(self):
class PolicyMaxPeaks(BaseSeedPolicy):
"""Local peaks of intensity."""

def __init__(
self, canvas, min_distance=3, threshold_abs=0, threshold_rel=0, **kwargs
):
"""Initialize settings.

Args:
canvas: inference Canvas object.
min_distance: forwarded to peak_local_max.
threshold_abs: forwarded to peak_local_max.
threshold_rel: forwarded to peak_local_max.
**kwargs: forwarded to base.
"""
super().__init__(canvas, **kwargs)
logging.info(
'max peaks: min_distance=%s, threshold_abs=%s, threshold_rel=%s',
min_distance,
threshold_abs,
threshold_rel,
)
self.min_distance = min_distance
self.threshold_abs = threshold_abs
self.threshold_rel = threshold_rel

def init_coords(self):
img = self.canvas.image.astype(np.float32).copy()
mask = self.get_exclusion_mask()
img[mask] = 0
idxs = _find_peaks(img, min_distance=3, threshold_abs=0, threshold_rel=0)
idxs = _find_peaks(
img,
min_distance=self.min_distance,
threshold_abs=self.threshold_abs,
threshold_rel=self.threshold_rel,
)
self.coords = np.array(sorted((z, y, x) for z, y, x in idxs))


Expand Down
Loading