thorstenwagner / ij-ridgedetection

Detect ridges / lines with imagej
GNU General Public License v2.0
42 stars 27 forks source link

Master #25

Closed xraynaud closed 7 years ago

xraynaud commented 7 years ago

Hi, I made an attempt to control the length of detected lines (issue #4). Two new parameters (minLength and maxLength) and a new Line method (prune) allow to remove lines that don’t have the correct size. The new method does not alter the detected junction points (so that junction points are not in sync after lines removal).

thorstenwagner commented 7 years ago

Great! Thank you! I guess we should add the sync with the junction points before merging it into the master branch. I would like to keep the data consistent.

xraynaud commented 7 years ago

Hi, I reworked the code so that it now removes the junctions as well. I am not totally satisfied with the code as it needs two loops to do so (one to remove the junctions and one to remove the lines), but I couldn't find a way to do it in a single loop (it throws concurentModificationException). Btw, are you sure that your function deleteContour does not lead to concurentModificationException too ? My first plan was to use this function to remove both junctions and lines at the same time, but it always throws this exception.

I don't have fully tested what happens with the ExtendLine option as I am not sure to understand what it does (it seems to shorten lines in some cases). Cheers.

xraynaud commented 7 years ago

It seems that with length selection, overlap resolution method SLOPE does not work anymore. I'll be looking into this.

thorstenwagner commented 7 years ago

Very nice! Thanks. I'm sorry that there are inconsistencies in the code. I will check and merge as soon as possible!