www.pudn.com > levelsetImage.rar > calcenergy.m


function [ inside, outside ] = calcenergy( u0, phi, epsilon )
% CALCENERGY Calculates inside and outside energies
%    CALCENERGY( u0, phi, epsilon ) Calculates the energies inside
%    and outside our segmented region based on epsilon.

% apply the heaviside function to phi
H_phi = heaviside( phi, epsilon );
H_phi_minus = 1 - heaviside( phi, epsilon );

% calculate our constants c1 and c2 by discretizing integrals
% into sums and evaluating
c1 = sum( sum( u0 .* H_phi ) ) /  sum( sum( H_phi ) );
c2 = sum( sum( u0 .* H_phi_minus ) ) / sum( sum( H_phi_minus ) );

% calculate our inside and outside terms
inside = ( u0 - c1 ).^2;
outside = ( u0 - c2 ).^2;