Download Command-Line Executable
This executable will run Likelihood Ratio Vesselness (LRV) tracing to extract vessel
centerlines. It will also extract landmarks (vessel branching and cross over points) which are repeatable features
that could be used for registration or tracking.
08/11/2007: Updated downloads include landmark extraction (vessel branching and crossover points).
Platform |
Training Data Used |
Windows (08/11/2007) |
STARE and DRIVE* |
STARE |
DRIVE |
FreeBSD (08/11/2007 static build on FreeBSD 6.2) |
STARE and DRIVE* |
STARE |
DRIVE |
Linux (08/11/2007 static build on kernel 2.6) |
STARE and DRIVE* |
STARE |
DRIVE |
Mac OS X 10.3.9 (7/15/2008) |
STARE and DRIVE* |
STARE |
DRIVE |
* Training using STARE data set and DRIVE data set (with manual segmentations by observer 1).
Use this version for best results.
Unzipping Note: The MS Windows XP ``Compressed (zipped) folders'' might not be compatible
with other zip archives. The files were zipped with Winzip 12.0 and it was possible to
unzip them with ``Compressed (zipped) folders''. Please let me know if you have any problems.
Update 8/23/2009: There seem to have been an occasional problem with the downloads. This has been fixed.
|
Run
After running the vessel tracer without any arguments (or with ``-?'' argument),
usage information is printed as follows:
Usage: vessel_tracer.exe [ string] [ string] [ float] [-s string] [-d string]
REQUIRED:
|
string |
Image file to process [''] |
|
string |
Tracer [parallel] edge, [matched] [''] |
|
float |
Sensitivity of the tracer [0] |
|
Optional: |
Switch |
Type |
Help [default value] |
-s |
string |
Suffix for the trace result [''] |
-d |
string |
Directory where to save result images [''] |
-? |
bool |
Print this message |
Notes
- The first mandatory argument specifies retinal image file in JPEG, PNG, BMP, or TIFF format.
- The second mandatory argument specifies method to use for tracing. Two methods are available:
Parallel edge tracing as proposed in [Can, ITBM 1999] and LRV based tracing as proposed in
[Sofka, TMI 2006]. Enter string ``parallel'' or ``matched''
(without the quotes).
- Sensitivity of the tracer specifies how aggressive the tracing is. For LRV. this is
a threshold on the likelihood ratio and 1.0 - 2.0 is a good value.
For parallel edge tracing the parameter specifies image
contrast sensitivity level in a local window and value 2.5 - 3.5 gives best results.
- Option -s specifies a suffix added to the image image to write image
with vessel traces overlayed on the top, image of binary traces, and a text file with trace results.
-
Option -d specifies where to save the results (default is the current directory).
This executable can be used for non-commercial purposes only.
Results
Results include vessel centerlines and landmarks (vessel branching and crossover points).
Three files are written for each run: 1) Vessel traces and landmarks overlayed on the original image,
2) Binary image of vessel traces, and 3) Test file with vessel tracing and landmark extraction results in the following format
(comments on the right):
trace_points = { | | // beginning of the first trace |
vec_num = N | | // number of trace pts. in the first trace |
vec_element_0 = { | | // beginning of first trace pt. |
prrepl_trace_point: location = | x0 y0 | // location of the trace pt. |
direction = | n0 m0 | // vessel orientation vector at the trace pt. |
width = | w0 | // vessel width at the trace pt. (scale for LRV) |
strength = | s0 | // vesselness strength of the trace pt. |
} | | |
... | | // continue output all N trace pt. of the first trace |
vec_element_N-1 = { | | // beginning of the last trace pt. of the first trace |
prrepl_trace_point: location = | x1 y1 | |
direction = | n1 m1 | |
width = | w1 | |
strength = | s1 | |
} | | |
} | | |
| | |
trace_points = { | | // output next trace |
... | | |
} | | |
| | |
landmarks = { | | // beginning of the landmark listing |
vec_num = M | | // number of landmarks |
vec_element_0 = { | | // beginning of first landmark |
prrepl_landmark: group id = | -1 | // internal use, ignore this field |
radius = | r0 | // landmark radius (median width of its vessels) |
location = | x0 y0 | // location of the landmark |
} | | |
... | | // continue output all M landmarks |
vec_element_N-1 = { | | // beginning of the last landmark |
prrepl_landmark: group id = | -1 | |
radius = | r1 | |
location = | x1 y1 | |
} | | |
} | | |
| | |
Publications and Further Reading
When you publish results using the executable, please acknowledge the authors by citing the following paper:
Back to Retinal Vessel Centerline Extraction page.
For questions and comments contact Michal Sofka at:
|