Skip to main content
. Author manuscript; available in PMC: 2015 Aug 6.
Published in final edited form as: Inf Process Med Imaging. 2015;24:411–423. doi: 10.1007/978-3-319-19992-4_32

Algorithm 1.

Riemannian Optimal Mass Transport Map

Input: A triangle mesh M, measure μ and Dirac measure {(p1, ν1), (p2, ν2), ⋯ , (pk, νk)},
Mu(p)dp=i=1kνi; a threshold ϵ.
Output: The unique discrete Optimal Mass Transport Map φ : (M, μ) → (P, ν).
 Subdivide M for several levels, until each triangle size is small enough.
for all piP do
  Compute the geodesic from pi to every other vertex on M,
end for
h ← (0, 0, ⋯ , 0).
repeat
  for all vertex vj on M do
   Find the minimum weighted squared geodesic distance, decide which Voronoi cell vi
   belongs to, viWt(h)
t=argminkdg2(vj,pk)+hk
  end for
  for all piP do
   Compute the current cell area wi = ∫Wi(h) ,
  end for
  for all hih do
   Update hi, hi = hi + δ(νiwi)
  end for
untilνiwi∣ < ϵ, ∀i.
return Power geodesic Voronoi diagram.