Skip to main content
. 2024 Mar 15;24(6):1880. doi: 10.3390/s24061880
Algorithm 1
Input: Inner cavity image I, preprocessed inner cavity image Ipre, masked image Imask
Output: Single-pixel vascular image Iridge
  • 1:

    Branch 1 uses a blood vessel enhancement algorithm based on Frangi measure filtering on Ipre

  • 2:

    for each pixel p ϵ Ipre do

  • 3:

       for each scale σ do

  • 4:

        Calculate the Hessian matrix and its eigenvalues (λ1, λ2) and eigenvectors (Ix, Iy)

  • 5:

        Calculate Direction, RB, and S based on eigenvalues and eigenvectors

  • 6:

        At scale σ Calculate the Frangi measure filtering result F(σ)

  • 7:

       end for

  • 8:

       Extract the maximum response and corresponding filtering result max(F(σ))

  • 9:

    end for

  • 10:

    Combining Imask to generate Frangi measure vascular enhancement images IFrangi, Direction

  • 11:

    Branch 2 using MFAT based vascular enhancement on Ipre

  • 12:

    for each pixel p ϵ Ipre do

  • 13:

       for each scale σ do

  • 14:

        Calculate the Hessian matrix and its eigenvalues (λ1,λ2) and Direction

  • 15:

        Set λ3 = λ2. Construct new eigenvalues based on the eigenvalues λp1, λp2, and calculate FATλσ, Rλσ

  • 16:

        At scale σ calculate and update MFAT results MFAT¯λ

  • 17:

       end for

  • 18:

       Remove pixels MFAT¯λ < 1 × 10−2

  • 19:

       Extract the maximum response and corresponding scale filtering result max(MFAT¯λ(σ))

  • 20:

    end for

  • 21:

    for every steps μϵ (2, 4) do

  • 22:

       Establish a Gaussian model and calculate weights w1 and w2

  • 23:

       Weighted fusion of IFrangi and IMFAT to generate binary image Ivessel

  • 24:

       Using single-pixel algorithm based on I, Ivessel, and Direction

  • 25:

       Gaussian Filter Smoothing Image I

  • 26:

       Generate grid coordinate matrix [X, Y]

  • 27:

       for each coordinate (x, y) ϵ [X, Y] do

  • 28:

        Calculate the feature direction gradient ∇ and inner product

  • 29:

        If there is a sign change in the gradient along the direction of maximum curvature, it is considered as a vascular ridge line mask_ridge

  • 30:

        Multiply the ridge mask with the vascular image to obtain the vascular centerline image Iridege

  • 31:

         if the single-pixel detection flag for blood vessels is true

  • 32:

         Interpolate and shift vascular images to obtain IRshift1 and IRshift2

  • 33:

         Compare to obtain a single-pixel ridge mask_ridge2 and its application

  • 34:

         end if

  • 35:

        end for

  • 36:

       Generate a single-pixel vascular image Iridge

  • 37:

       Calculate the SSIM score between I and Iridge

  • 38:

     end for

  • 39:

    Select the corresponding optimal parameter μ based on the maximum SSIM score

  • 40:

    Calculate the optimal weights w1 and w2

  • 41:

    Weighted fusion of IFrangi and IMFAT to generate binary image Ivessel

  • 42:

    Generate a single-pixel vascular image IFrangi using a single-pixel algorithm based on I, Ivessel, and Direction