Particle Image Velocimetry (PIV) Data Processing
Each student is expected to submit a report on the final project. A complete submission
should include the following elements:
- A written summary that reports the determined 2D velocity distribution of the target
flow field. The write-up should also answer all the questions posed by the project
- A well commented source code with all subroutines attached
Students are encouraged to program in Matlab, Python, or C/C++. Other languages
are also acceptable. However, students who choose to program in other languages
are expected to schedule a one-on-one appointment with the instructor to demonstrate
the successful compilation of the source code and successful computation of the
velocity field using the complied executable to process the raw images and to
determine the velocity field.
- Executable file for Windows 32bit system if the language of your choice requires
compilation of the source code and a short description so that the program can be
How PIV works:
The basic principle of the PIV is that a laser light sheet is used to illuminate the flow field
which is seeded with small particles to visualize a flow to be measured. A double pulse
YAG laser and a double shutter camera are synchronized to record two particle images
with very short time separation, typically less than 100 us.
MCG5138 Final Project
A laser is chosen as the illuminating light source in PIV because laser can deliver high
light intensity for very short pulses, which freeze the motion of seeding particle in effect.
The particles that are seeded to flow are typically fine TiO2 powers. It is can be assumed
that the seeding particles follow the motion of fluid parcels that the seeding particles
reside in exactly due to the very small size of the seeding particles.
Displacement and velocity evaluation
Once the images are successfully recorded, the next step is the PIV analysis. The images
are divided into small search areas. These small search areas are called interrogation
windows. The cross correlation is applied to these interrogation windows for both two
images to obtain the correlation plane for each interrogation window. The location of the
interrogation windows in both images are same in the standard cross correlation algorithm
(the interrogation windows are shifted in the advanced algorithms).
Then the peak detection and displacement evaluation are applied to obtain the dominant
displacement in each interrogation window. As the size of a pixel in flow and the time
separation between two images are known, the velocity can be calculated. The size of a
pixel in flow is determined by the simple velocity calibration.
Develop a computer code that completes the following tasks and report your findings in
the written report:
- Confirm the code can read a frame of PIV image and properly display it. Please
find and report the highest light intensity scattering off from a seeding particle. Also
try to find the mean particle size (in terms of number of pixels per particle) by
assuming a light intensity threshold for identifying seeding particles.
- Determine the size of a square interrogation window. An optimal interrogation
window should contain approximately 10 particles. The trade-off here is spatial
resolution and the accuracy of each velocity determination. Specifically, big
interrogation windows result in sparse velocity data points. At the same time, too
small an interrogation window doesn’t contain sufficient number of seeding
particles and results in large uncertainty in velocity.
(a) Report the optimal interrogation window size returned by your code. An
interrogation window size that’s often used is 32 pixel x 32 pixel. How does the
optimal window size that you found compare to the convention?
(b) For the interrogation window size of your choice, report the range of particle
numbers contained in each and every window.
MCG5138 Final Project
(c) If the original PIV frame is too big for your computer or you have difficulties in
processing pixels near the edge of the image, you may choose to analyze only
a subset of the original image pixels. Please specifically report the size and
the coordinates of the four corners of your subset and display the subset w.r.t.
the original frame. When you choose the subset for image processing, be
mindful of the size of the interrogation window that you chose in step 2.
- Choose any two consecutive PIV frames and calculate cross-correlations of all
interrogation window pairs between the two frames. You will get a correlation plane
as shown below. Report the correlation plane for the center interrogation window
of the original frame or of the subset of your choice. For students choose Matlab
as the language for programming, the 2D correlation can be calculated using a
Matlab function xcorr2.
MCG5138 Final Project
- Find the maximum in the correlation plane for each interrogation window pair.
Depending on how the correlation plane is defined, find the displacement of the
particles appear in the interrogation windows of both frames. Display the
displacement vector at the center of each interrogation window for the area you
- (Optional) advanced algorithm: iteration with decreasing size multi pass as