Mathias Müller
2014-02-07 10:12:25 UTC
Yeti,
I recently wanted to extract lattice constants from FFT images. I am using reference values obtained from a commercial software.
Employing the transformation rule from real space to reciprocal space (and vice versa) I do not succeed in
calculating the correct values. However, when multiplying the fft coordinates with 2*pi it fits pretty well.
This leads to one of my questions. Did you implement the crystallographic notation (a_real * a_rec = 1) or the
solid state notation (a_real * a_rec = 2*pi) for reciprocal space? (just to ensure the correct transformation)
The second question concerns the result's quality. Using the same data from the commercial software results in two pretty equal
lattice constants of the unit cell. Calculating by hand from the very same FFT coordinates (peaks) results in two similar but
different values. Using neighbor pixels slightly varies the result, but never matches.
For example a hexagonal structure:
lattice constant commercial/nm Gwyydion-manually/nm
|a| 1.25 1.29
|b| 1.24 1.22
The question is why does it differ? Do I have to correct the coordinates if the angle between two vectors of neighbor peaks
is != 60 degree (i.e. hexagonal structure)? Should I calculate the center of mass of each FFT peak ? Maybe the latter improves
the precision. However, am I overcritical about a difference of 3 % ?
Cheers,
/M
I recently wanted to extract lattice constants from FFT images. I am using reference values obtained from a commercial software.
Employing the transformation rule from real space to reciprocal space (and vice versa) I do not succeed in
calculating the correct values. However, when multiplying the fft coordinates with 2*pi it fits pretty well.
This leads to one of my questions. Did you implement the crystallographic notation (a_real * a_rec = 1) or the
solid state notation (a_real * a_rec = 2*pi) for reciprocal space? (just to ensure the correct transformation)
The second question concerns the result's quality. Using the same data from the commercial software results in two pretty equal
lattice constants of the unit cell. Calculating by hand from the very same FFT coordinates (peaks) results in two similar but
different values. Using neighbor pixels slightly varies the result, but never matches.
For example a hexagonal structure:
lattice constant commercial/nm Gwyydion-manually/nm
|a| 1.25 1.29
|b| 1.24 1.22
The question is why does it differ? Do I have to correct the coordinates if the angle between two vectors of neighbor peaks
is != 60 degree (i.e. hexagonal structure)? Should I calculate the center of mass of each FFT peak ? Maybe the latter improves
the precision. However, am I overcritical about a difference of 3 % ?
Cheers,
/M