MATLAB Curl of Gaussian image derivatives matlab

arronslacey

Hi guys, I am trying to create a magnetic field from an image contour and an attempt to create an active contour model. I have a function which takes the image derivative via a Guassian:

Code:
function J=ImageDerivatives2D(I,sigma,type)
% Gaussian based image derivatives
%
%  J=ImageDerivatives2D(I,sigma,type)
%
% inputs,
%   I : The 2D image
%   sigma : Gaussian Sigma
%   type : 'x', 'y', 'xx', 'xy', 'yy'
%
% outputs,
%   J : The image derivative
%
% Make derivatives kernels
[x,y]=ndgrid(floor(-3*sigma):ceil(3*sigma),floor(-3*sigma):ceil(3*sigma));
switch(type)
case 'x'
DGauss=-(x./(2*pi*sigma^4)).*exp(-(x.^2+y.^2)/(2*sigma^2));
case 'y'
DGauss=-(y./(2*pi*sigma^4)).*exp(-(x.^2+y.^2)/(2*sigma^2));
case 'xx'
DGauss = 1/(2*pi*sigma^4) * (x.^2/sigma^2 - 1) .* exp(-(x.^2 + y.^2)/(2*sigma^2));
case {'xy','yx'}
DGauss = 1/(2*pi*sigma^6) * (x .* y)           .* exp(-(x.^2 + y.^2)/(2*sigma^2));
case 'yy'
DGauss = 1/(2*pi*sigma^4) * (y.^2/sigma^2 - 1) .* exp(-(x.^2 + y.^2)/(2*sigma^2));
end
J = conv2(I,DGauss,'same');
and now i need to take the curl of those image derivatives to get the pseudo magnetic field. having a bit of trouble with that though:

Code:
% Squared magnitude of force field
Fx= Fext(:,:,1);
Fy= Fext(:,:,2);
% Calculate magnitude
sMag = Fx.^2+ Fy.^2;
% Set new vector-field to initial field
u=Fx;  v=Fy;
for i=1:Iterations,
% First order image derivatives
Uxx=ImageDerivatives2D(u,Sigma,'x');
Uyy=ImageDerivatives2D(u,Sigma,'y');
Vxx=ImageDerivatives2D(v,Sigma,'x');
Vyy=ImageDerivatives2D(v,Sigma,'y');
% Compute curl and update vector field
u = u + cross(Uxx,Uyy,3);
v = v + cross(Vxx,Vyy,3);
end
Fext(:,:,1) = u;
Fext(:,:,2) = v;
anyone have any tips as the second script does not work. i can to the divergence and laplacian easily as they are just first and second derivatives, but the curl is proving a bit of a problem. Any help would be great thanks!

Related Math Software Workshop News on Phys.org

"Curl of Gaussian image derivatives matlab"

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving