Inaccurate results from Analyze Skeleton (2D/3D)


I am trying to get ImageJ to count the number of branch points in the attached image. I successfully skeletonize with Skeletonize (2D/3D), but when I run Analyze Skeleton (2D/3D) it gives me numbers that are incorrect. I’ve attached a picture of my settings, and results.

According to the program I have 438 junctions (I counted 262), 260 endpoint voxels (I counted around 60), 48 junction voxels (makes no sense if I have hundreds of junctions), 30.04 triple points (makes no sense why this is not an integer), and 217 quadruple points (which would not add up with the triple points to make the correct number of junctions). None of these numbers make sense.

Can someone help? What is the reason behind these numbers? Does it have to do with the loops in the skeleton?

Thank you so much,

I created a dummy image and I can reproduce the issue There seems to be a problem.
Specifically I think that the header of the result table is wrong.
The simplest explanation is that the header should move one column over.
The first number is the number of the network.

Then your results would match.

But still the value for the Maximum Branch Length is missing then.

@iarganda @ctrueden are listed as the maintainers. Seems something went wrong there but can be fixed easily.

1 Like

@schmiedc thank you so much for your help, I really appreciate it! It is great to know that I am not the only one with this problem. I hope I can get this analysis to work soon.

@iarganda and @ctrueden I am looking forward to your reply!


Thanks for reporting, I will look into it as soon as I can!

1 Like

There seems to be a change of behavior in the ResultsTable class, so the first column values do not get automatically added. Let me fix it and make a new release.

1 Like

This looks like an #imagej1 regression to me (revealed by Fiji jumping from ij version 1.52p to 1.53c only with the recent update…).

On the same (hand-drawn) example image, I get:

  • with ij-1.53c:

  • with ij-1.51w:

I couldn’t figure out where exactly the change happened that broke this functionality, though. @Wayne do you have any idea what changed?


@imagejan thanks for having a look too. The weird fact is the behavior is not the same from the Script Editor when I try to replicate the problem… :face_with_raised_eyebrow:


@iarganda The same error was discussed here as well: AnalyzeSkeleton results table not showing SkeletonID

Thank you for the help, would be great to have this resolved soon since this glitch makes analyzing many images much more prone to error.

See also:

@iarganda, @imagejan,
Adding rt.showRowNumbers(true) immediately after the ResultsTable is created in Analyze Skeleton should fix the problem, or upgrade to the ImageJ 1.53f20 daily build, which fixes this regression.


Thanks @Wayne! That fixed the problem indeed. I have made a new release with that solution and AnalyzeSkeleton works again as before :partying_face:


Thanks @iarganda for fixing it so quickly and uploading it to the Java-8 update site.

Can you please also change the version here in pom-scijava:

The goal is to have pom-scijava in sync with the state of the update site.

Ideally, all uploads to the update sites happen via automatic builds of the fiji and imagej repositories (inheriting from latest pom-scijava), and no more manual uploads are required. This will hopefully be the case in the near future, but as long as we’re not quite there yet, it’s necessary to keep things in sync manually.


Thanks a lot @imagejan! I should update myself too :wink:

1 Like

Hi everyone, I am sorry if my questions is a little dumb. But I am having trouble adding AnalyzeSkeleton plugin to my imagej. Here is what I have been doing: I download the file (.jar) and then open up imagej → plugins–> install → select the downloaded file. I would really appreciate it if anyone could tell me what I am doing wrong.