Skip to content

Commit

Permalink
Merge pull request #1271 from FAIRmat-NFDI/fairmat_2023
Browse files Browse the repository at this point in the history
Fairmat 2023
  • Loading branch information
sanbrock committed Jan 19, 2024
2 parents a56a3ab + 5969132 commit d73be60
Show file tree
Hide file tree
Showing 159 changed files with 30,774 additions and 2,551 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ jobs:
texlive-latex-recommended \
texlive-latex-extra \
texlive-fonts-recommended
tex --version
- name: Generate build files
env:
Expand Down
102 changes: 39 additions & 63 deletions contributed_definitions/NXaberration.nxdl.xml
Original file line number Diff line number Diff line change
@@ -1,79 +1,55 @@
<?xml version="1.0" ?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<definition category="base" extends="NXobject" name="NXaberration" type="group" xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" extends="NXobject" name="NXaberration" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
Models for aberrations of electro-magnetic lenses in electron microscopy.

The notation follows `O. Krivanek et al. (1999) &lt;https://doi.org/10.1016/S0304-3991(99)00013-3&gt;`_
and `O. Krivanek et al. (2003) &lt;https://doi.org/10.1016/S0304-3991(03)00090-1&gt;`_
See also `S. J. Pennycock and P. D. Nellist &lt;https://doi.org/10.1007/978-1-4419-7200-2&gt;`_ (page 44ff, and page 118ff)
for further details, additional literature, and the unit of the coefficients.
Consult Table 7-2 of Ibid. publication on how to convert between
conventions of different groups/vendors.
Quantified aberration coefficient in an aberration_model.
</doc>
<field name="c_1_0" type="NX_FLOAT" units="NX_LENGTH">
<field name="magnitude" type="NX_FLOAT" units="NX_LENGTH"/>
<field name="uncertainty" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Defocus
Confidence
</doc>
</field>
<field name="c_1_2_a" type="NX_FLOAT" units="NX_LENGTH">
<field name="uncertainty_model">
<doc>
Two-fold astigmatism
How was the uncertainty quantified e.g. via the 95% confidence interval.
</doc>
</field>
<field name="c_1_2_b" type="NX_FLOAT" units="NX_LENGTH">
<field name="delta_time" type="NX_FLOAT" units="NX_TIME">
<doc>
Two-fold astigmatism
Time elapsed since the last measurement.
</doc>
</field>
<field name="c_2_1_a" type="NX_FLOAT" units="NX_LENGTH">
<field name="angle" type="NX_FLOAT" units="NX_ANGLE">
<doc>
Second-order axial coma
</doc>
</field>
<field name="c_2_1_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Second-order axial coma
</doc>
</field>
<field name="c_2_3_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Threefold astigmatism
</doc>
</field>
<field name="c_2_3_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Threefold astigmatism
</doc>
</field>
<field name="c_3_0" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Spherical aberration
</doc>
</field>
<field name="c_3_2_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Star aberration
</doc>
</field>
<field name="c_3_2_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Star aberration
</doc>
</field>
<field name="c_3_4_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fourfold astigmatism
</doc>
</field>
<field name="c_3_4_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fourfold astigmatism
</doc>
</field>
<field name="c_5_0" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fifth-order spherical aberration
For the CEOS definitions the C aberrations are radial-symmetric and have no
angle entry, while the A, B, D, S, or R aberrations are n-fold
symmetric and have an angle entry.
For the NION definitions the coordinate system differs to the one
used in CEOS and instead two aberration coefficients a and b are used.
</doc>
</field>
<field name="name"/>
<field name="alias"/>
</definition>
105 changes: 105 additions & 0 deletions contributed_definitions/NXaberration_model.nxdl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" extends="NXobject" name="NXaberration_model" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
Models for aberrations of electro-magnetic lenses in electron microscopy.

See `S. J. Pennycock and P. D. Nellist &lt;https://doi.org/10.1007/978-1-4419-7200-2&gt;`_ (page 44ff, and page 118ff)
for different definitions available and further details. Table 7-2 of Ibid.
publication (page 305ff) documents how to convert from the NION to the
CEOS definitions.
</doc>
<field name="model">
<enumeration>
<item value="ceos"/>
<item value="nion"/>
</enumeration>
</field>
<group type="NXaberration"/>
<field name="c_1_0" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Defocus
</doc>
</field>
<field name="c_1_2_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Two-fold astigmatism
</doc>
</field>
<field name="c_1_2_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Two-fold astigmatism
</doc>
</field>
<field name="c_2_1_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Second-order axial coma
</doc>
</field>
<field name="c_2_1_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Second-order axial coma
</doc>
</field>
<field name="c_2_3_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Threefold astigmatism
</doc>
</field>
<field name="c_2_3_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Threefold astigmatism
</doc>
</field>
<field name="c_3_0" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Spherical aberration
</doc>
</field>
<field name="c_3_2_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Star aberration
</doc>
</field>
<field name="c_3_2_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Star aberration
</doc>
</field>
<field name="c_3_4_a" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fourfold astigmatism
</doc>
</field>
<field name="c_3_4_b" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fourfold astigmatism
</doc>
</field>
<field name="c_5_0" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Fifth-order spherical aberration
</doc>
</field>
</definition>
91 changes: 91 additions & 0 deletions contributed_definitions/NXaberration_model_ceos.nxdl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" extends="NXobject" name="NXaberration_model_ceos" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
CEOS definitions/model for aberrations of electro-magnetic lenses.

