Automating Endpoint Detection for Rehydrating Noodles

Sample image and/or code

  • Image Sequence (from a timelapse) are posted in response (this is my first post, so it won’t let me upload directly in the post).
  • I do not have a minimal working example.


I have some experience in Python and R, but no experience with Java or ImageJ.

Analysis goals

I am interested in measuring the curvature of some rehydrating noodles over time. There was an informative discussion on (measuring curvature for a butterfly claw)[How do you measure the angle of curvature of a claw?]. In particular, @emartini wrote a python plugin that finds calculates curvature once two endpoints and a midpoint along the curve are given. I have many pictures of curved noodles and manually selecting the three points (two endpoints, one midpoint) is not as feasible. Furthermore, I would like to eventually set up a Raspberry Pi to analyze pictures in real time.

My question has two parts:

  1. How can I use Image J to find endpoints for the noodles and automate that process in a script/plugin?
  2. How can I write a script to identify the endpoints and midpoint of each noodle? (This is complicated by the fact that the noodle is curved.)


  • I am stuck on how to find the endpoints using ImageJ.
  • When looking on the ImageJ tutorials, Skeletonize seems to be useful for this kind of thing. So I tried converting my images to Binary, then Skeletonize and Analyze Skeleton. I also tried converting to Binary and using Erode with Binary Option count set to 7. I think I’m just really clueless about how to use the program.
  • I am currently using Fiji on Windows Surface (64 bit).

Here is the image sequence

Please let me know if the link works, and if there is any other information that would be helpful to know. It’s my first post, so I apologize for any incompleteness.