Sue Lee, Week #3-4, SEM and Image Processing

This week, I’ve been working on a new coding project, as well as wrapping up the lab procedure I started on week 2 with template fabrication. I also learned how to examine and take photos of a block copolymer pattern with a scanning electron microscope (SEM). When the solvent annealing was over, I removed the wafer from the solvent, transferred it into a little container and brought it over to another lab with a machine that worked as both a SEM and an electron beam lithography tool. Because the machine is kept at a vacuum state, I had to first vent the chamber by introducing air, and pump the air back out through evacuation once I inserted the wafer. Once it was ready to go, the computer connected to the SEM displayed the magnified image of the patterns on the wafer.



Much like adjusting the resolution of the image you see through the lens of an optical microscope by turning the knob, there were multiple variables I had to adjust to find the perfect resolution of the image on the SEM. Firstly, I tweaked the magnification, contrast and brightness to be able to see the pattern more easily.  The image was still blurry, so I tweaked the x and y stigmators and focused the image. After the machine was ready to go, I moved the sample with the x and y translators and continued to adjust the stigmators. Then, I took a snapshot of a random area on the wafer and thus retrieved a successful image of the block copolymer pattern.
The block copolymer pattern was a random, “fingerprint” pattern, because we did not implement the necessary hydrogen silsesquioxane (HSQ) posts that create ordered patterns. The process of implementing HSQ posts is long and time-consuming, and I hope to be able to learn this during my time here.

Furthermore, I began a project involving image processing this week. So far, Brian has found out a way to convert a given binary array into an ideal visual representation of the block copolymer patterns, but has not been able to figure out a way to take an image produced by the SEM and convert it into a binary array of +1s and -1s. - which will be my task. It will indeed take an incredible amount of coding and I am very excited to attempt at something no one in the lab has yet! I began by taking an SEM image of a block copolymer pattern that I have found in one of the literature review articles Brian shared with me. My thinking was to assign each element of the image: the copolymers, the posts, and the background, different colors so that the computer could differentiate between each element. I did this through a process called image segmenting, which is the process of converting grayscale images into binary images by utilizing a certain level or threshold. So to obtain these two images I used different threshold values between 0 and 1 and was able to obtain a solid white color for the block copolymers for the first image and the posts for the second image.

While I was exploring how to use image processing in Matlab i learned an interesting tool called "regionprops" that measures properties of image regions. One of the properties called “bounding boxes” helped me find the number of posts in the pattern without me having to count all of them individually, which I thought was a pretty neat tool.
So with the two images I obtained earlier I proceeded to align them so that I could create the grid on top of a unified image. This process is also known as image registration, and I used a function called "imregister" to create this image here.
Then, I decided to create a grid on top of the image so that I can segment each square of area between two posts or state and figure out which type of pixel is most existing in the square, which will then help me determine whether there was a connection between the selected posts or not. I had numerous attempts at trying to create the grid so that each square contained either one post or one state. But no matter what width I used for the squares of the grid, I simply couldn’t obtain this perfect image I had in mind. Brian noted that there were double posts in this BCP pattern and that the angle of the block copolymers may not be perfectly perpendicular (due to possible defects in SEM images), which would make it extremely difficult for creating a perfect grid.



Instead, he suggested that I use the ideal representation of a pattern and try to manipulate the image from there. Afterwards, I followed the same steps of segmenting so that I could isolate just the posts in one image and just the block copolymers in another. The grid was much more orderly than before, but it was still difficult to have each square obtain exactly one post or one state. So, instead of creating a grid, I decided to find the approximate coordinates of each state (for all 351 states in this particular image) and draw a square surrounding the state by using those coordinates. Then, using the lower segmented image, whether the square contains more white pixels or black pixels will help me determine whether there is or isn’t a connection between the posts. To do this I would have to first find the coordinates of the center of the posts, which did by using the property "centroids" with the "regionprops" tool. 
I have had the chance to have another meeting with Professor Berggren, where he suggested another possible method of using simulated annealing to be able to use an SEM image directly, instead of an ideal representation of such image. I will be exploring his suggestion once I complete my current assignment. 
Going to the Museum of Fine Arts as well as the Isabella Stewart Gardner Museum the past weekends has been mesmerizing in completely different ways. I loved the Isabella Museum, a gallery (and former home) surrounding an absolutely magnificent garden courtyard.

I'm excited to be giving a presentation to the lab members next Friday about the work I've done so far!


Comments

Popular posts from this blog

Stephanie Wu | Week 3 | More Slicing and Mounting

Emily Guo, Week 7, Hanging Up the Lab Coat

Andrew Mah, Entry #1, Totally Unexpected