summaryrefslogtreecommitdiff
path: root/ot/bregman.py
diff options
context:
space:
mode:
authorAlex Tong <alexanderytong@gmail.com>2020-03-05 12:05:16 -0500
committerAlex Tong <alexanderytong@gmail.com>2020-03-06 08:49:36 -0500
commitd82e6eb1af99a982a4934d6bc019a9ab4ad5c880 (patch)
tree9b5b5bb699eac9a24f222e72c42a6e18549fd7c1 /ot/bregman.py
parent0baf83bbff6bd0c67244b3019509fe7518fb2d75 (diff)
Fix convolutional_barycenter kernel for non-symmetric images
Add authorship
Diffstat (limited to 'ot/bregman.py')
-rw-r--r--ot/bregman.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/ot/bregman.py b/ot/bregman.py
index 2707b7c..d5e3563 100644
--- a/ot/bregman.py
+++ b/ot/bregman.py
@@ -9,6 +9,7 @@ Bregman projections for regularized OT
# Titouan Vayer <titouan.vayer@irisa.fr>
# Hicham Janati <hicham.janati@inria.fr>
# Mokhtar Z. Alaya <mokhtarzahdi.alaya@gmail.com>
+# Alexander Tong <alexander.tong@yale.edu>
#
# License: MIT License
@@ -1346,12 +1347,17 @@ def convolutional_barycenter2d(A, reg, weights=None, numItermax=10000,
err = 1
# build the convolution operator
+ # this is equivalent to blurring on horizontal then vertical directions
t = np.linspace(0, 1, A.shape[1])
[Y, X] = np.meshgrid(t, t)
xi1 = np.exp(-(X - Y)**2 / reg)
+ t = np.linspace(0, 1, A.shape[2])
+ [Y, X] = np.meshgrid(t, t)
+ xi2 = np.exp(-(X - Y)**2 / reg)
+
def K(x):
- return np.dot(np.dot(xi1, x), xi1)
+ return np.dot(np.dot(xi1, x), xi2)
while (err > stopThr and cpt < numItermax):