Estimating object thickness based on pixels


I’m interested in estimating the thickness of a piece of plastic of known thickness (3 mm) based on an interface between varying materials with different contrast properties.

Is there a way to use the rotated rectangle tool and perhaps thresholding / particle analysis to set a boundary and count the number of pixels within that boundary for purposes of determining a thickness in mm?



I invite you to read this :
(Section 30.11)

With a rotated rectangle selection in your image
you can use
Edit>Selection>Fit Rectangle
to create a rotated copy of your selection.

The macro commands are:

run("Fit Rectangle");
run("Duplicate...", " ");

In this rotated copy you can analysis the intensity profil with the help of
Analyze>Plot Profil
e.g. to determine the thickness of the the bright area.

What I don’t understand :slightly_smiling_face:

Hi Mark,

To measure the object thickness you can use Local Thickness plugin.
However note that you should measure the thickness along the center line of your object and mask-out non-relevant regions

  • duplicate the image to keep the original image
  • segment the object eg with Image>Adjust>Threshold to produce binary image
  • duplicate the Binary Mask
  • on one copy run Analyze>Local Thickness>Local Thickness (masked, calibrated, silent)
  • on the other copy run Process>Binary>Skeletonize or Plugins>Skeleton>Skeletonize (2D/3D)
  • measure the local thickness along the skeleton - eg by using “Redirect to” option in Analyze>Set Measurements to measure mean and median values from the Local Thickness image , then selecting the skeleton image and Measure
  • to mask out non-relevant areas, you can draw ROI containing only the region of interest, add it to the RoiManager, apply it to the skeleton image and Measure
  • for verification, overlay the contour of the binary mask an the skeleton on the original image and on the Local Thickness image


1 Like

Thank you everyone for your feedback and helpful tips!