Home Image-Pro General Discussions

How do I skeletonize using Image-Pro Premier?

I have a need to measure the lengths of irregular fibers.  From everything I've seen, I must skeletonize these objects and measure the skeletons.  Can you please describe how I can generate these skeletons and which measurement of length is the most appropriate to use?  I am using binary images as source.  Thanks!

Best Answer

  • Answer ✓
    2017-03-22-155242

    Yuri --

    Thank you for the clarification.

    When I tested THINNING on the BLACK OBJECTS on WHITE BACKGROUND image, the result was not what we were looking for.

    After your additional comment, running THINNING on a an INVERTED VERSION of the SAMPLE IMAGE, the result WAS what we were looking for.

    This is shown in the SCREEN CAPTURES below where

    IMAGE 1 = ORIGINAL IMAGE
    IMAGE 2 = INVERTED ORIGINAL IMAGE (Colored RED)
    IMAGE 3 = THINNED INVERTED IMAGE (Colored GREEN
    IMAGE 4 = IMAGE 2 (as RED) + IMAGE 3 (as GREEN)

    Thanks again for the clarification.

    I hope this additional information is helpful to John and others.

    -- Matt

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-




Answers

  • The easiest way would be to use Fiber separation app, which can be downloaded from here:
    http://www.mediacy.com/resources/appcenter/fiber-separation-application-detail 

    If you want to measure it directly, then you can just activate the Vectorize option of Count/Size and measure Line:Length:



    Yuri
  • 2017-03-22-143316

    John --

    I looked within PREMIER after your question appeared and found that the SKELETONIZE FILTER is not a feature of PREMIER in the FILTERS as it was within PLUS.

    I attempted to address your question with the FEATURES and FUNCTIONS that I am aware of within PREMIER.

    My answer would be to measure the PERIMETER of the FIBER and then approximate the LENGTH by dividing the PERIMETER by 2.

    This is illustrated in the SCREEN CAPTURE shown below with THRESHOLD CREATED FEATURES first and then the MANUALLY CREATED LINE LENGTHS (in the same order as the first features).

    Before posting my suggestion, I refreshed the page and Yuri's answer appeared and demonstrated a PREMIER FEATURE that I was not aware of.  (Thanks Yuri!)

    I have compared the MANUAL LINE LENGTH from my example (look carefully within the overlay on the measured image) with the AUTO LINE LENGTH from YURI'S METHOD (note that the order of the FEATURES is different).  That comparison is:



    The example image that I used for this is attached.

    I hope this information is helpful.

    -- Matt

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-




  • edited March 2017
    Matt,

    Skeletonization is called Thinning in Premier. The way of measuring object length by dividing perimeter by 2 was a good solution in Image-Pro Plus. In Premier you can just use Vectorize that gives an accurate result directly.

    Yuri

  • Thank you both for your comments.  I apologize for not coming back to this earlier.  In the end, I followed Yuri's suggestion and wound up using the thinning filter.  I am still looking for a means to measure the lengths of these skeletons.  I suspect that dendritic length is the correct measurement to use. Branch Length (with the "mean" qualifier) seems to only give the mean length of the individual segments that make up a polyline shape.  But like Matt said, perimeter/2 could be the ticket too.


    Thanks again,

    John

Sign In or Register to comment.