TP-traitement-audio-visuel/TP8/calcul_structure_3.m
2023-06-22 20:47:16 +02:00

20 lines
687 B
Matlab

function new_u_barre = calcul_structure_3(u_barre, u, Dx, Dy, phi, epsilon, mu_prime, gamma)
bidule_12 = ifft2( phi' .* (fftshift(fft2(u_barre)) - fftshift(fft2(u))) );
u_barre_reshaped = reshape(u_barre,[], 1);
ux = Dx * u_barre_reshaped;
uy = Dy * u_barre_reshaped;
uxx = - Dx' * Dx * u_barre_reshaped;
uxy = - Dx' * Dy * u_barre_reshaped;
uyy = - Dy' * Dy * u_barre_reshaped;
bidule_14 = (uxx.*(uy.^2 + epsilon) + uyy.*(ux.^2+epsilon) - 2.*ux.*uy.*uxy) ./ (ux.^2 + uy.^2 + epsilon) .^ (3/2);
bidule_14 = reshape(bidule_14, size(u_barre));
bidule_13 = bidule_12 - mu_prime * bidule_14;
new_u_barre = u_barre - gamma * bidule_13;
end