PLM Image Analysis

Project Objective

Generate code for mouse hip joint image alignment and pixel analysis to assess cartilage structure

This project was a research project I worked on for the Diekman Lab within the Department of Biomedical Engineering

Project Background

Collagen protein in cartilage is anisotropic with regard to light - it responds differently when measured in different directions. From this, we can change light angles using polarized light microscopy (PLM) and assess collagen organization and thus cartilage strength. Combining intensity data to form variance maps can be used as visual and numeric representations. However, when rotating tissue samples, sections of the image are lost so the remaining image section needs to be accurately matched before image analysis can occur.

Small rotation angles can be matched using MATLAB's Image Registration Tool

Output Registered Image


Final output image showing corner pixel loss

Automated Image Rotation

Larger rotation angles had fewer matching points for the system and would result in warped matching attempts, so I needed to adapt the native code which was difficult.

My solution was to rotate each image in 10-degree increments by applying transformation matrices multiple times generated from a single increment match. Ex) 180° 170° via tool, 170° → 160° via tool, then take the generated matrix from 170°→160° and apply it to the new 170° image, continuing the process all the way down to 0°

Contour Map Generation Process

Image area retained for image with most rotation processes

Variance map generated by combining entire image set - brightest areas show lowest cartilage organization

Further Refinement

I later added a feature to crop into a region of interest along with more statistics to measure pixel relationships including entropy, contrast, correlation, energy, and homogeneity. I was then able to use the cropping feature and associated statistics to analyze specific areas of the images and compare wildtype and knockout data sets using these metrics. My final code is ~300 lines long.




I created a secondary step to allow ROI drawing for refined analysis of cartilage layers

Resulting images from ROI cropping and masking

Additional Pictures & Graphs

Summary

I was able to create a script capable of importing, rotating, matching, and analyzing sets of polarized light microscopy images to determine genetic effects on mouse knee cartilage.

Challenges

Problem: MATLAB native image registration software unable to handle large rotations

Solution: Adapt native code to manually apply transformation matrices incrementally in a loop

Problem: Needed specific regions of image analyzed

Solution: Implemented zoom and crop feature in rectangular format, and later refined the feature to draw custom shapes

Problem: Variance map images were hard to analyze

Solution: Switched heatmap templates and included additional image metrics for comparison and analysis