You are on page 1of 9

MINDANAO STATE UNIVERSITY-ILIGAN INSTITUTE OF TECHNOLOGY

COLLEGE OF SCIENCE AND MATHEMATICS

DEPARTMENT OF PHYSICS

Activity 1
Measuring Object Height by Fringe Projection
Technique and Image J

Presented by:
Yvonne Levin H. Cericos
Bachelor of Science in Physics

A laboratory manual presented to


Prof. Eli Christopher Enobio
Department of Physics
CSM, MSU-IIT

March 2023
Introduction
ImageJ is a Java-based image processing program that was designed with an open
architecture that provides extensibility through Java plugins and recordable macros. ImageJ can
display, edit, analyze, process, save, and print 8-bit color and grayscale, 16-bit integer and
32-bit floating point images. It can read many image file formats as well as raw formats.
ImageJ’s built-in editor and a Java compiler can develop custom acquisition, analysis and
processing plugins. User-written plugins make it possible to solve many image processing and
analysis problems.
For this activity, we are going to use fringe projection, a non-contact optical
measurement technique for 3D surface measurement of objects. A series of parallel or
sinusoidal stripes light patterns are projected onto the surface of the object and capturing the
pattern using one or more cameras are used for this method. The shape and topography of the
sample can be reconstructed into 3D by analyzing the distortions in the pattern. Known for its
accuracy and speed, fringe projection can capture both geometric and color of the sample’s
surface.

Objectives:
● To measure the height of an inclined plane by Fringe Projection
Required files:
● Clipboard-A.tif - picture of fringe projection without the sample (reference)
● Clipboard-B.tif - picture of fringe projection with the inclined sample
● Fringe_processing.jar - Developed by Joachim Wesner, it is an ImageJ plugin for
converting fringe projection image to wrapper phase map image. Plugin is copied from
the Imagej/plugins folder
● Phase_unwrapping.jar - Developed by Joachim Wesner, it is an ImageJ plugin for
converting wrapper phase map into continuous unwrapped phase map image. Plugin is
copied from Imagej/plugins folder.
● Height-macro - Developed by Michael J. Jabines, it is for converting phase map to height
distribution image.
Methodology
The first and foremost step for this experiment is to open ImageJ. After the application
has loaded, we load the fringe projection images and crop the areas of interest. To do this, we
first have to load clipboard-B by clicking on File - Open - Downloads - Clipboard-B.tif. When
the image has been loaded, we then convert it into an 8-bit image by clicking on Image - Type -
8-bit.
Now use the rectangular selection tool to select an area of the image containing the inclined
place by clicking on the Rectangular Selection tool - Enclose the inclined area.

Then we save the selection by File - Save as - Selection - Change filename to Clipboard-B
(region of interest).roi. We then crop the selected region by clicking on Image - Crop.

Next we load Clipboard-A by clicking on File - Open - Clipboard-A.tif then we convert it into an
8-bit image by clicking on Image - Type - 8-bit Image.
Next we load the predetermined selection areas by clicking on File - Open - Clipboard-B (region
of interest).roi then we crop Clipboard-A to selected regions only by clicking on Image - Crop.

Now we convert fringe projection image to unwrapped phase map image. To do this, we first
click on the cropped Clipboard-B then we download the Fringe Processing by clicking on
Plugins - Install - Fringe_processing.jar - Save then run the fringe processing by clicking on
Plugins - Fringe Processing. A window will appear where you will need to input 10 for Zero
Suppress Radius, 10 for Carrier Pass Radius, 5 for Transition halfwidth and uncheck the
Recenter Carrier. You can also close the Intensity window since it will not be used.
Now select the window containing wrapped phase map and run the phase unwrapping plugin by
first, downloading it by clicking on Plugins - Install - Phase_unwrapping.jar - Save then we run
the installed plugin by clicking on Plugins - 2D Phase unwrapping. A window will pop up where
you need to choose 360 in the Input Domain, choose Priority Queue for Quality Processing,
Derivative Variance 2x3 for Quality Measure then uncheck “Smooth quality map”.

Next we do the same for Clipboard_A. To do this, we first click on the cropped Clipboard-A then
we run the fringe processing by clicking on Plugins - Fringe Processing. A window will appear
where you will need to input 10 for Zero Suppress Radius, 10 for Carrier Pass Radius, 5 for
Transition halfwidth and uncheck the Recenter Carrier. You can also close the Intensity window
since it will not be used.
Now select the window containing the wrapped phase map and run the phase unwrapping
plugin by running the installed plugin by clicking on Plugins - 2D Phase unwrapping. A window
will pop up where you need to choose 360 in the Input Domain, choose Priority Queue for
Quality Processing, Derivative Variance 2x3 for Quality Measure then uncheck “Smooth quality
map”.

Now we convert the unwrapped phase map image to a height distribution image. To do
this, we open the height conversion macro file by clicking on File - Open - “height-macro”. The
height-macro window will appear. In line 28, edit the image “filename” and edit Height-B into
Height - clipboard-B and save by clicking on File - Save.
Then we select the image containing the unwrapped phase map of clipboard-B and we
run height-macro by clicking on Plugins - Macros - Run - “height-macro”.

Now we convert the unwrapped phase map image to a height distribution image of clipboard A.
To do this, we open the height conversion macro file by clicking on File - Open -
“height-macro”. The height-macro window will appear. In line 28, edit the image “filename” and
edit Height-A into Height - clipboard-A and save by clicking on File - Save.

Then we select the image containing the unwrapped phase map of clipboard-A and we run
height-macro by clicking on Plugins - Macros - Run - “height-macro”.
We now subtract the height distributions of the unwrapped phase map of clipboard-B and
clipboard-A by clicking on Process - Image Calculator. A window will appear where you need to
choose Phase Unwrapping (Phase Reconstruction (Clipboard B-tif)) for Image1 and Phase
Unwrapping (Phase Reconstruction (Clipboard A-tif)) for Image2. Tick the box beside “Create
new window”.

Now we measure height and plot the 3D image. Click the window containing the result of
the image subtraction and draw a line across the resulting image and measure the height of the
inclined plane then click Analyze - Plot Profile.
Now we plot the 3D image by clicking on Analyze - Surface Plot. A window will appear
where you need to check the box beside “Draw Wireframe”, “Draw Axis” and “Smooth”.
Uncheck the box beside “Shade”.

Result and Discussion

This experiment comes with the actual value taken from a Vernier Caliper. According to
the said measuring device, the height of the object is (5.515±0.005 mm). Now we take the
percentage difference between the actual value (value from Vernier Caliper) and the
experimental value (value from measuring object height from Fringe Projection) to have a
numerical comparison.

Percentage error =|Actual Height - Measured Height / Actual Height| x 100%


= |5.515 mm - 5.2 mm / 5.515mm| x 100%
= 6.058 % ~ 6%
From the solution above, we can see that the percentage difference is only 6%. This
means that measuring the height of an object through Fringe Projection and Image J is almost as
accurate as a Vernier Caliper since the percentage difference is minimal.

You might also like