Euclidean Algorithm Applied Symbolic Computation CS 567 Jeremy Johnson.
A new Algorithm for the Computation of the group logarithm ...
Transcript of A new Algorithm for the Computation of the group logarithm ...
A new Algorithm for the Computation of the group logarithm of Diffeomorphism
Journal CLUB 4 December 2014
Mathias Bossa and Salvador Olmos
Presenting:
A new Algorithm for the Computation of the group logarithm of Diffeomorphism
Journal CLUB 4 December 2014
Mathias Bossa and Salvador Olmos
Presenting:
Sebastiano Ferraris- [email protected] - University College London 3
I : RD � ⌦ �! R
Reference Image Floating Image
⌦
⌦
0
R R
R F
'
Id
8x 2 ⌦ R(x) = F ('(x)) ' 2 Di↵(⌦,⌦0)'
Sim(R,F,') =X
x2⌦
||R(x)� F ('(x))||2
Group of
Diffeomorphism
Sebastiano Ferraris- [email protected] - University College London 5
↵�
S1 = {e↵i | ↵ 2 (�⇡,⇡)}
↵u
�uS1
T0S1 ' R
e : T0S1 �! S1
↵ 7�! e↵i
log : S1 �! T0S1
e↵i 7�! log(e↵i) = ↵
Sebastiano Ferraris- [email protected] - University College London 6
p
x u
log
exp
…Ok, but why!?!
Log-Euclidean Framework
log ! ISS
exp ! SS
Tx
Di↵
Di↵
Sebastiano Ferraris- [email protected] - University College London 7
p1, p2 2 Di↵Tx
Di↵
Di↵
u1 u1,u2 2 Lie(Di↵)
p1p2
dist(p1, p2) = ||log(p1)� log(p2)||= ||u2 � u1||
x
Log-Euclidean Framework to compute statistics on diffeomorphism
�u1
(p1)�1
u1 = log(p1)
�u1 = log(p1�1
)
u2
Sebastiano Ferraris- [email protected] - University College London 8
Log-Euclidean Framework to compute compositions of diffeomorphismfor image registration algorithms
x
pi
pi
pi+1
�uiui
ui+1
ui+1 = BCH(ui, �ui)
= log(exp (ui) � exp (�ui))
BCH(u, �u) = u+ �u+1
2[u, �u] +
1
12([u, [u, �u]] + [�u, [�u,u]])� 1
24([. . .
Tx
Di↵ pi+1 = pi � pi
Di↵
Sebastiano Ferraris- [email protected] - University College London 9
Log-Euclidean Framework to compute statistics on diffeomorphism
Log-Euclidean Framework to compute compositions of diffeomorphismfor image registration algorithms
u = log(p)
Given p 2 Di↵, we want u 2 Lie(Di↵) such that
Given u1,u2 2 Lie(Di↵), we want u 2 Lie(Di↵) such that
u = log(exp(u1) � exp(u2)) = BCH(u1,u2)
u = log(p1 � p2) = BCH(u1,u2)
Sebastiano Ferraris- [email protected] - University College London 10
Theorem:BCH(u, �u) = u+ �u+ 1
2 [u, �u] + 112 ([u, [u, �u]] + [�u, [�u,u]])� 1
24 ([. . .
Given p 2 Di↵, the iterative method
(u0 = 0
un = BCH(un�1, �un�1)
where
�un�1 = exp(�un�1) � p� Id
converges to u = log(p) with error En 2 Lie(Di↵), given by
En := log(exp(u) � exp(�un)) 2 O(||p� Id||2n
)
Sebastiano Ferraris- [email protected] - University College London 11
Be ui 2 Lie(Di↵) near u then:
p = exp(u) = exp(ui) � (exp(�ui) � p)
We define �ui 2 Lie(Di↵) as �ui = exp(�u0) � p. Then
p = exp(ui) � exp(�ui)
exp(u) = exp(ui) � exp(�ui)
u = log(exp(ui) � exp(�ui))
u = BCH(ui, �ui)
We approach u using an iterative algorithm based on
exp(�ui) ⇡ Id + �ui =) �ui ⇡ exp(�ui)� Id
Having ui as our initial value we define
�ui := exp(�ui)� Id
Using p = exp(ui) � exp(�ui) we can say that exp(�ui) = exp(�ui) �p and then
�ui = exp(�ui) � p� Id
just by definition. Since p is known we can start our successive approximation,and if we set ui = we have the result.
Proof:
Sebastiano Ferraris- [email protected] - University College London 12
A new Algorithm for the Computation of the group logarithm of Diffeomorphism
Now …Results!
Sebastiano Ferraris- [email protected] - University College London 13
(u = random vector field
p = expBE(u)
First set of results from toy examples: Ground Truth:
(upper limit, non iterative)uapp ' p� Id
ISS
Series Log BCH-0
Series Log BCH-1
Series Log BCH-2
EDi↵ = p� expBE(uapp)
eLie(Di↵) = u� uapp
The uapp = log(p) was evaluated in 5 di↵erent ways:
Solid lines
Dashed lines
Sebastiano Ferraris- [email protected] - University College London 14
Sebastiano Ferraris- [email protected] - University College London 15
Second set of results from 3D MRI data:
Sebastiano Ferraris- [email protected] - University College London 16
Sebastiano Ferraris- [email protected] - University College London 18