Efficient Implementation for Spherical Flux Computation (2D)
Efficient implementation of the flux operation described in
[*] Max W. K. Law and Albert C. S. Chung,
“Efficient Implementation for Spherical Flux Computation and Its Application to Vascular Segmentation”, IEEE Transactions on Image Processing, 18(3), pp. 596-612, 2009.
[+] A. Vasilevskiy and K. Siddiqi, “Flux Maximizing Geometric Flows“, IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(12), pp. 1565-1578, 2002.
The flux operation is designed for tubular object analysis (detection, centerline extraction, segmentation, recognition, etc....).
Syntax:
outputresponse = fastflux2(image, radii, sigma, pixelspacing);
outputresponse(3D matrix) : The final output response. (size(outputresponse)=[size(image,1) size(image,2) length(ranges)]).
image (2D matrix) : The input 2D image.
radii (N-D vector) : A vector containing all interested radii for computation of 2D spherical (circular) flux.
sigma (Sclar) : A value that used for image smoothing in during the computation of spherical flux.
pixelspacing (Scalar or 2D vector) : It specifies the pixel size of the input image. This parameter can be omitted if the values of radii and sigma are given in the unit of pixel-length. pixelspacing is a scalar for isotropic pixel size. When pixelspacing is a 2D vector, the pixel is anisotropic and given as [rowwidth columnwidth].
Example:
result = fastflux2(I, 1:5, 1);
Return the result computed from the radii {1,2,3,4,5} on image I.
result = fastflux2(I, 0.4:0.4:2.8, 1, 0.4);
Return the result computed from the radii (0.4mm,0.8mm,1.2mm,1.6mm,2mm,2.4mm,
2.8mm}, where the each pixel is 0.4mmx0.4mm
result = fastflux2(I, 2:5, 1, [1 1.4]);
Return the result computed from the raddi {2mm,3mm,4mm,5mm}, where each pixel
has a size of 1mm x 1.4mm (LxW).
Use the demonstration scripts in this package:
fastflux2demo;
or
fastflux2demo2;
to assess the examples of using fastflux2.m.
Technical details:
The following matlab variables in this package correspond to the symbols used in [*]
image -> I (After Equation 10)
ranges -> M (Equation 29)
sigma -> \sigma (Equation 7)
pixelspacing -> This is a new feature that is not mentioned in [*].
Note1 : This implementation is based on Subband_2 as stated in Fig. 2 in [*].
Note2 : An undersize \sigma value (<0.5 pixel-length) may cause inaccurate computation. Please refer to pp.599-601 in [*].
Note3 : The 2D closed form of spherical flux is slightly different from the 3D computation as described in [*].
Note4 : The coefficient buffering technique and redundant coefficient elimination in [*] are not implemented in this function.
Please kindly cite the following paper if you use this program, or any code extended from this program.
Max W. K. Law and Albert C. S. Chung, "Efficient Implementation for Spherical Flux Computation and Its Application to Vascular Segmentation”, IEEE Transactions on Image Processing, 2009, Volume 18(3), 596–612
Author: Max W.K. Law
Email: max.w.k.law@gmail.com
Page: http://www.cse.ust.hk/~maxlawwk/
Cite As
Max W.K. Law (2024). Efficient Implementation for Spherical Flux Computation (2D) (https://www.mathworks.com/matlabcentral/fileexchange/40905-efficient-implementation-for-spherical-flux-computation-2d), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Image Processing Toolbox > Image Filtering and Enhancement > Image Filtering >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |