chan vess segmentation
chan vess segmentation
sign illustration
f : denote the given grayscale image, f(x),x is point
t : iteration t's border matrix, binary bool ?, describe as iteration th 's edge result, is closed curve mask
ε : Heaviside regularization,custom params, = 1
x : pixel/position in image,2D
φ : level set function, φ(i,j),φi,j : φ value at point(i,j)
C : an edge set curve
image Boundary C represented as the zero level set of implicit function φ(x, y)1
H : Heaviside function, for caculate energy function
Hε(t,p) : regularised heavyside function, is matrix , size same to image,∈[0,1]
for example: if border mark 1, unkown area mark 0, that trans to 1 and 0.5
operator illustration:
: sum for all H matrix value —— np.sum(H), is a scale value cinner couter : the optimal values c1 and c2
u : piecewise-smooth function
The third and fourth terms penalize discrepancy between the piecewise constant model u and the input image f.
divergence 散度计算:
1
2
3
4
5def div(fx,fy):
# 图像的散度对某幅图像连续求2次梯度得到的zx_x和zy_y的和是等于散度的。换句话说div(z) = zx_x +zy_yd
Fyy,fyx=np.grad(fy)
Fxy,fxx=np.grad(fx)
return fxx+fyydiscretize the curvature 曲率计算 :
1
2
3
4
5
6
7
def curvature(f):
fy,fx=grad(f)
Norm=np.sqrt(fx**2+fy**2)
Nx=fx/(Norm+1e-8)
Ny=fy/(Norm+1e-8)
return div(Nx,Ny)

∇x+ denotes forward difference in the x dimension : f(x+1)-f(x)
∇x− denotes backward difference : f(x)-f(x-1)
∇x0 =(∇x+ + ∇x−)/2 is central difference : (f(x+1)-f(x-1))/2
process step
φ update function:
φ value at point(i,j) φi,j
length penalty μ =0.2,
area penalty ν = 0,
time step dt = 0.5,
convergence tolerance tol = 10e−3
algorithm
image-20220411145745250