image thumbnail

Livewire (Intelligent Scissors) ROI Creation

by

 

02 Apr 2013 (Updated )

Implementation of the livewire algorithm for intelligent ROI drawing. Can be used instead of ROIPOLY

fLiveWireGetCostFcn(dImg, dWz, dWg, dWd)
function dF = fLiveWireGetCostFcn(dImg, dWz, dWg, dWd)

if nargin < 2,
    dWz = 0.2;
    dWg = 0.8;
    dWd = 0.2;
end

% -------------------------------------------------------------------------
% Calculat the cost function

% The gradient strength cost Fg
dImg = double(dImg);
[dY, dX] = gradient(dImg);
dFg = sqrt(dX.^2 + dY.^2);
dFg = 1 - dFg./max(dFg(:));

% The zero-crossing cost Fz
lFz = ~edge(dImg, 'zerocross');

% The Sum:

dF = dWz.*double(lFz)+ dWg.*dFg;
% -------------------------------------------------------------------------

Contact us