Analyzing and organizing data of length and width of nanostructures of ZnO and MgO grown in the nanotechnology lab
In first instance, I wanted to find the correlation between time in the oven and length and width of nanostructures of ZnO and MgO grown in the nanotechnology lab in my university back home, analysis needed for a paper to be published. We had data sets for 7 seven experiments varying time and temperature gradient in the oven where we grew nanostructures of MgO and ZnO with different morphologies.
I wanted to create a root and C++ program with an interactive user interface in which I can insert several data text files and it outputs a histogram with analysis of each and a combination of them, in search of a correlation between oven time and length, width of nanostructures in the sample. Starting with this objective, it became then clear to me, that what was of more urgency to my project back in Mexico was an organizing system for the experiments we had, that still created the histograms and analyzed the data, but the objective in itself became more well defined.
I first coded a text-based user interface for creating up to 15 1d or 2d histograms from corresponding 1-column or 2-column text files. This program can be of greater use for data analysis later, however, I could not get rid of an error in scope while calling the different functions in the main program.
While trying to solve this error, I realized that creating a program that organized and analyzed the data set that I already had for the experiments back in Mexico would be of greater use, so my focus changed to that.
You can fin the code for the first program here: First Program. In the end, I was able to change the code so that the error would be solved, however my focus had changed by then, so this is just a miniproject that served as basis to the next goal. In the tar file above you will find a text-based Histogram Interface program that is user interactive and creates 1d and 2d histograms, there are 4 examples of text files to use with the project, however there are a lot of details still not solved, as the names of the axes of the histograms.
Based on this previous program, I created a class for my experiments back in Mexico through which you could visualize the data trees, the SEM micrographies for each experiment, create 1d and 2d histograms for the data and visualize the important statistics for each experiment.
Code and data:
The source codes are available in the program description below and on this Download Link, with the experiment files used for the class in a tar file.
This creates the class Alumec, where each member of the class is one experiment and there are different functions visualization of data for each of the 7 experiments done in Mexico.
Creates a root file with TTrees for all the data available for each experiment and each one contains also a vector with maximum value, minimum value and standard deviation of the data set. To see the contents of the root file click HERE.
Displays the list of experiments.
Displays the micrographies for each experiment on a canvas on screen.
Displays a scan of the tree of the experiment and data set chosen.
Displays the 1d histogram of the experiment and data set chosen.
Displays the 2d histogram of the experiment and data set chosen, for the ones available.
Displays TGraphs for the comparison of the mean, standard deviation, maximum value and minimum value of all the experiments. You can delimit this comparison to data sets of length, base width or top width.
To try the program run .L AlumecClass.cpp on root, create an Alumec object (Alumec a;), and try the different functions such as a.List(), setExp(a,#), a.GetHisto().
Experiment in Mexico:
From the draft of our paper:
Nanowires have recently played an important role in the fabrication of electrochemical, electromechanical, electronic and optoelectronic devices, presenting possible applications as transparent conductive oxides UV photo detectors, and solar cells. Furthermore, their large surface-to-volume ratio has motivated their application in gas sensors, and as catalysts. Among them, MgO and ZnO NWs have attracted attention due to their characteristics in comparison with their bulk form.
In the nanotechnology lab in Universidad Iberoamericana in Mexico a self-catalytic mechanism for the synthesis of MgO and ZnO NWs has been proposed: a vapor solid (VS) mechanism where the nanostructures precipitate directly from the vapor phase directly to the solid phase.
In the lab we generate nanostructures like the following:
Which we then analyze and characterize using SEM to get the data sets I used for this project.
The use of the class functions perfectly for the organization of the experiment data sets. Using the class you can see the Histograms, TTrees and Micrographies of the experiments.
With respect to the analysis of the oven-time and length, width of the nanostructures, 14 histograms were created, 1 for each data set. They were analyzed in terms of length, base width and top width. For simplicity and length reasons I will only present the analysis of length in written form, in the conclusions is included the analysis of base width and top width.
1d histograms for length data of nanostructures:
Figure 1: From experiment 1
Figure 2: From experiment 3
Figure 3: From experiment 4
Figure 4: From experiment 4
Figure 5: From experiment 4
Figure 7: From experiment 7
From the histograms we can get the average length and standard deviation of the measured data sets, this gives a general idea of the nanostructures that are formed in the experiments. Afterwards, tables for analysis of specific data were analyzed.
Analysis of the values of this histograms and data sets:
Figure 8: comparison of mean of all length data sets
So we can see that experiments 7 and 4 yield the longest nanostructures.
Figure 9: comparison of standard deviation of all length data sets
However their standard deviation is quite big, as seen in Figure 8, so there is a lot of variation.
2d histograms for comparing length and top width data of nanostructures in experiment 1:
Figure 10: From experiment 1
From this image we can see that the length is 3.5 times more than the base width in the hyperbranches nanostructures of MgO of Experiment one.
From the analysis of the histograms we can conclude that Experiments 4 and 7 yielded the longer mean lengths for the nanostructures. The longest nanostructures on experiment 7 were found in the Al substrate, as they were shorter if they were on the quartz base. Experiments 1 and 3 had the shortest mean length for nanostructures. Because of this, there is some evidence to say that longer oven-time yielded longer nanostructures, because experiments 1 and 3 had 4 minutes of oven time in relation to the 40 minutes of Experiment 4 and 7.
The average for the width of the base of the nanostructures was 0.94 micrometers, with variation between 0.1 and 1.2 micrometers, and the mean for the width of the top was 1.2 micrometers, with variation between 0.5 and 2.5 micrometers.
We can also assert that nanostructures of MgO are much more common to grow with this Al-alloy. Further experimental data is needed to make any other assertion, because the data sets were really small.
Outlook on the project:
This being the first time using root for me, I think I got to create something using the knowledge learned in class and of great utility for my work in my home university. A lot of problems where encountered on the way, but I can acknowledge for a great learning process in the project-making. Having this data base for the experiments with the opportunity to expand it and add more tools for analysis is great for the MgO and ZnO nanowires project.
I would like to thank Boris Wagner and Ladislav Kocbach for the help and tips given, both during computer labs and while working on the project.