See `S. J. Pennycock and P. D. Nellist &lt;https://doi.org/10.1007/978-1-4419-7200-2&gt;`_ (page 44ff, and page 118ff)
for different definitions available and further details. Table 7-2 of Ibid.
publication (page 305ff) documents how to convert from the NION to the
CEOS definitions.
</doc>
<field name="model">
<enumeration>
<item value="ceos"/>
</enumeration>
</field>
<group name="c_1" type="NXaberration"/>
<group name="a_1" type="NXaberration"/>
<group name="b_2" type="NXaberration"/>
<group name="a_2" type="NXaberration"/>
<group name="c_3" type="NXaberration"/>
<group name="s_3" type="NXaberration"/>
<group name="a_3" type="NXaberration"/>
<!--based on feedback from Thilo Remmele the following aberrations could be measured (enhanced mode, tilt angle > 30 mrad) but are not corrected-->
<group name="b_4" type="NXaberration"/>
<group name="d_4" type="NXaberration"/>
<group name="a_4" type="NXaberration"/>
<group name="c_5" type="NXaberration"/>
<group name="s_5" type="NXaberration"/>
<group name="r_5" type="NXaberration"/>
<group name="a_6" type="NXaberration"/>
<!--further comments from Thilo Remmele (Leibniz-Institut für Kristallzüchtung)
ThermoFisher uses CEOS correctors but makes customizations to these in their microscopes
Aberration naming schema: C_order_multiplicity (similar to NXem, but with
another coordinate system and in addition with a confidence entry.
Aberrations with multiplicity 0 have no angle entry (C1,C3,C5,.., CEOS notation)
contrast transferfuntion: ctf = e^(-i*Xi(g)) in Fourier space
aberration function:
Xi(g) = 2*pi/lamda{ 1/2 * (lamda*g)^2 (C20 + C22 cos[2(phi-phi_22)]
+1/3 * (lamda*g)^3 (C31 cos[(phi-phi_31) + C33 cos[3(phi-phi_33)
+1/4 * (lamda*g)^4 (C40 + C42 cos[2(phi-phi_42)] + C44 cos[4(phi-phi_42)]
+1/f * (lamda*g)^f Sum (Cfm cos[m(phi-phi_fm)] where m=[0,2,..f] for even f and m=[1,3,..,f] for odd f-->
<!--Thilo Remmele also mentions that there is a mapping of aberration coefficient names:
C_2_0 -> C1 Defocus
C_2_2 -> A1 2-fold astigmatism
C_3_3 -> A2 3-fold astigmatism
C_3_1 -> B2 axial coma
C_4_0 -> C3 spherical aberration
C_4_4 -> A3 4-fold astigmatism
C_4_2 -> S3 star aberration
C_5_5 -> A4 5-fold astigmatism-->
<!--C_5_1 -> B4 axial coma
C_5_3 -> D4 three lobe aberration
C_6_0 -> C5 spherical aberration
C_6_2 -> S5 star aberration
C_6_4 -> R5 rosette aberration
C_6_6 -> A5 6-fold astigmatism-->
<!--In a session with HRTEM images the corrector is commonly aligned.
The final measurement with the estimated residual aberrations
should be saved in a corrector.html file (an example is appended
at the end of this file. Unfortunately the datetime is not included
in that html output, nor is the used outer tilt angle and exposure time.
The datetime may be estimated from the file datetime and the Delta t entry,
but caution if that datetime is not preserved on file transfers!
More than one detector entry could occure but is not common.
A seperate corrector schema, so it can be easily exchanged to other correctors if necessary.
It might be useful to collect all the corrector entries in one table, for example to analyse the performance of the corrector.
The corrector entry of the nexus em definition lacks the confidence information and the
parameter settings for the estimation oft the aberrations.-->
</definition>
63 changes: 63 additions & 0 deletions contributed_definitions/NXaberration_model_nion.nxdl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" extends="NXobject" name="NXaberration_model_nion" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
NION definitions/model for aberrations of electro-magnetic lenses.

See `S. J. Pennycock and P. D. Nellist &lt;https://doi.org/10.1007/978-1-4419-7200-2&gt;`_ (page 44ff, and page 118ff)
for different definitions available and further details. Table 7-2 of Ibid.
publication (page 305ff) documents how to convert from the NION to the
CEOS definitions.
</doc>
<field name="model">
<enumeration>
<item value="nion"/>
</enumeration>
</field>
<group name="c_1_0" type="NXaberration"/>
<group name="c_1_2_a" type="NXaberration"/>
<group name="c_1_2_b" type="NXaberration"/>
<group name="c_2_1_a" type="NXaberration"/>
<group name="c_2_1_b" type="NXaberration"/>
<group name="c_2_3_a" type="NXaberration"/>
<group name="c_2_3_b" type="NXaberration"/>
<group name="c_3_0" type="NXaberration"/>
<group name="c_3_2_a" type="NXaberration"/>
<group name="c_3_2_b" type="NXaberration"/>
<group name="c_3_4_a" type="NXaberration"/>
<group name="c_3_4_b" type="NXaberration"/>
<group name="c_4_1_a" type="NXaberration"/>
<group name="c_4_1_b" type="NXaberration"/>
<group name="c_4_3_a" type="NXaberration"/>
<group name="c_4_3_b" type="NXaberration"/>
<group name="c_4_5_a" type="NXaberration"/>
<group name="c_4_5_b" type="NXaberration"/>
<group name="c_5_0" type="NXaberration"/>
<group name="c_5_2_a" type="NXaberration"/>
<group name="c_5_2_b" type="NXaberration"/>
<group name="c_5_4_a" type="NXaberration"/>
<group name="c_5_4_b" type="NXaberration"/>
<group name="c_5_6_a" type="NXaberration"/>
<group name="c_5_6_b" type="NXaberration"/>
</definition>
Loading

0 comments on commit d73be60

Please sign in to comment.