quantitativeTEM / StatSTEM

GNU General Public License v3.0
48 stars 25 forks source link

Issue when I try strain analysis in StatSTEM #38

Open PhysXu opened 1 week ago

PhysXu commented 1 week ago

Hi,

I had an issue when I tried strain analysis in StatSTEM for my graphene STEM imaging.

I input the unit cell like below: image

Then I use Gaussian functions to fit the atom positions.

However, when I tried Start indexing, it told me an error: image

How can I solve it?

The version of my matlab is 2023b.

If it is caused by the incompatible version of matlab, which one need I use?

pho-Toms commented 1 week ago

Dear PhysXu, I believe the issue would be that the projected unit cell is not correctly specified. If I throw together the cif-file found here and this tool I can create a database file with the following contents which does appear to index the graphene example correctly. I hope this also works for your application!


Database file for StatSTEM
length_a    4.92
length_b    4.261
length_c    6
angle_ab    90

atoms   x   y
C   0.7500  0.8333
C   0.0000  0.0000
C   0.0000  0.3333
C   0.2500  0.5000
C   0.2500  0.8333
C   0.5000  0.0000
C   0.5000  0.3333
C   0.7500  0.5000

zInfo
C   0.0000
C   0.0000
C   0.0000
C   0.0000
C   0.0000
C   0.0000
C   0.0000
C   0.0000
PhysXu commented 1 week ago

Hi, @pho-Toms , thanks very much for your reply.

1. I did some tests by following your suggestions the graphene example.

1.1- get peak locations with Peak-finder routine 1

1.2- projected unit cell with the Database file you provide

1.3- run fitting routine in Standard procedure

However, a new error appeared when I clicked Start indexing: image

2. I tried the peak-fitting with MAP the graphene example, it looks to work well

2.1- get peak locations with Peak-finder routine 1

2.2- projected unit cell with the Database file you provide

2.3- run fitting routine in Model selection (MAP)

The error above did not appear when I clicked Start indexing.

Why I only can run Start indexing smoothly with the MAP fitting?

3. I also tried my own data with Standard procedure, the same error existed.

image image

As the FOV of my data is a bit large, even I have a 12-Core Processor CPU with 128GB RAM, it is still very slow for the MAP fitting.

I am still waiting for the MAP result for my own data.

Is there any other suggestion for the issue? It will be appreciated very much.

pho-Toms commented 1 week ago

Hi @PhysXu ,

Answer 1

This warning appears to let you know that perhaps not all atomic positions were indexed (correctly). It may be useful to verify that a suitable reference coordinate was chosen (or select it manually) and that the a and b vectors are found correctly as well. Using the graphene example file and the knowledge that the database file was constructed using this unit cell: image

choosing the a and b directions accordingly: image

I get no issues with the indexation of the peaks.

Answer 2

The use of the MAP rule to find the column positions should not affect the indexation (provided that the other peak finder can sufficiently accurately find the peaks). Perhaps not all peaks were found/added when you used the regular peak finder? Or perhaps a better reference and/or a-direction was guessed in the indexation step?

Answer 3

Unfortunately the MAP rule is indeed quite computationally expensive for large field of views. More details on the MAP rule can be found here. However, I don't think you need this for your data. I suggest looking into the points I wrote for Answer 1 (above) for the analysis of your data where an analysis with the regular peak-finder routine should work.

Hope this helps!