diff --git a/.cspell/custom-dictionary.txt b/.cspell/custom-dictionary.txt index 78b0b26551..b4b1cf8c01 100644 --- a/.cspell/custom-dictionary.txt +++ b/.cspell/custom-dictionary.txt @@ -1,39 +1,5 @@ -# Custom Dictionary Words - -## NeXus related words -AXISNAME -FIELDNAME -GROUPNAME -NAPI -NIAC -TASKCONFIG -TASKPROCESSED -UDUNITS -UDunits -UNKNOWNTYPE -_NXcanSAS_minimum -docstrings -groupname -nxdl -nxdlformat -somenxdl - -## LateX, XML -bibtex -boldsymbol -linenos -linspace -literalinclude -mathbf -mathcal -mathrm -mtex -stylesheet -textalpha -varphi -mathfrak -# Words related to experimental techniques +# Custom Dictionary Words 360-gons 4DSTEM 532nmlaser @@ -43,28 +9,67 @@ ACOM ARPES ARXPS ASTAR +AXISNAME +Acta +Acta.Crysta +Adrien +Adv. Opt. Techn. +Aimo +Akaike Analzer Angström +Ankerest Ansatz +Appl +Aspnes +Azimuthally +Azzam Backscatter Backscattered +Baluffi +Bashara Beampath Beamsplitter Beamstops +Bergmann +Berkels Bfield Bitdepth +Bollmann +Bonse +Borkowski +Bravais +Breen +Britton +Bruker +Brückner +Bünger CEOS CGAL CHANNELNAME CMOS CNRI +Cameca +Cameca's +Cardona Coeff Coprecipitation +DAFS +DAXIS DCOM +DESY DFM DXRD Defocus Delocalization +Diehl +Dierksen +Dillamore +Dimiduk +Dimkou +Doniach-Sunjic +Dresselhaus +Dunin EASI EBSD EBSP @@ -73,33 +78,66 @@ ECMOS EDAX EDAXH5 EDXS +EIKOS ESCA +EXAFS E_LAPLACE_RITCHARDSON Efield -Efield Einzel Ellipsometry +Erlangen +Ewald FFTW +FIELDNAME FVNQHLCGSHLVEALYLVCGERGFFYTPKA FWHM +Felfer +Fleischmann +Fluerasu +Freysoldt +Friedel +Frigo Fullerenes GEOREF GISAS GIVEQCCTSICSLYQLENYCN GLOBULITIC +GROUPNAME +Gault +Gehrke +Gerd +Gernot +Ghebi +Giannuzzi Gibbsian Gini +Ginkel +Glan +Glan-Focault Globar +Gottstein +Graeff +Granularizing +Groeber +Götz +Güntherodt HAGB HAXPES HDBSCAN HEDM +HERFD HPDB HRTEM HWHM +Haase Halfwidth +Hartmeier Hashvalue +Hawkes +Heusler +Hielscher Histo +Hoshen-Kopelman ICAMS ICAT ICME @@ -107,37 +145,114 @@ ICSD IFES IGSN IGSNs +INDU +IPFY ISFET ISNI ISSN +IUPAC IVAS Idev Inconel -INDU Inplane +Inspico +Institut Iontype Iontypes Isocontour +J. Appl. Cryst. +J. Phys. D: Appl. Phys. +JEOL +Jorio +Jägle +Katnagallu +Keerthi Kfactor +Kikuchi +Kitrick +Kocks +Konijnenberg +Kopelman +Krakauer +Krakauer/Seidman +Kushnir +Kühbach +LAWATAP LIMS +Laidlaw +Leoben +Leuning +Levenberg-Marquardt +Lewiner +Liesenjohann +Lili +Lorensen +Lumma MPES +Malac +Manz +Markus +MatWerk +Mater Charac +McInnes +McStas +Megas +Mersenne Microstructures +Miessen +Mießen +Monajem Monochromatized +Morawiec +NAPI NAPXPS +NCNR +NFDI NFFT +NIAC +NION NNNC +Nadal +Nanobeam +Nanonis +Neighbour +Nellist +Neumann Ngrains Nicol +Niessen +Nion +Nolze +Normarski Nuclides +OINA +OMERO +ORCID +ORNL +Ophus +PANalytical PEEM +PONI PRNG PVDF PYCCAPT Parabolical +Paraview +Patala +Pauly +Pawley +Pedersen +Peltier +Pennycock Piezo Plottable -PONI +Poac +Popko +Poschenrieder Prefactor +Preiß +Primig +Protochips QUBE Qdev Qmean @@ -146,8 +261,18 @@ RDMS RHIT RRAW RRNG +Rainer Raman +Reichmann +Reimer +Remmele +Rielli +Rietveld +Rochon +Rollett +Romaner Ronchigram +Rowenhorst SAS SAXS SENB @@ -158,38 +283,94 @@ SPLEED SPPERS STXM SXES +Saxena +Schmitz's +Schoenflies +Schröder +Sebald +Seblock +Seidman +Seitz +Senarmont +Shermann +Soller +Stender Stereology Stigmator Superlattices Supermirror +TAPHR +TASKCONFIG +TASKPROCESSED TCSPC TERMS TERS +Tait +Tanaka Tdev +Techn +Tera +Teutrie +Thilo Titanates +Tougaard Trac Traj Transfermatrix Triplejunction +Tsai +Turnbull +Typke +UDUNITS +UDunits +UNKNOWNTYPE +Uchic +Uncentrainties Unidata +VIBSO VLEED +VORONOI +VORONOY VOXELIZED +Voigt +Volterra +Voronoi WAXS WSAS WWPDB +Wellenreuther +Weppelman +Windl +Winkelmann +XAXIS XDMF +XEOL XFEL XPCS +XYZpiezo +XYpiezo Xtranslation +Zaver +Zener Zincblende Zirconate +Zollner +_NXcanSAS_minimum aabb abundancies +acquistion +acquistions aequatorial alphabetagamma alphaone alphatwo +analyse +analyser +analysers +asscociated autophase +azim +azimuthally azint backgr backprojection @@ -203,6 +384,8 @@ beampath beamsplitter beamsplitters beamstop +behaviour +bibtex bicrystal biprism bitdepth @@ -213,10 +396,16 @@ bitmasked bitshift blackbox blankers +bluesky +boldsymbol +bookkeep +bookkeeps +bookkept bromoiodide bytesize calib calipher +cameca canSAS cand castaing_henry @@ -229,6 +418,7 @@ cdeformed ceos cgal channeltron +characterizable childs clambed clust @@ -237,6 +427,7 @@ coarsement collectioncolumn combinatorially coorporation +copernicium coprecipitates coprecipitation countrate @@ -244,6 +435,8 @@ cryo cryostate cvinfo cxidb +dafs +darmstadtium datablock dataconverters dataspace @@ -255,6 +448,7 @@ deconvolution decorrelation defocus defocusing +defracted deloc delocalization delocalized @@ -264,10 +458,12 @@ deuterated diagionalized diffractogram diffractograms +dimensioness disclination disorientations dispersoids distancer +docstrings dodecapole downsample downsampled @@ -275,6 +471,7 @@ downsampling dspacing ebeam ebsd +edgecolors einzel electronanalyzer electronvolt @@ -289,16 +486,24 @@ equisized equispaced eucentric eulerian +extremal +fRecoVolume +facecolors fastaxisname feedthrough +figsize flatfield +flerovium fluence focallength folksonomies +folowing +fontsize forw fractography frustrum fscan +gatan_imaging gault geiser globar @@ -307,10 +512,13 @@ golay granularization granularize granularized +groupname hagb halfwidth hashvalues hdbscan +hehe +heteronuclear heterophase hexahedrally hexapole @@ -323,11 +531,16 @@ hydroxonium hyperslab hyperspectral ibeam +icatproject.org +ifes_apt_tc_data_modeling +inbetween +inchi infty inplane interconvert interp intersector +invizo ionlabels iontype iontypes @@ -339,12 +552,24 @@ isovalue ityp ivec ivecmax +kanapy kbeta +kuehbach lagb +laplace_ritchardson laserline +lepoac linearities +linenos +linspace +literalinclude +livermorium lockin magn +mathbf +mathcal +mathfrak +mathrm max_sothree_bandwidth max_stwo_bandwidth measurand @@ -354,15 +579,20 @@ microstructures microtip microtips misorientations +misorienting +mkuehbach mmcif monochromating monochromator monochromators monoclinic +moscovium mosek +mplot mqmax mqmin mrad +mtex multicomponent multidetector multipole @@ -371,10 +601,19 @@ multiscale n-gons n_speci nabla +nadal +nanochem nanoparticle +nanoprobe ncal ndim +neighbour +nihonium +nion nonlinearities +normalisation +normalise +normalised npts nshapepar nstd @@ -393,22 +632,34 @@ numvalue numx numy nvalue +nxdl +nxdlformat objs octupole +oganesson oned openloop +optimisation orcid orientable +orientation_rodrigues outcoming overvoltage +oxidising +parametrizations +parametrizing +paraprobe +paraprobe-parmsetup-nanochem pdbx phaseplate photodiode piezo piezoelectrics piezos +piola plottable pmatrix +polarisation polariton polarizers polepiece @@ -423,26 +674,39 @@ polytopes polyvinylidene poni potentiostat +practise +presense +processability +propto proxigram pseudosymmetry ptychography +pynxtools +pyxem raman +rangeable raylight rdeform readback recalibrations +recreatable rediscretization rediscretized rediscretizing reflectometer reflectron +reflexafs regrid regridding +reproducability retardance retrieveable reusage ripleyk +roentgenium rois +rollett_holm +rotation_rodrigues sasdata sasdetector sasentry @@ -457,17 +721,23 @@ saveframe scanbox scanfield scanpoints +schottky +sebald_gottstein +seblock semiaxes setpoint setpoints sextett shapepar +shermann shipswing shring slowaxisname soller_angle +somenxdl sonoluminescence spatstat +speciality spectr. spectralfilter sphx @@ -475,24 +745,34 @@ spwidth stepsize stigmators stxm +stylesheet subgrain subgrains subprocessing +summarised superconcepts supercontinuum supermirror supermirrors +synchronised tautomeric +tennessine tensorial tessellator tetrahedralization tetrahedralize +textalpha thermalized thermomechanical +timeslot +timestamping +toolkits +tracability traj transferfunction transfermatrices transfermatrix +transimpedance triglycine turbomolecular twotheta @@ -500,9 +780,17 @@ twotime underconstrained underload undulator +unlooped +unranged unvalidated +utilised varepsilon +varphi +verts vibropolishing +visualisation +von Neumann +voronoi voxelated voxelization watertightness @@ -510,305 +798,14 @@ wavelen wavelenghts wavenumber waveplate +weared wilhelmy xdim xdmf -ydim -zener -zoneplate -XYZpiezo -XYpiezo -transimpedance - -# Names used for publications, places, companies, etc. -Acta -Acta.Crysta -Adrien -Adv. Opt. Techn. -Aimo -Akaike -Ankerest -Appl -Aspnes -Azzam -Baluffi -Bashara -Bergmann -Berkels -Bollmann -Bonse -Borkowski -Bravais -Breen -Britton -Bruker -Brückner -Bünger -Cameca -Cameca's -Cardona -DESY -Diehl -Dierksen -Dillamore -Dimiduk -Dimkou -Doniach-Sunjic -Dresselhaus -Dunin -EIKOS -Erlangen -Ewald -Felfer -Fleischmann -Fluerasu -Freysoldt -Friedel -Frigo -Gault -Gehrke -Gerd -Gernot -Gernot -Ghebi -Giannuzzi -Ginkel -Glan -Glan-Focault -Gottstein -Graeff -Groeber -Götz -Güntherodt -Haase -Hartmeier -Hawkes -Heusler -Hielscher -Hoshen-Kopelman -IUPAC -Inspico -J. Appl. Cryst. -J. Phys. D: Appl. Phys. -JEOL -Jorio -Jägle -Katnagallu -Keerthi -Kikuchi -Kitrick -Kocks -Konijnenberg -Kopelman -Krakauer -Krakauer/Seidman -Kushnir -Kühbach -LAWATAP -Laidlaw -Leoben -Leuning -Levenberg-Marquardt -Lewiner -Liesenjohann -Lili -Lorensen -Lumma -Malac -Manz -Markus -MatWerk -Mater Charac -McInnes -McStas -Megas -Mersenne -Miessen -Mießen -Monajem -Morawiec -Nadal -NCNR -NFDI -NION -Nanonis -Nellist -Neumann -Niessen -Nion -Nolze -Normarski -OINA -ORCID -ORNL -Ophus -PANalytical -Patala -Pauly -Pawley -Pedersen -Peltier -Pennycock -Poac -Popko -Poschenrieder -Preiß -Primig -Protochips -Rainer -Reichmann -Reimer -Remmele -Rielli -Rietveld -Rochon -Rollett -Romaner -Rowenhorst -Saxena -Schmitz's -Schoenflies -Schröder -Sebald -Seblock -Seidman -Seitz -Senarmont -Shermann -Soller -Stender -TAPHR -Tait -Tanaka -Techn -Tera -Teutrie -Thilo -Tougaard -Tsai -Turnbull -Typke -Uchic -VIBSO -VORONOI -VORONOY -Voigt -Volterra -Voronoi -Wellenreuther -Weppelman -Windl -Winkelmann -Zaver -Zener -Zollner -bluesky -cameca -fRecoVolume -gatan_imaging -icatproject.org -inchi -invizo -kanapy -kuehbach -laplace_ritchardson -lepoac -mkuehbach -nadal -nion -orientation_rodrigues -piola -ripleyk -rollett_holm -rotation_rodrigues -schottky -sebald_gottstein -seblock -shermann -von Neumann -voronoi - -# Software -Nanobeam -OMERO -Paraview -ifes_apt_tc_data_modeling -nanochem -nanoprobe -paraprobe -paraprobe-parmsetup-nanochem -pynxtools -pyxem - -# Data plotting -azim -DAXIS -edgecolors -facecolors -figsize -fontsize -mplot -toolkits -verts -XAXIS +xeol xlim +ydim ylim +zener zlim - -# other languages -Institut - -# en-UK which requires to many changes -Neighbour -analyse -analyser -analysers -behaviour -defracted -neighbour -normalisation -normalise -normalised -optimisation -oxidising -polarisation -practise -presense -summarised -synchronised -utilised -visualisation - -# misc -Azimuthally -Granularizing -azimuthally -bookkeep -bookkeeps -bookkept -characterizable -extremal -hehe -inbetween -misorienting -parametrizations -parametrizing -processability -rangeable -recreatable -speciality -timeslot -timestamping -tracability -unlooped -unranged -weared - -# to fix in future releases (all in NXstress) -acquistion -acquistions -asscociated -dimensioness -folowing -reproducability -Uncentrainties +zoneplate diff --git a/contributed_definitions/NXedge.nxdl.xml b/contributed_definitions/NXedge.nxdl.xml new file mode 100644 index 0000000000..37a64e2a4b --- /dev/null +++ b/contributed_definitions/NXedge.nxdl.xml @@ -0,0 +1,58 @@ + + + + + Absorption edge + + + Name of the edge + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributed_definitions/NXelement.nxdl.xml b/contributed_definitions/NXelement.nxdl.xml new file mode 100644 index 0000000000..714c788343 --- /dev/null +++ b/contributed_definitions/NXelement.nxdl.xml @@ -0,0 +1,171 @@ + + + + + Definition of a chemical element. + + + For each symbol, the atomic number, common English name, and standard atomic weight are also given. + + + Z=1, name="hydrogen", standard_atomic_weight=1.0078 + Z=2, name="helium", standard_atomic_weight=4.0026 + Z=3, name="lithium", standard_atomic_weight=6.94 + Z=4, name="beryllium", standard_atomic_weight=9.0122 + Z=5, name="boron", standard_atomic_weight=10.81 + Z=6, name="carbon", standard_atomic_weight=12.011 + Z=7, name="nitrogen", standard_atomic_weight=14.007 + Z=8, name="oxygen", standard_atomic_weight=15.999 + Z=9, name="fluorine", standard_atomic_weight=18.9984 + Z=10, name="neon", standard_atomic_weight=20.1797 + Z=11, name="sodium", standard_atomic_weight=22.9898 + Z=12, name="magnesium", standard_atomic_weight=24.305 + Z=13, name="aluminum", standard_atomic_weight=26.9815 + Z=14, name="silicon", standard_atomic_weight=28.085 + Z=15, name="phosphorus", standard_atomic_weight=30.9738 + Z=16, name="sulfur", standard_atomic_weight=32.06 + Z=17, name="chlorine", standard_atomic_weight=35.453 + Z=18, name="argon", standard_atomic_weight=39.948 + Z=19, name="potassium", standard_atomic_weight=39.0983 + Z=20, name="calcium", standard_atomic_weight=40.078 + Z=21, name="scandium", standard_atomic_weight=44.9559 + Z=22, name="titanium", standard_atomic_weight=47.867 + Z=23, name="vanadium", standard_atomic_weight=50.9415 + Z=24, name="chromium", standard_atomic_weight=51.996 + Z=25, name="manganese", standard_atomic_weight=54.938 + Z=26, name="iron", standard_atomic_weight=55.845 + Z=27, name="cobalt", standard_atomic_weight=58.9332 + Z=28, name="nickel", standard_atomic_weight=58.6934 + Z=29, name="copper", standard_atomic_weight=63.546 + Z=30, name="zinc", standard_atomic_weight=65.38 + Z=31, name="gallium", standard_atomic_weight=69.72 + Z=32, name="germanium", standard_atomic_weight=72.63 + Z=33, name="arsenic", standard_atomic_weight=74.9216 + Z=34, name="selenium", standard_atomic_weight=78.971 + Z=35, name="bromine", standard_atomic_weight=79.904 + Z=36, name="krypton", standard_atomic_weight=83.798 + Z=37, name="rubidium", standard_atomic_weight=85.4678 + Z=38, name="strontium", standard_atomic_weight=87.62 + Z=39, name="yttrium", standard_atomic_weight=88.9058 + Z=40, name="zirconium", standard_atomic_weight=91.224 + Z=41, name="niobium", standard_atomic_weight=92.9064 + Z=42, name="molybdenum", standard_atomic_weight=95.95 + Z=43, name="technetium", standard_atomic_weight=97.907 + Z=44, name="ruthenium", standard_atomic_weight=101.07 + Z=45, name="rhodium", standard_atomic_weight=102.906 + Z=46, name="palladium", standard_atomic_weight=106.42 + Z=47, name="silver", standard_atomic_weight=107.868 + Z=48, name="cadmium", standard_atomic_weight=112.414 + Z=49, name="indium", standard_atomic_weight=114.818 + Z=50, name="tin", standard_atomic_weight=118.71 + Z=51, name="antimony", standard_atomic_weight=121.76 + Z=52, name="tellurium", standard_atomic_weight=127.6 + Z=53, name="iodine", standard_atomic_weight=126.905 + Z=54, name="xenon", standard_atomic_weight=131.293 + Z=55, name="cesium", standard_atomic_weight=132.905 + Z=56, name="barium", standard_atomic_weight=137.327 + Z=57, name="lanthanum", standard_atomic_weight=138.905 + Z=58, name="cerium", standard_atomic_weight=140.116 + Z=59, name="praseodymium", standard_atomic_weight=140.908 + Z=60, name="neodymium", standard_atomic_weight=144.242 + Z=61, name="promethium", standard_atomic_weight=145.0 + Z=62, name="samarium", standard_atomic_weight=150.36 + Z=63, name="europium", standard_atomic_weight=151.96 + Z=64, name="gadolinium", standard_atomic_weight=157.25 + Z=65, name="terbium", standard_atomic_weight=158.925 + Z=66, name="dysprosium", standard_atomic_weight=162.5 + Z=67, name="holmium", standard_atomic_weight=164.93 + Z=68, name="erbium", standard_atomic_weight=167.259 + Z=69, name="thulium", standard_atomic_weight=168.934 + Z=70, name="ytterbium", standard_atomic_weight=173.045 + Z=71, name="lutetium", standard_atomic_weight=174.967 + Z=72, name="hafnium", standard_atomic_weight=178.49 + Z=73, name="tantalum", standard_atomic_weight=180.948 + Z=74, name="tungsten", standard_atomic_weight=183.84 + Z=75, name="rhenium", standard_atomic_weight=186.207 + Z=76, name="osmium", standard_atomic_weight=190.23 + Z=77, name="iridium", standard_atomic_weight=192.217 + Z=78, name="platinum", standard_atomic_weight=195.084 + Z=79, name="gold", standard_atomic_weight=196.967 + Z=80, name="mercury", standard_atomic_weight=200.592 + Z=81, name="thallium", standard_atomic_weight=204.383 + Z=82, name="lead", standard_atomic_weight=207.2 + Z=83, name="bismuth", standard_atomic_weight=208.98 + Z=84, name="polonium", standard_atomic_weight=209.0 + Z=85, name="astatine", standard_atomic_weight=210.0 + Z=86, name="radon", standard_atomic_weight=222.0 + Z=87, name="francium", standard_atomic_weight=223.0 + Z=88, name="radium", standard_atomic_weight=226.0 + Z=89, name="actinium", standard_atomic_weight=227.0 + Z=90, name="thorium", standard_atomic_weight=232.038 + Z=91, name="protactinium", standard_atomic_weight=231.036 + Z=92, name="uranium", standard_atomic_weight=238.029 + Z=93, name="neptunium", standard_atomic_weight=237.048 + Z=94, name="plutonium", standard_atomic_weight=239.052 + Z=95, name="americium", standard_atomic_weight=243.0 + Z=96, name="curium", standard_atomic_weight=247.0 + Z=97, name="berkelium", standard_atomic_weight=247.0 + Z=98, name="californium", standard_atomic_weight=251.0 + Z=99, name="einsteinium", standard_atomic_weight=252 + Z=100, name="fermium", standard_atomic_weight=257 + Z=101, name="mendelevium", standard_atomic_weight=258 + Z=102, name="nobelium", standard_atomic_weight=259 + Z=103, name="lawrencium", standard_atomic_weight=266 + Z=104, name="rutherfordium", standard_atomic_weight=267 + Z=105, name="dubnium", standard_atomic_weight=268 + Z=106, name="seaborgium", standard_atomic_weight=269 + Z=107, name="bohrium", standard_atomic_weight=270 + Z=108, name="hassium", standard_atomic_weight=269 + Z=109, name="meitnerium", standard_atomic_weight=278 + Z=110, name="darmstadtium", standard_atomic_weight=281 + Z=111, name="roentgenium", standard_atomic_weight=282 + Z=112, name="copernicium", standard_atomic_weight=285 + Z=113, name="nihonium", standard_atomic_weight=286 + Z=114, name="flerovium", standard_atomic_weight=289 + Z=115, name="moscovium", standard_atomic_weight=290 + Z=116, name="livermorium", standard_atomic_weight=293 + Z=117, name="tennessine", standard_atomic_weight=294 + Z=118, name="oganesson", standard_atomic_weight=294 + + + + The charge number *Z* of the atomic nucleus. + + + + *Relative atomic mass* of the element in *amu*. It can be but is not restricted to the + *standard atomic weight* (using the natural abundance of isotopes). + + + + The charge of the atom after ionic approximation of its heteronuclear bonds. + + \ No newline at end of file diff --git a/contributed_definitions/NXemission_lines.nxdl.xml b/contributed_definitions/NXemission_lines.nxdl.xml new file mode 100644 index 0000000000..081e3a5aad --- /dev/null +++ b/contributed_definitions/NXemission_lines.nxdl.xml @@ -0,0 +1,46 @@ + + + + + Emission lines + + + The emission lines are written using the IUPAC notation, i.e. an + initial and final edge separated by a hyphen. + + TODO: Extend the enumeration to include all possible emission lines. + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributed_definitions/NXxas_mode.nxdl.xml b/contributed_definitions/NXxas_mode.nxdl.xml new file mode 100644 index 0000000000..abd9815bd3 --- /dev/null +++ b/contributed_definitions/NXxas_mode.nxdl.xml @@ -0,0 +1,141 @@ + + + + + XAS measurement mode + + + X-ray absorption spectroscopy (XAS) is a technique that measures the absorption coefficient :math:`\mu(E)` of a material as a function of energy. + + The name of the XAS mode indicates the type of process being monitored to obtain the spectrum. Below is a description of the available modes, with emphasis on the expected values for the `intensity` and `monitor` fields. + + 1. Transmission + + The absorption coefficient is obtained by measuring the intensity of the incident :math:`I_0` and transmitted beam :math:`I`. + + .. math:: + \mu(E) = -\ln(I/I_0) + + 2. Total fluorescence yield (TFY) + + The absorption coefficient is obtained by measuring the intensity of the emitted fluorescence :math:`I_f` and the incident beam :math:`I_0`. + + .. math:: + \mu(E) \propto I_f/I_0 + + 3. Partial fluorescence yield (PFY) + + 4. Inverse partial fluorescence yield (IPFY) + + 5. High-energy resolution fluorescence detection (HERFD) + + 6. Total electron yield (TEY) + + 7. Partial electron yield (PEY) + + 8. Electron energy loss (EELS) + + 9. X-ray Raman Scattering (XRS) + + 10. Diffraction Anomalous Fine Structure (DAFS) + + 11. X-ray Excited Optical Luminescence (XEOL) + + 12. Grazing Angle Reflection Extended X-ray Absorption Fine Structure (ReflEXAFS) + + 13. Other + + + + + Transmission + + + + + Total Fluorescence Yield + + + + + Partial Fluorescence Yield + + + + + Inverse Partial Fluorescence Yield + + + + + High Energy Resolution Fluorescence Detected + + + + + Total Electron Yield + + + + + Partial Electron Yield + + + + + Electron Energy Loss + + + + + X-ray Raman Scattering + + + + + Diffraction Anomalous Fine Structure + + + + + X-ray Excited Optical Luminescence + + + + + Grazing Angle Reflection Extended X-ray Absorption Fine Structure + + + + + Other + + + + + + + + \ No newline at end of file diff --git a/contributed_definitions/NXxas_new.nxdl.xml b/contributed_definitions/NXxas_new.nxdl.xml new file mode 100644 index 0000000000..f2f4e13bec --- /dev/null +++ b/contributed_definitions/NXxas_new.nxdl.xml @@ -0,0 +1,162 @@ + + + + + + + The symbol(s) listed here will be used below to coordinate datasets with the same shape. + + + Number of energy data points + + + Number of electronic transitions + + + + This is an application definition for X-ray absorption spectroscopy. + + + + Official NeXus NXDL schema to which this file conforms. TODO: replace NXxas + + + + + + + + + Excited element + + + Absorption edge + + + Specify if the data comes from a calculation + + + TODO + + + + + + TODO + + + + + + TODO + + + + + + + Descriptive name of the sample + + + + + Description on how :ref:`energy </NXxas_new/ENTRY/energy-field>` + and :ref:`intensity </NXxas_new/ENTRY/intensity-field>` were obtained + from the raw data. + + + + + + + + + + + + + + + + + + + + + spacing between crystal planes of the reflection + + + Type or material of monochromating substance (Si, Ge, Multilayer). + + + Miller indices (hkl) values of nominal reflection + + + + + + + + + + + + + + + + + + + + + + + XAS intensity versus energy plot + + + + + + Table like data structure common in the XAS domain. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXedge.yaml b/contributed_definitions/nyaml/NXedge.yaml new file mode 100644 index 0000000000..1fdef6f1b6 --- /dev/null +++ b/contributed_definitions/nyaml/NXedge.yaml @@ -0,0 +1,71 @@ +category: base +doc: | + Absorption edge +type: group +NXedge(NXobject): + name(NX_CHAR): + exists: ['min', '1', 'max', '1'] + doc: | + Name of the edge + enumeration: [K, L1, L2, L3, M1, M2, M3, M4, M5, N1, N2, N3, N4, N5, N6, N7, O1, O2, O3, P1, P2, P3] + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# 8ad6f4ecd50bb5d05b0448e9ca0b6dc86942bd125a2893458a2d71fb58323c91 +# +# +# +# +# Absorption edge +# +# +# Name of the edge +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXelement.yaml b/contributed_definitions/nyaml/NXelement.yaml new file mode 100644 index 0000000000..9a2ea705f0 --- /dev/null +++ b/contributed_definitions/nyaml/NXelement.yaml @@ -0,0 +1,552 @@ +category: base +doc: | + Definition of a chemical element. +type: group +NXelement(NXobject): + symbol(NX_CHAR): + exists: ['min', '1', 'max', '1'] + doc: | + For each symbol, the atomic number, common English name, and standard atomic weight are also given. + enumeration: + H: + doc: | + Z=1, name="hydrogen", standard_atomic_weight=1.0078 + He: + doc: | + Z=2, name="helium", standard_atomic_weight=4.0026 + Li: + doc: | + Z=3, name="lithium", standard_atomic_weight=6.94 + Be: + doc: | + Z=4, name="beryllium", standard_atomic_weight=9.0122 + B: + doc: | + Z=5, name="boron", standard_atomic_weight=10.81 + C: + doc: | + Z=6, name="carbon", standard_atomic_weight=12.011 + N: + doc: | + Z=7, name="nitrogen", standard_atomic_weight=14.007 + O: + doc: | + Z=8, name="oxygen", standard_atomic_weight=15.999 + F: + doc: | + Z=9, name="fluorine", standard_atomic_weight=18.9984 + Ne: + doc: | + Z=10, name="neon", standard_atomic_weight=20.1797 + Na: + doc: | + Z=11, name="sodium", standard_atomic_weight=22.9898 + Mg: + doc: | + Z=12, name="magnesium", standard_atomic_weight=24.305 + Al: + doc: | + Z=13, name="aluminum", standard_atomic_weight=26.9815 + Si: + doc: | + Z=14, name="silicon", standard_atomic_weight=28.085 + P: + doc: | + Z=15, name="phosphorus", standard_atomic_weight=30.9738 + S: + doc: | + Z=16, name="sulfur", standard_atomic_weight=32.06 + Cl: + doc: | + Z=17, name="chlorine", standard_atomic_weight=35.453 + Ar: + doc: | + Z=18, name="argon", standard_atomic_weight=39.948 + K: + doc: | + Z=19, name="potassium", standard_atomic_weight=39.0983 + Ca: + doc: | + Z=20, name="calcium", standard_atomic_weight=40.078 + Sc: + doc: | + Z=21, name="scandium", standard_atomic_weight=44.9559 + Ti: + doc: | + Z=22, name="titanium", standard_atomic_weight=47.867 + V: + doc: | + Z=23, name="vanadium", standard_atomic_weight=50.9415 + Cr: + doc: | + Z=24, name="chromium", standard_atomic_weight=51.996 + Mn: + doc: | + Z=25, name="manganese", standard_atomic_weight=54.938 + Fe: + doc: | + Z=26, name="iron", standard_atomic_weight=55.845 + Co: + doc: | + Z=27, name="cobalt", standard_atomic_weight=58.9332 + Ni: + doc: | + Z=28, name="nickel", standard_atomic_weight=58.6934 + Cu: + doc: | + Z=29, name="copper", standard_atomic_weight=63.546 + Zn: + doc: | + Z=30, name="zinc", standard_atomic_weight=65.38 + Ga: + doc: | + Z=31, name="gallium", standard_atomic_weight=69.72 + Ge: + doc: | + Z=32, name="germanium", standard_atomic_weight=72.63 + As: + doc: | + Z=33, name="arsenic", standard_atomic_weight=74.9216 + Se: + doc: | + Z=34, name="selenium", standard_atomic_weight=78.971 + Br: + doc: | + Z=35, name="bromine", standard_atomic_weight=79.904 + Kr: + doc: | + Z=36, name="krypton", standard_atomic_weight=83.798 + Rb: + doc: | + Z=37, name="rubidium", standard_atomic_weight=85.4678 + Sr: + doc: | + Z=38, name="strontium", standard_atomic_weight=87.62 + Y: + doc: | + Z=39, name="yttrium", standard_atomic_weight=88.9058 + Zr: + doc: | + Z=40, name="zirconium", standard_atomic_weight=91.224 + Nb: + doc: | + Z=41, name="niobium", standard_atomic_weight=92.9064 + Mo: + doc: | + Z=42, name="molybdenum", standard_atomic_weight=95.95 + Tc: + doc: | + Z=43, name="technetium", standard_atomic_weight=97.907 + Ru: + doc: | + Z=44, name="ruthenium", standard_atomic_weight=101.07 + Rh: + doc: | + Z=45, name="rhodium", standard_atomic_weight=102.906 + Pd: + doc: | + Z=46, name="palladium", standard_atomic_weight=106.42 + Ag: + doc: | + Z=47, name="silver", standard_atomic_weight=107.868 + Cd: + doc: | + Z=48, name="cadmium", standard_atomic_weight=112.414 + In: + doc: | + Z=49, name="indium", standard_atomic_weight=114.818 + Sn: + doc: | + Z=50, name="tin", standard_atomic_weight=118.71 + Sb: + doc: | + Z=51, name="antimony", standard_atomic_weight=121.76 + Te: + doc: | + Z=52, name="tellurium", standard_atomic_weight=127.6 + I: + doc: | + Z=53, name="iodine", standard_atomic_weight=126.905 + Xe: + doc: | + Z=54, name="xenon", standard_atomic_weight=131.293 + Cs: + doc: | + Z=55, name="cesium", standard_atomic_weight=132.905 + Ba: + doc: | + Z=56, name="barium", standard_atomic_weight=137.327 + La: + doc: | + Z=57, name="lanthanum", standard_atomic_weight=138.905 + Ce: + doc: | + Z=58, name="cerium", standard_atomic_weight=140.116 + Pr: + doc: | + Z=59, name="praseodymium", standard_atomic_weight=140.908 + Nd: + doc: | + Z=60, name="neodymium", standard_atomic_weight=144.242 + Pm: + doc: | + Z=61, name="promethium", standard_atomic_weight=145.0 + Sm: + doc: | + Z=62, name="samarium", standard_atomic_weight=150.36 + Eu: + doc: | + Z=63, name="europium", standard_atomic_weight=151.96 + Gd: + doc: | + Z=64, name="gadolinium", standard_atomic_weight=157.25 + Tb: + doc: | + Z=65, name="terbium", standard_atomic_weight=158.925 + Dy: + doc: | + Z=66, name="dysprosium", standard_atomic_weight=162.5 + Ho: + doc: | + Z=67, name="holmium", standard_atomic_weight=164.93 + Er: + doc: | + Z=68, name="erbium", standard_atomic_weight=167.259 + Tm: + doc: | + Z=69, name="thulium", standard_atomic_weight=168.934 + Yb: + doc: | + Z=70, name="ytterbium", standard_atomic_weight=173.045 + Lu: + doc: | + Z=71, name="lutetium", standard_atomic_weight=174.967 + Hf: + doc: | + Z=72, name="hafnium", standard_atomic_weight=178.49 + Ta: + doc: | + Z=73, name="tantalum", standard_atomic_weight=180.948 + W: + doc: | + Z=74, name="tungsten", standard_atomic_weight=183.84 + Re: + doc: | + Z=75, name="rhenium", standard_atomic_weight=186.207 + Os: + doc: | + Z=76, name="osmium", standard_atomic_weight=190.23 + Ir: + doc: | + Z=77, name="iridium", standard_atomic_weight=192.217 + Pt: + doc: | + Z=78, name="platinum", standard_atomic_weight=195.084 + Au: + doc: | + Z=79, name="gold", standard_atomic_weight=196.967 + Hg: + doc: | + Z=80, name="mercury", standard_atomic_weight=200.592 + Tl: + doc: | + Z=81, name="thallium", standard_atomic_weight=204.383 + Pb: + doc: | + Z=82, name="lead", standard_atomic_weight=207.2 + Bi: + doc: | + Z=83, name="bismuth", standard_atomic_weight=208.98 + Po: + doc: | + Z=84, name="polonium", standard_atomic_weight=209.0 + At: + doc: | + Z=85, name="astatine", standard_atomic_weight=210.0 + Rn: + doc: | + Z=86, name="radon", standard_atomic_weight=222.0 + Fr: + doc: | + Z=87, name="francium", standard_atomic_weight=223.0 + Ra: + doc: | + Z=88, name="radium", standard_atomic_weight=226.0 + Ac: + doc: | + Z=89, name="actinium", standard_atomic_weight=227.0 + Th: + doc: | + Z=90, name="thorium", standard_atomic_weight=232.038 + Pa: + doc: | + Z=91, name="protactinium", standard_atomic_weight=231.036 + U: + doc: | + Z=92, name="uranium", standard_atomic_weight=238.029 + Np: + doc: | + Z=93, name="neptunium", standard_atomic_weight=237.048 + Pu: + doc: | + Z=94, name="plutonium", standard_atomic_weight=239.052 + Am: + doc: | + Z=95, name="americium", standard_atomic_weight=243.0 + Cm: + doc: | + Z=96, name="curium", standard_atomic_weight=247.0 + Bk: + doc: | + Z=97, name="berkelium", standard_atomic_weight=247.0 + Cf: + doc: | + Z=98, name="californium", standard_atomic_weight=251.0 + Es: + doc: | + Z=99, name="einsteinium", standard_atomic_weight=252 + Fm: + doc: | + Z=100, name="fermium", standard_atomic_weight=257 + Md: + doc: | + Z=101, name="mendelevium", standard_atomic_weight=258 + No: + doc: | + Z=102, name="nobelium", standard_atomic_weight=259 + Lr: + doc: | + Z=103, name="lawrencium", standard_atomic_weight=266 + Rf: + doc: | + Z=104, name="rutherfordium", standard_atomic_weight=267 + Db: + doc: | + Z=105, name="dubnium", standard_atomic_weight=268 + Sg: + doc: | + Z=106, name="seaborgium", standard_atomic_weight=269 + Bh: + doc: | + Z=107, name="bohrium", standard_atomic_weight=270 + Hs: + doc: | + Z=108, name="hassium", standard_atomic_weight=269 + Mt: + doc: | + Z=109, name="meitnerium", standard_atomic_weight=278 + Ds: + doc: | + Z=110, name="darmstadtium", standard_atomic_weight=281 + Rg: + doc: | + Z=111, name="roentgenium", standard_atomic_weight=282 + Cn: + doc: | + Z=112, name="copernicium", standard_atomic_weight=285 + Nh: + doc: | + Z=113, name="nihonium", standard_atomic_weight=286 + Fl: + doc: | + Z=114, name="flerovium", standard_atomic_weight=289 + Mc: + doc: | + Z=115, name="moscovium", standard_atomic_weight=290 + Lv: + doc: | + Z=116, name="livermorium", standard_atomic_weight=293 + Ts: + doc: | + Z=117, name="tennessine", standard_atomic_weight=294 + Og: + doc: | + Z=118, name="oganesson", standard_atomic_weight=294 + atomic_number(NX_INT): + exists: optional + doc: | + The charge number *Z* of the atomic nucleus. + atomic_weight(NX_FLOAT): + unit: NX_MASS + exists: optional + doc: | + *Relative atomic mass* of the element in *amu*. It can be but is not restricted to the + *standard atomic weight* (using the natural abundance of isotopes). + oxidation_state(NX_CHAR): + exists: optional + doc: | + The charge of the atom after ionic approximation of its heteronuclear bonds. + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# c53b28664f543f276c59769021ea5bdddae8c6a673120ce7298ad11f2f512f13 +# +# +# +# +# Definition of a chemical element. +# +# +# For each symbol, the atomic number, common English name, and standard atomic weight are also given. +# +# +# Z=1, name="hydrogen", standard_atomic_weight=1.0078 +# Z=2, name="helium", standard_atomic_weight=4.0026 +# Z=3, name="lithium", standard_atomic_weight=6.94 +# Z=4, name="beryllium", standard_atomic_weight=9.0122 +# Z=5, name="boron", standard_atomic_weight=10.81 +# Z=6, name="carbon", standard_atomic_weight=12.011 +# Z=7, name="nitrogen", standard_atomic_weight=14.007 +# Z=8, name="oxygen", standard_atomic_weight=15.999 +# Z=9, name="fluorine", standard_atomic_weight=18.9984 +# Z=10, name="neon", standard_atomic_weight=20.1797 +# Z=11, name="sodium", standard_atomic_weight=22.9898 +# Z=12, name="magnesium", standard_atomic_weight=24.305 +# Z=13, name="aluminum", standard_atomic_weight=26.9815 +# Z=14, name="silicon", standard_atomic_weight=28.085 +# Z=15, name="phosphorus", standard_atomic_weight=30.9738 +# Z=16, name="sulfur", standard_atomic_weight=32.06 +# Z=17, name="chlorine", standard_atomic_weight=35.453 +# Z=18, name="argon", standard_atomic_weight=39.948 +# Z=19, name="potassium", standard_atomic_weight=39.0983 +# Z=20, name="calcium", standard_atomic_weight=40.078 +# Z=21, name="scandium", standard_atomic_weight=44.9559 +# Z=22, name="titanium", standard_atomic_weight=47.867 +# Z=23, name="vanadium", standard_atomic_weight=50.9415 +# Z=24, name="chromium", standard_atomic_weight=51.996 +# Z=25, name="manganese", standard_atomic_weight=54.938 +# Z=26, name="iron", standard_atomic_weight=55.845 +# Z=27, name="cobalt", standard_atomic_weight=58.9332 +# Z=28, name="nickel", standard_atomic_weight=58.6934 +# Z=29, name="copper", standard_atomic_weight=63.546 +# Z=30, name="zinc", standard_atomic_weight=65.38 +# Z=31, name="gallium", standard_atomic_weight=69.72 +# Z=32, name="germanium", standard_atomic_weight=72.63 +# Z=33, name="arsenic", standard_atomic_weight=74.9216 +# Z=34, name="selenium", standard_atomic_weight=78.971 +# Z=35, name="bromine", standard_atomic_weight=79.904 +# Z=36, name="krypton", standard_atomic_weight=83.798 +# Z=37, name="rubidium", standard_atomic_weight=85.4678 +# Z=38, name="strontium", standard_atomic_weight=87.62 +# Z=39, name="yttrium", standard_atomic_weight=88.9058 +# Z=40, name="zirconium", standard_atomic_weight=91.224 +# Z=41, name="niobium", standard_atomic_weight=92.9064 +# Z=42, name="molybdenum", standard_atomic_weight=95.95 +# Z=43, name="technetium", standard_atomic_weight=97.907 +# Z=44, name="ruthenium", standard_atomic_weight=101.07 +# Z=45, name="rhodium", standard_atomic_weight=102.906 +# Z=46, name="palladium", standard_atomic_weight=106.42 +# Z=47, name="silver", standard_atomic_weight=107.868 +# Z=48, name="cadmium", standard_atomic_weight=112.414 +# Z=49, name="indium", standard_atomic_weight=114.818 +# Z=50, name="tin", standard_atomic_weight=118.71 +# Z=51, name="antimony", standard_atomic_weight=121.76 +# Z=52, name="tellurium", standard_atomic_weight=127.6 +# Z=53, name="iodine", standard_atomic_weight=126.905 +# Z=54, name="xenon", standard_atomic_weight=131.293 +# Z=55, name="cesium", standard_atomic_weight=132.905 +# Z=56, name="barium", standard_atomic_weight=137.327 +# Z=57, name="lanthanum", standard_atomic_weight=138.905 +# Z=58, name="cerium", standard_atomic_weight=140.116 +# Z=59, name="praseodymium", standard_atomic_weight=140.908 +# Z=60, name="neodymium", standard_atomic_weight=144.242 +# Z=61, name="promethium", standard_atomic_weight=145.0 +# Z=62, name="samarium", standard_atomic_weight=150.36 +# Z=63, name="europium", standard_atomic_weight=151.96 +# Z=64, name="gadolinium", standard_atomic_weight=157.25 +# Z=65, name="terbium", standard_atomic_weight=158.925 +# Z=66, name="dysprosium", standard_atomic_weight=162.5 +# Z=67, name="holmium", standard_atomic_weight=164.93 +# Z=68, name="erbium", standard_atomic_weight=167.259 +# Z=69, name="thulium", standard_atomic_weight=168.934 +# Z=70, name="ytterbium", standard_atomic_weight=173.045 +# Z=71, name="lutetium", standard_atomic_weight=174.967 +# Z=72, name="hafnium", standard_atomic_weight=178.49 +# Z=73, name="tantalum", standard_atomic_weight=180.948 +# Z=74, name="tungsten", standard_atomic_weight=183.84 +# Z=75, name="rhenium", standard_atomic_weight=186.207 +# Z=76, name="osmium", standard_atomic_weight=190.23 +# Z=77, name="iridium", standard_atomic_weight=192.217 +# Z=78, name="platinum", standard_atomic_weight=195.084 +# Z=79, name="gold", standard_atomic_weight=196.967 +# Z=80, name="mercury", standard_atomic_weight=200.592 +# Z=81, name="thallium", standard_atomic_weight=204.383 +# Z=82, name="lead", standard_atomic_weight=207.2 +# Z=83, name="bismuth", standard_atomic_weight=208.98 +# Z=84, name="polonium", standard_atomic_weight=209.0 +# Z=85, name="astatine", standard_atomic_weight=210.0 +# Z=86, name="radon", standard_atomic_weight=222.0 +# Z=87, name="francium", standard_atomic_weight=223.0 +# Z=88, name="radium", standard_atomic_weight=226.0 +# Z=89, name="actinium", standard_atomic_weight=227.0 +# Z=90, name="thorium", standard_atomic_weight=232.038 +# Z=91, name="protactinium", standard_atomic_weight=231.036 +# Z=92, name="uranium", standard_atomic_weight=238.029 +# Z=93, name="neptunium", standard_atomic_weight=237.048 +# Z=94, name="plutonium", standard_atomic_weight=239.052 +# Z=95, name="americium", standard_atomic_weight=243.0 +# Z=96, name="curium", standard_atomic_weight=247.0 +# Z=97, name="berkelium", standard_atomic_weight=247.0 +# Z=98, name="californium", standard_atomic_weight=251.0 +# Z=99, name="einsteinium", standard_atomic_weight=252 +# Z=100, name="fermium", standard_atomic_weight=257 +# Z=101, name="mendelevium", standard_atomic_weight=258 +# Z=102, name="nobelium", standard_atomic_weight=259 +# Z=103, name="lawrencium", standard_atomic_weight=266 +# Z=104, name="rutherfordium", standard_atomic_weight=267 +# Z=105, name="dubnium", standard_atomic_weight=268 +# Z=106, name="seaborgium", standard_atomic_weight=269 +# Z=107, name="bohrium", standard_atomic_weight=270 +# Z=108, name="hassium", standard_atomic_weight=269 +# Z=109, name="meitnerium", standard_atomic_weight=278 +# Z=110, name="darmstadtium", standard_atomic_weight=281 +# Z=111, name="roentgenium", standard_atomic_weight=282 +# Z=112, name="copernicium", standard_atomic_weight=285 +# Z=113, name="nihonium", standard_atomic_weight=286 +# Z=114, name="flerovium", standard_atomic_weight=289 +# Z=115, name="moscovium", standard_atomic_weight=290 +# Z=116, name="livermorium", standard_atomic_weight=293 +# Z=117, name="tennessine", standard_atomic_weight=294 +# Z=118, name="oganesson", standard_atomic_weight=294 +# +# +# +# The charge number *Z* of the atomic nucleus. +# +# +# +# *Relative atomic mass* of the element in *amu*. It can be but is not restricted to the +# *standard atomic weight* (using the natural abundance of isotopes). +# +# +# +# The charge of the atom after ionic approximation of its heteronuclear bonds. +# +# \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXemission_lines.yaml b/contributed_definitions/nyaml/NXemission_lines.yaml new file mode 100644 index 0000000000..17ceccdf8f --- /dev/null +++ b/contributed_definitions/nyaml/NXemission_lines.yaml @@ -0,0 +1,61 @@ +category: base +doc: | + Emission lines +type: group +NXemission_lines(NXobject): + name(NX_CHAR): + doc: | + The emission lines are written using the IUPAC notation, i.e. an + initial and final edge separated by a hyphen. + + TODO: Extend the enumeration to include all possible emission lines. + enumeration: [K-L1, K-L2, K-L3, K-M1, K-M2, K-M3, K-M4, K-M5] + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# fe76ba3bd5c4f5efb3a0007afadfdbe551fbb2382504ea2524fc2d92055b0f9a +# +# +# +# +# Emission lines +# +# +# The emission lines are written using the IUPAC notation, i.e. an +# initial and final edge separated by a hyphen. +# +# TODO: Extend the enumeration to include all possible emission lines. +# +# +# +# +# +# +# +# +# +# +# +# +# \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXxas_mode.yaml b/contributed_definitions/nyaml/NXxas_mode.yaml new file mode 100644 index 0000000000..2bae6fa483 --- /dev/null +++ b/contributed_definitions/nyaml/NXxas_mode.yaml @@ -0,0 +1,233 @@ +category: base +doc: | + XAS measurement mode +type: group +NXxas_mode(NXobject): + name(NX_CHAR): + exists: ['min', '1', 'max', '1'] + doc: | + X-ray absorption spectroscopy (XAS) is a technique that measures the absorption coefficient :math:`\mu(E)` of a material as a function of energy. + + The name of the XAS mode indicates the type of process being monitored to obtain the spectrum. Below is a description of the available modes, with emphasis on the expected values for the `intensity` and `monitor` fields. + + 1. Transmission + + The absorption coefficient is obtained by measuring the intensity of the incident :math:`I_0` and transmitted beam :math:`I`. + + .. math:: + \mu(E) = -\ln(I/I_0) + + 2. Total fluorescence yield (TFY) + + The absorption coefficient is obtained by measuring the intensity of the emitted fluorescence :math:`I_f` and the incident beam :math:`I_0`. + + .. math:: + \mu(E) \propto I_f/I_0 + + 3. Partial fluorescence yield (PFY) + + 4. Inverse partial fluorescence yield (IPFY) + + 5. High-energy resolution fluorescence detection (HERFD) + + 6. Total electron yield (TEY) + + 7. Partial electron yield (PEY) + + 8. Electron energy loss (EELS) + + 9. X-ray Raman Scattering (XRS) + + 10. Diffraction Anomalous Fine Structure (DAFS) + + 11. X-ray Excited Optical Luminescence (XEOL) + + 12. Grazing Angle Reflection Extended X-ray Absorption Fine Structure (ReflEXAFS) + + 13. Other + enumeration: + transmission: + doc: | + Transmission + tfy: + doc: | + Total Fluorescence Yield + pfy: + doc: | + Partial Fluorescence Yield + ipfy: + doc: | + Inverse Partial Fluorescence Yield + herfd: + doc: | + High Energy Resolution Fluorescence Detected + tey: + doc: | + Total Electron Yield + pey: + doc: | + Partial Electron Yield + eels: + doc: | + Electron Energy Loss + raman: + doc: | + X-ray Raman Scattering + dafs: + doc: | + Diffraction Anomalous Fine Structure + xeol: + doc: | + X-ray Excited Optical Luminescence + reflexafs: + doc: | + Grazing Angle Reflection Extended X-ray Absorption Fine Structure + other: + doc: | + Other + emission_lines(NXemission_lines): + exists: optional + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# 94aad6d69f8821222b19073bd4ed61f29de660f1b6b28012b2958d3eda8a94bc +# +# +# +# +# XAS measurement mode +# +# +# X-ray absorption spectroscopy (XAS) is a technique that measures the absorption coefficient :math:`\mu(E)` of a material as a function of energy. +# +# The name of the XAS mode indicates the type of process being monitored to obtain the spectrum. Below is a description of the available modes, with emphasis on the expected values for the `intensity` and `monitor` fields. +# +# 1. Transmission +# +# The absorption coefficient is obtained by measuring the intensity of the incident :math:`I_0` and transmitted beam :math:`I`. +# +# .. math:: +# \mu(E) = -\ln(I/I_0) +# +# 2. Total fluorescence yield (TFY) +# +# The absorption coefficient is obtained by measuring the intensity of the emitted fluorescence :math:`I_f` and the incident beam :math:`I_0`. +# +# .. math:: +# \mu(E) \propto I_f/I_0 +# +# 3. Partial fluorescence yield (PFY) +# +# 4. Inverse partial fluorescence yield (IPFY) +# +# 5. High-energy resolution fluorescence detection (HERFD) +# +# 6. Total electron yield (TEY) +# +# 7. Partial electron yield (PEY) +# +# 8. Electron energy loss (EELS) +# +# 9. X-ray Raman Scattering (XRS) +# +# 10. Diffraction Anomalous Fine Structure (DAFS) +# +# 11. X-ray Excited Optical Luminescence (XEOL) +# +# 12. Grazing Angle Reflection Extended X-ray Absorption Fine Structure (ReflEXAFS) +# +# 13. Other +# +# +# +# +# Transmission +# +# +# +# +# Total Fluorescence Yield +# +# +# +# +# Partial Fluorescence Yield +# +# +# +# +# Inverse Partial Fluorescence Yield +# +# +# +# +# High Energy Resolution Fluorescence Detected +# +# +# +# +# Total Electron Yield +# +# +# +# +# Partial Electron Yield +# +# +# +# +# Electron Energy Loss +# +# +# +# +# X-ray Raman Scattering +# +# +# +# +# Diffraction Anomalous Fine Structure +# +# +# +# +# X-ray Excited Optical Luminescence +# +# +# +# +# Grazing Angle Reflection Extended X-ray Absorption Fine Structure +# +# +# +# +# Other +# +# +# +# +# +# +# +# \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXxas_new.yaml b/contributed_definitions/nyaml/NXxas_new.yaml new file mode 100644 index 0000000000..2d86817c0d --- /dev/null +++ b/contributed_definitions/nyaml/NXxas_new.yaml @@ -0,0 +1,294 @@ +category: application +doc: | + This is an application definition for X-ray absorption spectroscopy. +symbols: + doc: | + The symbol(s) listed here will be used below to coordinate datasets with the same shape. + nEnergy: | + Number of energy data points + nTransitions: | + Number of electronic transitions +type: group +NXxas_new(NXobject): + (NXentry): + definition: + doc: | + Official NeXus NXDL schema to which this file conforms. TODO: replace NXxas + enumeration: [NXxas_new] + mode(NXxas_mode): + doc: | + element(NXelement): + doc: | + Excited element + edge(NXedge): + doc: | + Absorption edge + calculated(NX_BOOLEAN): + unit: NX_UNITLESS + exists: optional + doc: | + Specify if the data comes from a calculation + energy(NX_FLOAT): + unit: NX_ENERGY + doc: | + TODO + dimensions: + rank: 1 + dim: (nEnergy,) + intensity(NX_FLOAT): + unit: NX_ANY + doc: | + TODO + dimensions: + rank: 1 + dim: (nEnergy,) + intensity_errors(NX_FLOAT): + unit: NX_ANY + doc: | + TODO + dimensions: + rank: 1 + dim: (nEnergy,) + (NXsample): + name: + doc: | + Descriptive name of the sample + (NXprocess): + exists: optional + doc: | + Description on how :ref:`energy ` + and :ref:`intensity ` were obtained + from the raw data. + (NXinstrument): + exists: optional + (NXsource): + type: + name: + probe: + enumeration: [x-ray] + monochromator(NXmonochromator): + exists: optional + energy(NX_FLOAT): + unit: NX_ENERGY + exists: optional + dimensions: + rank: 1 + dim: (nEnergy,) + crystal(NXcrystal): + exists: optional + d_spacing(NX_FLOAT): + unit: NX_LENGTH + doc: | + spacing between crystal planes of the reflection + type: + doc: | + Type or material of monochromating substance (Si, Ge, Multilayer). + reflection(NX_INT): + unit: NX_UNITLESS + doc: | + Miller indices (hkl) values of nominal reflection + dimensions: + dim: (3,) + (NXdetector): + exists: ['min', '0', 'max', 'unbounded'] + data(NX_NUMBER): + dimensions: + rank: 1 + dim: (nEnergy,) + i0(NXdetector): + exists: optional + data(NX_NUMBER): + dimensions: + rank: 1 + dim: (nEnergy,) + (NXdata): + exists: optional + doc: | + XAS intensity versus energy plot + energy(link): + target: /NXentry/energy + intensity(link): + target: /NXentry/intensity + (NXcollection): + exists: optional + (NXdata): + exists: optional + doc: | + Table like data structure common in the XAS domain. + data(NX_NUMBER): + dimensions: + rank: 2 + dim: (nChan, nEnergy) + columns(NX_CHAR): + dimensions: + rank: 1 + dim: (nEnergy,) + data_collector(NXuser): + exists: optional + name: + orcid: + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# 763065003f3d92a5c815e5e648cc4e3abc0289e94ca51eb495a512419913c70b +# +# +# +# +# +# +# The symbol(s) listed here will be used below to coordinate datasets with the same shape. +# +# +# Number of energy data points +# +# +# Number of electronic transitions +# +# +# +# This is an application definition for X-ray absorption spectroscopy. +# +# +# +# Official NeXus NXDL schema to which this file conforms. TODO: replace NXxas +# +# +# +# +# +# +# +# +# Excited element +# +# +# Absorption edge +# +# +# Specify if the data comes from a calculation +# +# +# TODO +# +# +# +# +# +# TODO +# +# +# +# +# +# TODO +# +# +# +# +# +# +# Descriptive name of the sample +# +# +# +# +# Description on how :ref:`energy </NXxas_new/ENTRY/energy-field>` +# and :ref:`intensity </NXxas_new/ENTRY/intensity-field>` were obtained +# from the raw data. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# spacing between crystal planes of the reflection +# +# +# Type or material of monochromating substance (Si, Ge, Multilayer). +# +# +# Miller indices (hkl) values of nominal reflection +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# XAS intensity versus energy plot +# +# +# +# +# +# Table like data structure common in the XAS domain. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# \ No newline at end of file diff --git a/dev_tools/docs/nxdl.py b/dev_tools/docs/nxdl.py index 01884e759c..9b32380523 100644 --- a/dev_tools/docs/nxdl.py +++ b/dev_tools/docs/nxdl.py @@ -587,7 +587,7 @@ def long_doc(self, ns, node, left_margin): def _print_doc_enum(self, indent, ns, node, required=False): collapse_indent = indent node_list = node.xpath("nx:enumeration", namespaces=ns) - (doclen, line, blocks) = self.long_doc(ns, node, len(indent)) + doclen, line, blocks = self.long_doc(ns, node, len(indent)) if len(node_list) + doclen > 1: collapse_indent = f"{indent} " self._print(f"{indent}{self._INDENTATION_UNIT}.. collapse:: {line} ...\n") diff --git a/dev_tools/tests/test_nxdl_utils.py b/dev_tools/tests/test_nxdl_utils.py index a5a0527118..5a0d1567ab 100644 --- a/dev_tools/tests/test_nxdl_utils.py +++ b/dev_tools/tests/test_nxdl_utils.py @@ -99,7 +99,7 @@ def test_get_inherited_nodes(): nxdl_file_path = local_dir / "NXtest.nxdl.xml" elem = ET.parse(nxdl_file_path).getroot() - (_, _, elist) = nexus.get_inherited_nodes(nxdl_path="/ENTRY/NXODD_name", elem=elem) + _, _, elist = nexus.get_inherited_nodes(nxdl_path="/ENTRY/NXODD_name", elem=elem) print(elist) assert len(elist) == 5 @@ -108,17 +108,17 @@ def test_get_inherited_nodes(): ) elem = ET.parse(nxdl_file_path).getroot() - (_, _, elist) = nexus.get_inherited_nodes( + _, _, elist = nexus.get_inherited_nodes( nxdl_path="/ENTRY/INSTRUMENT/ENVIRONMENT", elem=elem ) assert len(elist) == 4 - (_, _, elist) = nexus.get_inherited_nodes( + _, _, elist = nexus.get_inherited_nodes( nxdl_path="/ENTRY/INSTRUMENT/ENVIRONMENT/voltage_controller", elem=elem ) assert len(elist) == 6 - (_, _, elist) = nexus.get_inherited_nodes( + _, _, elist = nexus.get_inherited_nodes( nxdl_path="/ENTRY/INSTRUMENT/ENVIRONMENT/voltage_controller", nx_name="NXiv_temp", ) diff --git a/dev_tools/utils/nxdl_utils.py b/dev_tools/utils/nxdl_utils.py index f0a4f4bfbd..d0256fbe27 100644 --- a/dev_tools/utils/nxdl_utils.py +++ b/dev_tools/utils/nxdl_utils.py @@ -552,7 +552,7 @@ def check_attr_name_nxdl(param): """Check for ATTRIBUTENAME_units in NXDL (normal). If not defined, check for ATTRIBUTENAME to see if the ATTRIBUTE is in the SCHEMA, but no units category were defined.""" - (logger, elem, nxdl_path, doc, attr, req_str) = param + logger, elem, nxdl_path, doc, attr, req_str = param orig_elem = elem elem2 = get_nxdl_child(elem, attr, nexus_type="attribute") if elem2 is not None: # check for ATTRIBUTENAME_units in NXDL (normal) @@ -846,7 +846,7 @@ def get_best_child(nxdl_elem, hdf_node, hdf_name, hdf_class_name, nexus_type): and hdf_node.parent is not None and decode_or_not(hdf_node.parent.attrs.get("NX_class")) == "NXdata" ): - (fnd_child, fit) = get_best_nxdata_child(nxdl_elem, hdf_node, hdf_name) + fnd_child, fit = get_best_nxdata_child(nxdl_elem, hdf_node, hdf_name) if fnd_child is not None: return (fnd_child, fit) for child in nxdl_elem: @@ -880,7 +880,7 @@ def walk_elist(elist, html_name): for potential_direct_parent in elist: main_child = get_direct_child(potential_direct_parent, html_name) if main_child is not None: - (fitting_child, _) = get_best_child( + fitting_child, _ = get_best_child( elist[ind], None, html_name, @@ -941,7 +941,7 @@ def get_node_at_nxdl_path( if nxdl_path.count("/") == 1 and not nxdl_path.upper().startswith("/ENTRY"): elem = None nx_name = "NXroot" - (class_path, nxdlpath, elist) = get_inherited_nodes(nxdl_path, nx_name, elem) + class_path, nxdlpath, elist = get_inherited_nodes(nxdl_path, nx_name, elem) except ValueError as value_error: if exc: raise NxdlAttributeNotFoundError(