Skip to main content
. Author manuscript; available in PMC: 2014 Dec 1.
Published in final edited form as: Med Image Anal. 2014 Jul 21;18(8):1290–1298. doi: 10.1016/j.media.2014.06.012

Algorithm 1.

LDDMM-based DWI registration

Input: I0, I1, {μj}, {qi}, λ1, λ2, b, n, {σl} and {α} (step size)
Initialization {υtpυtp ← 0, ∀p}
 1: estimate kernel weights {al}
 2: repeat
 3:  for each p do
 4:    ϕtp,1(id+1nυtn1p)ϕtp+1,1
 5:    ϕtp,0ϕtp1,0(id1nυtp1)
 6:  end for
 7:  compute current energy E using (4)
 8:  for each p do
 9:   compute gradient (∇υ E)tp using (5)
 10:  end for
 11:  (E′, α) ← linesearch (E, {υtp}, {α}, {(∇υ E)tp})
 12:  if E′ < E then
 13:   for each p do
 14:    υtpυtpα(∇υ E)tp
 15:   End For
 16:  end if
 17: until E′Eα = inf {α} ∨ maximum number of iterations
 18: function linesearch (E, {υtp}, {α}, {(∇υ E)tp})
 19:  for each α do
 20:   for each p do
 21:     υtpυtpα(υE)tp
 22:   end for
 23:   for each p do
 24:     ϕtp,1(id+1nυtn1p)ϕtp+1,1
 25:     ϕtp,0ϕtp1,0(id1nυtp1)
 26:   end for
 27:   compute current energy E′ using (4)
 28:   if E′ < E then
 29:    return E′, α
 30:   end if
 31:  end for
 32:  return E, inf {α}
 33: end function