- This github repository functions as a hub for all iterations of code required to conduct cross sectional grain analysis from AFM images using Gwyddion analytical sofware and a bit of python.
The purpose for the task above is to provide a quantitatively supported description of the growth rate of the samples represented in the AFM images. Being able to define a growth rate for a reaction has many important applications that can be built on, resulting in unique findings. Defining a growth rate, for this specific application, involves analyzing relative maxima/minima of cross sections sliced from a scan. Making statistical calculations such as averages and standard deviations are also paramount to reliable growth rates.
- Gwyddion Data
- Type: AFM Images
- Exported Data: CSV containing matrix of height values (z-values) with dimensions N x N reflecting the size of the inital scan
- Size (512px x 512px image for example): 4600KB
- Type: AFM Images
- Sample AFM Scan
- Crossection of above white line
- Exported matrix of cross-sectional height data
Explained in detail within documentation.
- Given that Gwyddion has plenty of analysis capabilities within the software, it was clear growth rate analysis would need to be conducted on its own. Through a series of developing, testing, and comparing the results of my python scripts I landed on a confident model worthy of implementation. There will always be room for improvement, however the structure of the codebase is tailored to be friendly to novices, with debugging capabilities included.
- Settle on a physical model that captures the appropriate mixture of physics and chemistry topics included in this experiment. Once a model is decided upon, create a simple script to add the curve to the final plots.
Explained in detail within documentation.
- AFM Image Data
- Grain Analysis Jupyter Notebook Script
- Grain Analysis Python Script
- Pygwy Console Script
-
First, you will need to install Gwyddion 32 bit version here.
-
You will need the 32 bit version in order to utilize Pygwy Scripting, which allows us to manipulate the software and extract pertinent data in one shot. Documentation and the forums for Gwyddion and Pygwy Scripting will come in handy in a pinch.
-
You will also need to install the latest version of Python3 and Python2.7
-
Just in case you have any trouble getting the Pygwy Console in Gwyddion to appear under the Data Process field this forum thread should help.
-
Install wsl2 Ubuntu to use Jupyter Notebooks. This link is for Windows machines only.
- Matplotlib
- Numpy
- scipy
- csv