From 154835cc969d1bef66e79fa82a5d2477621cb937 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 14 Jul 2023 15:02:08 -0700 Subject: [PATCH 1/3] Use `vdot` with images --- python/cucim/src/cucim/skimage/measure/_colocalization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/cucim/src/cucim/skimage/measure/_colocalization.py b/python/cucim/src/cucim/skimage/measure/_colocalization.py index 8f1efae68..77920abac 100644 --- a/python/cucim/src/cucim/skimage/measure/_colocalization.py +++ b/python/cucim/src/cucim/skimage/measure/_colocalization.py @@ -179,7 +179,7 @@ def manders_coloc_coeff(image0, image1_mask, mask=None): @cp.fuse() def _get_manders_overlap_coeff(image0, image1): denom = cp.linalg.norm(image0) * cp.linalg.norm(image1) - return cp.sum(cp.multiply(image0, image1)) / denom + return cp.vdot(image0, image1) / denom def manders_overlap_coeff(image0, image1, mask=None): From b2614043966a491c748b6a6d7fe3a463d6633dd8 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 14 Jul 2023 15:03:50 -0700 Subject: [PATCH 2/3] Drop `fuse` from `_get_manders_overlap_coeff` --- python/cucim/src/cucim/skimage/measure/_colocalization.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/cucim/src/cucim/skimage/measure/_colocalization.py b/python/cucim/src/cucim/skimage/measure/_colocalization.py index 77920abac..fda558136 100644 --- a/python/cucim/src/cucim/skimage/measure/_colocalization.py +++ b/python/cucim/src/cucim/skimage/measure/_colocalization.py @@ -176,7 +176,6 @@ def manders_coloc_coeff(image0, image1_mask, mask=None): return cp.sum(image0 * image1_mask) / img_sum -@cp.fuse() def _get_manders_overlap_coeff(image0, image1): denom = cp.linalg.norm(image0) * cp.linalg.norm(image1) return cp.vdot(image0, image1) / denom From 3c40509f45fe86ed4ecc9dcf8d0ce1084976905e Mon Sep 17 00:00:00 2001 From: jakirkham Date: Fri, 14 Jul 2023 15:05:05 -0700 Subject: [PATCH 3/3] Inline `_get_manders_overlap_coeff` --- python/cucim/src/cucim/skimage/measure/_colocalization.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/python/cucim/src/cucim/skimage/measure/_colocalization.py b/python/cucim/src/cucim/skimage/measure/_colocalization.py index fda558136..3587a331b 100644 --- a/python/cucim/src/cucim/skimage/measure/_colocalization.py +++ b/python/cucim/src/cucim/skimage/measure/_colocalization.py @@ -176,11 +176,6 @@ def manders_coloc_coeff(image0, image1_mask, mask=None): return cp.sum(image0 * image1_mask) / img_sum -def _get_manders_overlap_coeff(image0, image1): - denom = cp.linalg.norm(image0) * cp.linalg.norm(image1) - return cp.vdot(image0, image1) / denom - - def manders_overlap_coeff(image0, image1, mask=None): r"""Manders' overlap coefficient @@ -260,7 +255,8 @@ def manders_overlap_coeff(image0, image1, mask=None): if image1.min() < 0: raise ValueError("image1 contains negative values") - return _get_manders_overlap_coeff(image0, image1) + denom = cp.linalg.norm(image0) * cp.linalg.norm(image1) + return cp.vdot(image0, image1) / denom def intersection_coeff(image0_mask, image1_mask, mask=None):