{
  "id": 12696,
  "title": "Software for vessel centerline detection",
  "url": "/competitions/diabetic-retinopathy-detection/discussion/12696",
  "author_name": "",
  "post_date": "2015-03-05T18:12:23.867Z",
  "votes": 3,
  "comment_count": 23,
  "views": 7571,
  "content": "<p>If anyone needs a vessel centerline detection, easy-to-use software tool is available for download here:</p>\n<p><a href=\"http://www.sofka.com/LRV.html\">http://www.sofka.com/LRV.html</a></p>\n<p>It is based on a highly cited paper:</p>\n<p>Retinal Vessel Centerline Extraction Using Multiscale Matched Filters, Confidence and Edge Measures<br>Michal Sofka and Charles V. Stewart<br>IEEE Transactions on Medical Imaging, vol. 25, no. 12, pp. 1531-1546, Dec. 2006.</p>\n<p>Please post any questions or comments.</p>",
  "messages": [
    {
      "id": "65527",
      "postDate": "03/05/2015 18:12:23",
      "content": "<p>If anyone needs a vessel centerline detection, easy-to-use software tool is available for download here:</p>\n<p><a href=\"http://www.sofka.com/LRV.html\">http://www.sofka.com/LRV.html</a></p>\n<p>It is based on a highly cited paper:</p>\n<p>Retinal Vessel Centerline Extraction Using Multiscale Matched Filters, Confidence and Edge Measures<br>Michal Sofka and Charles V. Stewart<br>IEEE Transactions on Medical Imaging, vol. 25, no. 12, pp. 1531-1546, Dec. 2006.</p>\n<p>Please post any questions or comments.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65528",
      "postDate": "03/05/2015 18:27:25",
      "content": "<p>Thanks for sharing, Are you the author?, Could you provide an example of the output? I am attaching the original image and what I have got (not much experience from this side) so far.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65616",
      "postDate": "03/06/2015 17:40:48",
      "content": "<p>Thanks for this. &nbsp;Any chance you will release the source code?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65618",
      "postDate": "03/06/2015 18:05:49",
      "content": "<p>@NxGTR:</p>\n<p>I am attaching the sample output (the image was resized for processing). The txt file contains vessel centerline locations and approximate radii. Central reflex is not detected that well since it is not modeled. Sensitivity value of 2.5 was used to produce the output.</p>\n<p>@throwaway</p>\n<p>I would like to release the source code, but due to intellectual property reasons I cannot, unfortunately. I am not affiliated with the university anymore. Please note, that it is possible to get the full output from the txt file. The output format is described at:&nbsp;<a href=\"http://www.cs.rpi.edu/~sofka//vessels_exec.html\">http://www.sofka.com/vessels_exec.html</a>&nbsp;.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65646",
      "postDate": "03/06/2015 22:51:17",
      "content": "<p>Oh well, it'll still be useful as a reference. &nbsp;Do you have any recommendations of existing work focused on extending inference of faint vessels from their connections to larger ones?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "65691",
      "postDate": "03/07/2015 20:50:54",
      "content": "<p>Actually, if you adjust the sensitivity of the executable above, you will also get the faint vessels. From the paper introduction, which states the goals of the method:</p>\n<p>&quot;Vessels may be low contrast. The central intensity of some<br>vessels differ from the background by as little as 4 grey<br>levels, yet the background noise standard deviation is 2.3<br>grey levels. Narrow vessels often have the lowest contrast.</p>\n<p>Our focus in this paper is on techniques needed to solve the<br>mentioned&nbsp;problems &#8212; detecting low-contrast vessels and narrow<br>vessels, while avoiding false responses near pathologies and other<br>non-vascular structures.&quot;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "66038",
      "postDate": "03/12/2015 13:44:59",
      "content": "<p>Michal: thanks for making the executable available. &nbsp;I'm on a Mac. &nbsp;Do I download:&nbsp;http://www.cs.rpi.edu/~sofka/cgi-bin/download.cgi?mac_STARE_DRIVE , unzip, chmod +x, and run? &nbsp;I'm not getting it to run. &nbsp;Thx</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "66119",
      "postDate": "03/13/2015 16:03:31",
      "content": "<p>The Mac binary will only work on older versions of the operating system. Unfortunately, I don't have a way of building it on newer system. The only option seems to be to run one of the other binaries in a virtual machine (e.g. VirtualBox). I wish I had a better answer and I welcome any suggestions on how to get around this. (I played with Wine a little but the prefix install did not work for some reason.)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67795",
      "postDate": "03/23/2015 21:20:20",
      "content": "<p>Hi, I downloaded the windows binary but the matched mode is not saving any images to the disk. I tried it like this (to give an example):</p>\n<p>vessel_tracer_ALL.exe 10_left.jpeg matched 2.5 -s matched&nbsp;-d .<br>file: 10_left.jpeg</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67917",
      "postDate": "03/24/2015 07:50:57",
      "content": "<p>For me, only the parallel mode works in windows; in the matched mode, vessel_tracer_ALL.exe crashes.</p>\n<p>I will try with some Virtual Box, since this software looks nice.</p>\n<p>Thanks, Michal, for sharing it!</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67928",
      "postDate": "03/24/2015 09:25:04",
      "content": "<p>Please try to resample&nbsp;the images to a smaller size. The code was not optimized for images of this size but it computes vessel locations at subpixel accuracy.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67990",
      "postDate": "03/24/2015 15:49:31",
      "content": "<p>Thanks, resampling the images at 50% allowed the &quot;matched&quot; mode to work; I will also try with less agressive resizings.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68013",
      "postDate": "03/24/2015 16:55:37",
      "content": "<p>Could a kaggle admin tell if its within the rules to use this software for this competition?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68028",
      "postDate": "03/24/2015 17:24:09",
      "content": "<p>If by &quot;this software&quot; you mean the code linked from the topic of this thread, then yes, &quot;The code is distributed under the Apache 2.0 license approved by the Open Source Initiative (OSI).&quot;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68053",
      "postDate": "03/24/2015 19:28:37",
      "content": "<p>Thanks Alberto for the tip. I had to downsample by 4x to make it work.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68505",
      "postDate": "03/27/2015 00:53:51",
      "content": "<p>[quote=William Cukierski;68028]</p>\n<p>If by &quot;this software&quot; you mean the code linked from the topic of this thread, then yes, &quot;The code is distributed under the Apache 2.0 license approved by the Open Source Initiative (OSI).&quot;</p>\n<p>[/quote]</p>\n\n<p>Could you please be more specific about the code you're referring to? &nbsp;Michal has said the code he's linked here is owned by RPI and he cannot provide the source code. &nbsp;I would love to be able to use it, though.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68593",
      "postDate": "03/27/2015 15:55:57",
      "content": "<p>The paper is paywalled so I can't read the paper, but presumably it is trained/calibrated on eye images-does that violate the 'no external data' reqs?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68601",
      "postDate": "03/27/2015 17:57:21",
      "content": "<p>I believe it was trained on the STARE and DRIVE datasets, which are open.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68617",
      "postDate": "03/27/2015 19:51:26",
      "content": "<p>[quote=NxGTR;65528]</p>\n<p>Thanks for sharing, Are you the author?, Could you provide an example of the output? I am attaching the original image and what I have got (not much experience from this side) so far.</p>\n<p>[/quote]</p>\n<p>Thanks Michal for sharing this, I have difficulty installing it.</p>\n<p>@NxGTR, do you mind sharing how did you successfully install the code? Sorry for this dumb question.. really appreciate any help!</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "68754",
      "postDate": "03/28/2015 20:39:43",
      "content": "<p>@Torgos:</p>\n<p>The paper is available from the publication site:</p>\n<p><a href=\"http://www.sofka.com/publications.html\">http://www.sofka.com/publications.html</a></p>\n<p>or from:</p>\n<p><a href=\"http://www.sofka.com/vessels.html\">http://www.sofka.com/vessels.html</a></p>\n<p>(a the bottom, section &quot;Publications and Further Reading&quot;). The 'matched' version was trained using STARE and DRIVE data sets. The 'parallel' version did not use any training.</p>\n\n<p>@Xueer:</p>\n<p>The tool is a command-line executable so it is not installed. Please follow the instructions at:</p>\n<p><a href=\"http://www.sofka.com/vessels_exec.html\">http://www.sofka.com/vessels_exec.html</a></p>\n<p>The tool accepts several arguments: the image to process, vessel tracer type, and a sensitivity level.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "82716",
      "postDate": "06/25/2015 08:44:52",
      "content": "<p>can this code be compiled for 64 bit linux machines. I am not able to run it on 64 bit ubuntu machines. The supporting 32 bit libraries are not getting installed and so cant run this binary.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "86578",
      "postDate": "07/23/2015 06:51:34",
      "content": "<p>Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.</p>",
      "rawMarkdown": "Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.",
      "votes": null
    },
    {
      "id": "86920",
      "postDate": "07/25/2015 08:36:29",
      "content": "<p>[quote=Xueer Chen;68617]</p>\n<p>@NxGTR, do you mind sharing how did you successfully install the code? Sorry for this dumb question.. really appreciate any help!</p>\n<p>[/quote]</p>\n<p>OMG!!! I am so damn sorry... a few months late....., I am the kind of guy that hates emails from forums, so I am always unsubscribed and since I have a very low end machine I gave up on this one and really never came back until now, just for a last try.</p>\n<p>Anyway, the preprocessed images you saw I attached, it was all done by me with OpenCV, so I never installed the software.</p>\n<p>I know... totally pointless to reply just now.... but just do not wanted to be the dumbass that denied some help.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "86921",
      "postDate": "07/25/2015 08:38:27",
      "content": "<p>[quote=ssmssm;86578]</p>\n\n<p>Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.</p>\n\n<p>[/quote]</p>\n\n<p>I did not use his software, I coded my own.</p>",
      "rawMarkdown": "[quote=ssmssm;86578]\r\n\r\nCan someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.\r\n\r\n[/quote]\r\n\r\nI did not use his software, I coded my own.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 65528,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "03/05/2015 18:27:25",
      "content": "<p>Thanks for sharing, Are you the author?, Could you provide an example of the output? I am attaching the original image and what I have got (not much experience from this side) so far.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 65616,
      "author_name": "alexcoventry",
      "author_url": "",
      "post_date": "03/06/2015 17:40:48",
      "content": "<p>Thanks for this. &nbsp;Any chance you will release the source code?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 65618,
      "author_name": "msofka",
      "author_url": "",
      "post_date": "03/06/2015 18:05:49",
      "content": "<p>@NxGTR:</p>\n<p>I am attaching the sample output (the image was resized for processing). The txt file contains vessel centerline locations and approximate radii. Central reflex is not detected that well since it is not modeled. Sensitivity value of 2.5 was used to produce the output.</p>\n<p>@throwaway</p>\n<p>I would like to release the source code, but due to intellectual property reasons I cannot, unfortunately. I am not affiliated with the university anymore. Please note, that it is possible to get the full output from the txt file. The output format is described at:&nbsp;<a href=\"http://www.cs.rpi.edu/~sofka//vessels_exec.html\">http://www.sofka.com/vessels_exec.html</a>&nbsp;.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 65646,
      "author_name": "alexcoventry",
      "author_url": "",
      "post_date": "03/06/2015 22:51:17",
      "content": "<p>Oh well, it'll still be useful as a reference. &nbsp;Do you have any recommendations of existing work focused on extending inference of faint vessels from their connections to larger ones?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 65691,
      "author_name": "msofka",
      "author_url": "",
      "post_date": "03/07/2015 20:50:54",
      "content": "<p>Actually, if you adjust the sensitivity of the executable above, you will also get the faint vessels. From the paper introduction, which states the goals of the method:</p>\n<p>&quot;Vessels may be low contrast. The central intensity of some<br>vessels differ from the background by as little as 4 grey<br>levels, yet the background noise standard deviation is 2.3<br>grey levels. Narrow vessels often have the lowest contrast.</p>\n<p>Our focus in this paper is on techniques needed to solve the<br>mentioned&nbsp;problems &#8212; detecting low-contrast vessels and narrow<br>vessels, while avoiding false responses near pathologies and other<br>non-vascular structures.&quot;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 66038,
      "author_name": "paulperry",
      "author_url": "",
      "post_date": "03/12/2015 13:44:59",
      "content": "<p>Michal: thanks for making the executable available. &nbsp;I'm on a Mac. &nbsp;Do I download:&nbsp;http://www.cs.rpi.edu/~sofka/cgi-bin/download.cgi?mac_STARE_DRIVE , unzip, chmod +x, and run? &nbsp;I'm not getting it to run. &nbsp;Thx</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 66119,
      "author_name": "msofka",
      "author_url": "",
      "post_date": "03/13/2015 16:03:31",
      "content": "<p>The Mac binary will only work on older versions of the operating system. Unfortunately, I don't have a way of building it on newer system. The only option seems to be to run one of the other binaries in a virtual machine (e.g. VirtualBox). I wish I had a better answer and I welcome any suggestions on how to get around this. (I played with Wine a little but the prefix install did not work for some reason.)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67795,
      "author_name": "siddjain",
      "author_url": "",
      "post_date": "03/23/2015 21:20:20",
      "content": "<p>Hi, I downloaded the windows binary but the matched mode is not saving any images to the disk. I tried it like this (to give an example):</p>\n<p>vessel_tracer_ALL.exe 10_left.jpeg matched 2.5 -s matched&nbsp;-d .<br>file: 10_left.jpeg</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67917,
      "author_name": "ajulian",
      "author_url": "",
      "post_date": "03/24/2015 07:50:57",
      "content": "<p>For me, only the parallel mode works in windows; in the matched mode, vessel_tracer_ALL.exe crashes.</p>\n<p>I will try with some Virtual Box, since this software looks nice.</p>\n<p>Thanks, Michal, for sharing it!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67928,
      "author_name": "msofka",
      "author_url": "",
      "post_date": "03/24/2015 09:25:04",
      "content": "<p>Please try to resample&nbsp;the images to a smaller size. The code was not optimized for images of this size but it computes vessel locations at subpixel accuracy.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67990,
      "author_name": "ajulian",
      "author_url": "",
      "post_date": "03/24/2015 15:49:31",
      "content": "<p>Thanks, resampling the images at 50% allowed the &quot;matched&quot; mode to work; I will also try with less agressive resizings.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68013,
      "author_name": "siddjain",
      "author_url": "",
      "post_date": "03/24/2015 16:55:37",
      "content": "<p>Could a kaggle admin tell if its within the rules to use this software for this competition?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68028,
      "author_name": "wcukierski",
      "author_url": "",
      "post_date": "03/24/2015 17:24:09",
      "content": "<p>If by &quot;this software&quot; you mean the code linked from the topic of this thread, then yes, &quot;The code is distributed under the Apache 2.0 license approved by the Open Source Initiative (OSI).&quot;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68053,
      "author_name": "siddjain",
      "author_url": "",
      "post_date": "03/24/2015 19:28:37",
      "content": "<p>Thanks Alberto for the tip. I had to downsample by 4x to make it work.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68505,
      "author_name": "alexcoventry",
      "author_url": "",
      "post_date": "03/27/2015 00:53:51",
      "content": "<p>[quote=William Cukierski;68028]</p>\n<p>If by &quot;this software&quot; you mean the code linked from the topic of this thread, then yes, &quot;The code is distributed under the Apache 2.0 license approved by the Open Source Initiative (OSI).&quot;</p>\n<p>[/quote]</p>\n\n<p>Could you please be more specific about the code you're referring to? &nbsp;Michal has said the code he's linked here is owned by RPI and he cannot provide the source code. &nbsp;I would love to be able to use it, though.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68593,
      "author_name": "telser",
      "author_url": "",
      "post_date": "03/27/2015 15:55:57",
      "content": "<p>The paper is paywalled so I can't read the paper, but presumably it is trained/calibrated on eye images-does that violate the 'no external data' reqs?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68601,
      "author_name": "alexcoventry",
      "author_url": "",
      "post_date": "03/27/2015 17:57:21",
      "content": "<p>I believe it was trained on the STARE and DRIVE datasets, which are open.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68617,
      "author_name": "xueerchen",
      "author_url": "",
      "post_date": "03/27/2015 19:51:26",
      "content": "<p>[quote=NxGTR;65528]</p>\n<p>Thanks for sharing, Are you the author?, Could you provide an example of the output? I am attaching the original image and what I have got (not much experience from this side) so far.</p>\n<p>[/quote]</p>\n<p>Thanks Michal for sharing this, I have difficulty installing it.</p>\n<p>@NxGTR, do you mind sharing how did you successfully install the code? Sorry for this dumb question.. really appreciate any help!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 68754,
      "author_name": "msofka",
      "author_url": "",
      "post_date": "03/28/2015 20:39:43",
      "content": "<p>@Torgos:</p>\n<p>The paper is available from the publication site:</p>\n<p><a href=\"http://www.sofka.com/publications.html\">http://www.sofka.com/publications.html</a></p>\n<p>or from:</p>\n<p><a href=\"http://www.sofka.com/vessels.html\">http://www.sofka.com/vessels.html</a></p>\n<p>(a the bottom, section &quot;Publications and Further Reading&quot;). The 'matched' version was trained using STARE and DRIVE data sets. The 'parallel' version did not use any training.</p>\n\n<p>@Xueer:</p>\n<p>The tool is a command-line executable so it is not installed. Please follow the instructions at:</p>\n<p><a href=\"http://www.sofka.com/vessels_exec.html\">http://www.sofka.com/vessels_exec.html</a></p>\n<p>The tool accepts several arguments: the image to process, vessel tracer type, and a sensitivity level.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 82716,
      "author_name": "hasanmujtaba",
      "author_url": "",
      "post_date": "06/25/2015 08:44:52",
      "content": "<p>can this code be compiled for 64 bit linux machines. I am not able to run it on 64 bit ubuntu machines. The supporting 32 bit libraries are not getting installed and so cant run this binary.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 86578,
      "author_name": "ssmssm",
      "author_url": "",
      "post_date": "07/23/2015 06:51:34",
      "content": "<p>Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 86920,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "07/25/2015 08:36:29",
      "content": "<p>[quote=Xueer Chen;68617]</p>\n<p>@NxGTR, do you mind sharing how did you successfully install the code? Sorry for this dumb question.. really appreciate any help!</p>\n<p>[/quote]</p>\n<p>OMG!!! I am so damn sorry... a few months late....., I am the kind of guy that hates emails from forums, so I am always unsubscribed and since I have a very low end machine I gave up on this one and really never came back until now, just for a last try.</p>\n<p>Anyway, the preprocessed images you saw I attached, it was all done by me with OpenCV, so I never installed the software.</p>\n<p>I know... totally pointless to reply just now.... but just do not wanted to be the dumbass that denied some help.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 86921,
      "author_name": "carloshuertas",
      "author_url": "",
      "post_date": "07/25/2015 08:38:27",
      "content": "<p>[quote=ssmssm;86578]</p>\n\n<p>Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.</p>\n\n<p>[/quote]</p>\n\n<p>I did not use his software, I coded my own.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "65527": "",
    "65528": "",
    "65616": "",
    "65618": "",
    "65646": "",
    "65691": "",
    "66038": "",
    "66119": "",
    "67795": "",
    "67917": "",
    "67928": "",
    "67990": "",
    "68013": "",
    "68028": "",
    "68053": "",
    "68505": "",
    "68593": "",
    "68601": "",
    "68617": "",
    "68754": "",
    "82716": "",
    "86578": "Can someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.",
    "86920": "",
    "86921": "[quote=ssmssm;86578]\r\n\r\nCan someone tell me what characteristics have been used to obtain the second image which @NxGTR posted above i.e 34739_left.jpeg. I want to obtain the exact picture as above. Thank you.\r\n\r\n[/quote]\r\n\r\nI did not use his software, I coded my own."
  },
  "source": "meta"
}