MATLAB Curl of Gaussian image derivatives matlab

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!
 

Want to reply to this thread?

"Curl of Gaussian image derivatives matlab" You must log in or register to reply here.

Related Threads for: Curl of Gaussian image derivatives matlab

Replies
0
Views
11K
Replies
0
Views
4K
Replies
0
Views
3K
Replies
0
Views
3K
Replies
0
Views
2K
Replies
0
Views
1K
Replies
0
Views
2K

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
Top