Line squiggle analysis

10 views
Skip to first unread message

tud...@gmail.com

unread,
Oct 22, 2013, 7:15:32 AM10/22/13
to shape...@googlegroups.com
Hi

I'm trying to develop a method for analyzing line squiggles using imageJ. I came across your plugin which looks to be capable of doing almost exactly what I'm looking to do. I'm most interested in quantifying number inflections in the lines. Attached is an example image for analysis (sq1.jpg)- i've written script to get it this far- binary, skeletonized etc...

If I using the Stream Vectorizer (or Vectorize information), I get vectorized segmentation as shown in attached sq2.jpg. Looking at sq2, in many cases the segmentation of the vectors applied to the lines is near on perfect, but in some cases, particularly with longer lines, you can see the vectors are drawn as a single segment, simply connecting the end points- I imagine this comes down to rules of minimum angle change when following a path to create a new segment, or minimum/maximum segmentation counts. In theory would it be possible to change the resolution of these vector traces, i.e. the angle thresholds etc, to produce a more precise trace for each line?

What i'm looking for is the number of inflections for each- currently, the internal results info for the Vectorize information gives me listed coordinates for inflection points on each line- it would be useful to get the number of inflection points listed in the results table also, which I've attempted using a categorizer setup file (although I can't find the correct stream definition for number of inflection points).

A workaround I found for getting length information etc, is to dilate the skeleton slightly (making the lines 3 pixels thick) and running simple particle analysis- then half the perimeter (minus a few extra pixels for the ends) is equivalent to length- using the Shapelogic color particle analyzer, this also gives inflection point count- but it doesn't seem to be producing good results I believe because of the perimeter drawn at the ends of the lines. For this purpose it seems logical that the lines should be treated as segmented vector lines in order to get the precise info i'm looking for, rather than a workaround treating the lines as areas (as in particle analysis).

Any advise would be greatly appreciated- if it is possible but would require a massive amount of programming knowledge etc, please let me know so I can pursue alternate methods.

Many thanks

Tom


sq1.jpg
sq2.jpg

sami....@gmail.com

unread,
Oct 22, 2013, 10:10:14 AM10/22/13
to shape...@googlegroups.com
Hi Tom,

The problem with vectorization you are describing a known bug.
I have been away from ShapeLogic for 4 years, but I have just asked my job permission to resume work on ShapeLogic, and was told that it is just a bit of red tape.


<In theory would it be possible to change the resolution of these vector traces>
Yes absolutely. It is a small bug that is easy to fix. I would like to fix it myself, but if you want to try do not worry.


<if it is possible but would require a massive amount of programming knowledge>
You only need elementary Java knowledge to work on this.

-Sami
Reply all
Reply to author
Forward
0 new messages