]> AND Private Git Repository - these_gilles.git/blob - THESE/codes/snake/basic_code/SnakeInternalForceMatrix2D.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final
[these_gilles.git] / THESE / codes / snake / basic_code / SnakeInternalForceMatrix2D.m
1 function B=SnakeInternalForceMatrix2D(nPoints,alpha,beta,gamma)\r
2 %\r
3 % B=SnakeInternalForceMatrix2D(nPoints,alpha,beta,gamma)\r
4 %\r
5 % inputs,\r
6 %   nPoints : The number of snake contour points\r
7 %   alpha : membrame energy  (first order)\r
8 %   beta : thin plate energy (second order)\r
9 %   gamma : Step Size (Time)\r
10 %\r
11 % outputs,\r
12 %   B : The Snake Smoothness regulation matrix\r
13 %\r
14 % Function is written by D.Kroon University of Twente (July 2010)\r
15 \r
16 % Penta diagonal matrix, one row:\r
17 b(1)=beta;\r
18 b(2)=-(alpha + 4*beta);\r
19 b(3)=(2*alpha + 6 *beta);\r
20 b(4)=b(2);\r
21 b(5)=b(1);\r
22 \r
23 % Make the penta matrix (for every contour point)\r
24 A=b(1)*circshift(eye(nPoints),2);\r
25 A=A+b(2)*circshift(eye(nPoints),1);\r
26 A=A+b(3)*circshift(eye(nPoints),0);\r
27 A=A+b(4)*circshift(eye(nPoints),-1);\r
28 A=A+b(5)*circshift(eye(nPoints),-2);\r
29 \r
30 % Calculate the inverse\r
31 B=inv(A + gamma.* eye(nPoints));\r
32 \r
33 \r