-
Notifications
You must be signed in to change notification settings - Fork 66
Fairmat 2025: changes to contributed definitions #1427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fairmat 2025: changes to contributed definitions #1427
Conversation
Fix docs CI to only keep orphan branch
…ate_system_set because that is what these conventions only talk about
Small modifications to clarify NXmpes
…ng-deployment Remove _sources build artifacts before docs deployment
…the rollett-holm formula fixes the build error with latex, locally at least it does
* Add depends for data field * Use `@reference` * use reference attribute in NXmpes and NXmpes_arpes * change text style * fix duplicated in reference attribute --------- Co-authored-by: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com>
Roll back changes to NXmpes/instrument/pressure_gauge
fix 2theta and use NXobject instead of collection.
Add radius to NXenergydispersion
* Including scattering vector components perpendicular and parallel to the surface of the sample those are mainly used for RSM diffraction technique. --------- Co-authored-by: Florian Dobener <florian.dobener@physik.hu-berlin.de>
|
Changes applied now:
Wrt to Couple smaller comments:
Wrt to Open questions:
Will now give it a review |
…have were refactored as base classes, e.g. NXcs_computer
|
Lots of changes, but all to contributed definitions, and all in the interest of clean up after the FAIRmat work in this release. Therefore, added to the October milestone. |
mkuehbach
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated as discussed during the 2025/10/20 telco, lgtm
* modify moving of existing docs * remove commented CI code that is not needed anymore * Opened NXem_conventions for usage in methods other than electron microscopy * Consolidated based classes related to NXem_conventions into NXcoordinate_system_set because that is what these conventions only talk about * Refactored NXmicrostructure_score_config * Refactored NXmicrostructure_gragles_config * Even make html runs through locally * remove _source build artifacts before docs deployment * Finished NXmicrostructure_score_results and hope that commenting out the rollett-holm formula fixes the build error with latex, locally at least it does * Fixed the too stiff name of microstructure1 * Initial version of NXmicrostructure_gragles_results * Fixed grammar issue * Finished NXmicrostructure_gragles_results * Implemented suggestions from @lukaspie * nxdl * NXdata linking of signal (nexusformat#205) * Add depends for data field * Use `@reference` * use reference attribute in NXmpes and NXmpes_arpes * change text style * fix duplicated in reference attribute --------- Co-authored-by: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> * Roll back changes to NXmpes/instrument/pressure_gauge * fix 2theta and use NXobject instead of collection. * reproducibity check. * add radius to NXenergydispersion * Xrd modification (nexusformat#274) * Including scattering vector components perpendicular and parallel to the surface of the sample those are mainly used for RSM diffraction technique. --------- Co-authored-by: Florian Dobener <florian.dobener@physik.hu-berlin.de> * Implementing suggestions from lukaspie * Refactored NXcoordinate_system_em_ebsd into NXem_ebsd * Fix naming bug for monochromator_em * Bug fixes in images and spectrum and renaming of groups, refining precision of concept image and how this is connected to tilings * Add circuit to component * Adding routine tests for py3.12 * Added circuit and corrected laziness error * Editing NXem for aberrations in event data * Extension of Doc for Optical spectroscopy and Raman * Update webpage for optical spectroscopy * Further simplification of where and how to store aberrations * change ellips name to optical spec * Use something from lensID * Correcting units for complex aberrations * Removed mandatory model for aberrations as clear for naming conventions used * Reference Rafal for aberration function * Fixed time(NX_TIME) bug * fix_renaming_of_ellipsometry_to_optical_spec * add missed links * add missing #### in title... * Clarified issues with depends_on, fixed typo pID for pfID in NXem_ebsd * Hooked in examples for usage of NXem_ebsd and NXem_eds into NXem * Last cleaning for depends_on on this feature branch * Initial draft of NXmpes_xps sub app-def * Prepare NXmpes_xps for extending NXmpes * Removed information already given in base classes * Removed some unneeded comments * Add description of instrument orientation - Angle between beam and sample normal-> needed for determination of probing depth - Angle between beam and analyzer axes -> needed for data analysis * Move orientation of instrument parts Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively. * Update transmission function information - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored. * Update documentation, add comments for discussion * Initial draft of NXmpes_xps sub app-def * Prepare NXmpes_xps for extending NXmpes * Removed information already given in base classes * Removed some unneeded comments * Add description of instrument orientation - Angle between beam and sample normal-> needed for determination of probing depth - Angle between beam and analyzer axes -> needed for data analysis * Move orientation of instrument parts Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively. * Update transmission function information - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored. * Update documentation, add comments for discussion * fix NXmpes yaml * update to current NXmpes status * refine NXtransformations * add coordinate system and coordinate_system_set * Adds mpes_xps to mpes structure * rename to NXxps * initial attempt at modeling XPS peak fitting * add lineshape to NXpeak * update lineshape in NXpeak * add NXbackground to NXfit_region * add fitting method to NXpeak_model * remove NXtransformations from NXcoordinate_system * restructure NXfit with background and peaks * change to NXcoordinate_system_set, use NXfit in NXxps * add fit_function and parameters * use NXfit_function for peaks and backgrounds * use NXdata in NXfit * use new peak fitting in NXxps * add missing class name in NXxps * remove underscores from variable names in NXfit * update nyamls * switch axes docs in NXfit * use old nyaml dim notation for now * fix math notation * make nxdls * regenerate with nyaml==0.0.8 * make NXfit, NXpeak multi-dimensional * redefine XPS coordinate system, small changes to XPS peak fitting * required energy axis in XPS * fix dimensions issues * regenerate NXxps * make energy an NX_NUMBER * remove unneeded depends_on enumerations * align symbols across all fit-related definitions * remove single and repeated parameters in fit * fix dimensions in NXpeak and NXfit_background * use globlal_fit and error_function in NXfit, fix dimensions * docstring fixes in NXfit * NXfit extends NXprocess * fix math notation in NXfit_function * fix link in NXfit_function * change requiredness for formulas in XPS fit * small fixes for links * fix issues with manual build * fix math notation * more math fixes * regenerate NXxps and NXpeak nxdl files * fix rebasing issues * make NXpeak spectrum-independent * fix rebase conflicts * fix nyaml-nxdl inconsistency * add notes from both workshops * added make nxdl and make local * lowercase enumeration, source_type todo added, doc for ellipsometry_type * HOW LONG? does it take to learn to make nxdl and local before commiting >.< * Fixes in EM * Merging NXem_adf into NXem_img, enabling microstructure reconstructions as dependants of specific method results, introduction of NXatom_set to discuss generalization of NXion towards enabling descriptions of groups of atoms, also to lias with FAIRmat Area C * Removal of non-standardized assumption that i, j, k can be used as counter variables in case one does not know the actual dimensions but one is sure it is not a scalar * add missing elements in ellipsometry from specialized NXlens_opt * Add todo notes for beamsize and shape description * typo and note for possible rework/reconsideration of NXfabrication * Suggestions from lukaspie * Fixes apm * Added undefined enum in NXidentifier * use NXidentifier in NXsample and NXfabrication * rename sample name in NXoptical spectroscopy * make ellipsometer_type optional * NXidentifier in NXoptical_spectroscopy instrument * remove NXsample name docs from NXoptical_spectroscopy * add serial_number to NXfabrication * use NXidentifier in NXmpes * use NXidentifier consistently across all our contributed definitions * decode binary strings in nxdl_utils.py * add function for decoding * use NXidentifier in NXentry * small changes to NXbeam and NXmonochromator * typo fixes * proper string decoding * remove unneeded imports * black formatting * remove code and move to pynxtools * remove unneeded requirements * escape black check * ignore flake8 issue * isort imports * use less strict version of str decoding * slightly enhanced version of str decoding, test * remove flake error catching * reset requirements.txt * reformatting * remove strict type checking * add support for list of bytes * formatting * add pulse_delay to NXbeam * recreate nyaml file * regenerate nyaml files * various small fixes are merging main and fairmat * fix string No in NXelectron_level * remove unused MANIFEST.in * manually reset NXem yaml file * format base classes and applications in accordance to existing NIAC version * revert changes to NXtransformations docs * add CSS tweak to hide summary * add css file * Suggestions from Lukas * fix dev_tools tests black code style * remove use of details_summary_hide * change refs in NXarpes * move doc bundles to applications and base_classes * Reverting the proposal that NXmicrostructure is not just proposed for contributed but implicitly as a dependency of NXem, NXem_ebsd, NXem_img proposed for voting and acceptance * Revert one more microstructure * move new definitions to application and base_classes * small update to mpes-structure * update category for NXxrd.nxdl. (nexusformat#296) * remove fairmat-specific files * remove nyaml files * move NXdata_mpes* classes back to contributed * revert small changes to the dev_tools black formatting isort dev_tools * change docs in NXcircuit * pull out modifications for fairmat-2024-contributed * bring in multi line doc handling in dev_tools * remove renamed classes * bring in latest NXxrd from fairmat repo * bring in changes from fairmat repo * bring in changes to optical spectroscopy classes * modify dispersion models * bring in NXmicrostructure from fairmat repo * small changes to NXtransmission * bring in NXspatial_filter from fairmat repo * bring in NXmatch_filter from fairmat repo * bring in NXisocontour from fairmat * bring in NXdelocalization from fairmat * bring in NXem_calorimetry from fairmat * remove NXlab* classes * bring in NXsubsampling_filter from fairmat branch * bring in NXsimilarity_grouping from fairmat branch * bring in NXapm_paraprobe classes * bring in NXapm_compositonspace* classes from fairmat * remove NXamplifier (part of SPM proposal) * fix various issues with the documentation build * typo fixes * Clarify situation wrt to NXclustering * Fix error in cgms docs * Removed NXcs_ classes that in the process of the acceptance of NXapm have were refactored as base classes, e.g. NXcs_computer * Capitalization, typos and header docstring for electrostatic kicker * Capitalization, typos and header docstring for magnetic kicker * Capitalization, typos and header docstring for quadrupole magnet * Capitalization, typos and header docstring for separator * Capitalization, typos and header docstring for spin_rotator, substance, and xpcs * review comments * Latest development stage of FAIRmat for the contributed definitions for atom probe and microstructure * Reset NXtransmission and NXoptical_polarizer to commits before today * Sync up that the hash rule for nuclid_hash defined in NXdelocalization and NXatom match up * Fix typos in dispersive material --------- Co-authored-by: mkuehbach <markus.kuehbach@physik.hu-berlin.de> Co-authored-by: mkuehbach <markus.kuehbach@hu-berlin.de> Co-authored-by: Florian Dobener <florian.dobener@physik.hu-berlin.de> Co-authored-by: Rubel <rubel.mozumder@outlook.com> Co-authored-by: RubelMozumder <32923026+RubelMozumder@users.noreply.github.com> Co-authored-by: Markus Kühbach <mkuehbach@users.noreply.github.com> Co-authored-by: Ron Hildebrandt <RonHildebrandt@uni-leipzig.de> Co-authored-by: Ron <139139971+RonHildebrandt@users.noreply.github.com> Co-authored-by: rettigl <l.rettig@web.de>
* modify moving of existing docs * remove commented CI code that is not needed anymore * Opened NXem_conventions for usage in methods other than electron microscopy * Consolidated based classes related to NXem_conventions into NXcoordinate_system_set because that is what these conventions only talk about * Refactored NXmicrostructure_score_config * Refactored NXmicrostructure_gragles_config * Even make html runs through locally * remove _source build artifacts before docs deployment * Finished NXmicrostructure_score_results and hope that commenting out the rollett-holm formula fixes the build error with latex, locally at least it does * Fixed the too stiff name of microstructure1 * Initial version of NXmicrostructure_gragles_results * Fixed grammar issue * Finished NXmicrostructure_gragles_results * Implemented suggestions from @lukaspie * nxdl * NXdata linking of signal (nexusformat#205) * Add depends for data field * Use `@reference` * use reference attribute in NXmpes and NXmpes_arpes * change text style * fix duplicated in reference attribute --------- Co-authored-by: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> * Roll back changes to NXmpes/instrument/pressure_gauge * fix 2theta and use NXobject instead of collection. * reproducibity check. * add radius to NXenergydispersion * Xrd modification (nexusformat#274) * Including scattering vector components perpendicular and parallel to the surface of the sample those are mainly used for RSM diffraction technique. --------- Co-authored-by: Florian Dobener <florian.dobener@physik.hu-berlin.de> * Implementing suggestions from lukaspie * Refactored NXcoordinate_system_em_ebsd into NXem_ebsd * Fix naming bug for monochromator_em * Bug fixes in images and spectrum and renaming of groups, refining precision of concept image and how this is connected to tilings * Add circuit to component * Adding routine tests for py3.12 * Added circuit and corrected laziness error * Editing NXem for aberrations in event data * Extension of Doc for Optical spectroscopy and Raman * Update webpage for optical spectroscopy * Further simplification of where and how to store aberrations * change ellips name to optical spec * Use something from lensID * Correcting units for complex aberrations * Removed mandatory model for aberrations as clear for naming conventions used * Reference Rafal for aberration function * Fixed time(NX_TIME) bug * fix_renaming_of_ellipsometry_to_optical_spec * add missed links * add missing #### in title... * Clarified issues with depends_on, fixed typo pID for pfID in NXem_ebsd * Hooked in examples for usage of NXem_ebsd and NXem_eds into NXem * Last cleaning for depends_on on this feature branch * Initial draft of NXmpes_xps sub app-def * Prepare NXmpes_xps for extending NXmpes * Removed information already given in base classes * Removed some unneeded comments * Add description of instrument orientation - Angle between beam and sample normal-> needed for determination of probing depth - Angle between beam and analyzer axes -> needed for data analysis * Move orientation of instrument parts Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively. * Update transmission function information - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored. * Update documentation, add comments for discussion * Initial draft of NXmpes_xps sub app-def * Prepare NXmpes_xps for extending NXmpes * Removed information already given in base classes * Removed some unneeded comments * Add description of instrument orientation - Angle between beam and sample normal-> needed for determination of probing depth - Angle between beam and analyzer axes -> needed for data analysis * Move orientation of instrument parts Instead of having two fields on the instrument for the angle between beam and sample and the angle between beam and analyser, this information is stored in depends_on and NXtransformations in NXinstrument and NXsample, respectively. * Update transmission function information - The transmission function contains an additional NXnote field "file" describing the file in which the TF data is stored. * Update documentation, add comments for discussion * fix NXmpes yaml * update to current NXmpes status * refine NXtransformations * add coordinate system and coordinate_system_set * Adds mpes_xps to mpes structure * rename to NXxps * initial attempt at modeling XPS peak fitting * add lineshape to NXpeak * update lineshape in NXpeak * add NXbackground to NXfit_region * add fitting method to NXpeak_model * remove NXtransformations from NXcoordinate_system * restructure NXfit with background and peaks * change to NXcoordinate_system_set, use NXfit in NXxps * add fit_function and parameters * use NXfit_function for peaks and backgrounds * use NXdata in NXfit * use new peak fitting in NXxps * add missing class name in NXxps * remove underscores from variable names in NXfit * update nyamls * switch axes docs in NXfit * use old nyaml dim notation for now * fix math notation * make nxdls * regenerate with nyaml==0.0.8 * make NXfit, NXpeak multi-dimensional * redefine XPS coordinate system, small changes to XPS peak fitting * required energy axis in XPS * fix dimensions issues * regenerate NXxps * make energy an NX_NUMBER * remove unneeded depends_on enumerations * align symbols across all fit-related definitions * remove single and repeated parameters in fit * fix dimensions in NXpeak and NXfit_background * use globlal_fit and error_function in NXfit, fix dimensions * docstring fixes in NXfit * NXfit extends NXprocess * fix math notation in NXfit_function * fix link in NXfit_function * change requiredness for formulas in XPS fit * small fixes for links * fix issues with manual build * fix math notation * more math fixes * regenerate NXxps and NXpeak nxdl files * fix rebasing issues * make NXpeak spectrum-independent * fix rebase conflicts * fix nyaml-nxdl inconsistency * add notes from both workshops * added make nxdl and make local * lowercase enumeration, source_type todo added, doc for ellipsometry_type * HOW LONG? does it take to learn to make nxdl and local before commiting >.< * Fixes in EM * Merging NXem_adf into NXem_img, enabling microstructure reconstructions as dependants of specific method results, introduction of NXatom_set to discuss generalization of NXion towards enabling descriptions of groups of atoms, also to lias with FAIRmat Area C * Removal of non-standardized assumption that i, j, k can be used as counter variables in case one does not know the actual dimensions but one is sure it is not a scalar * add missing elements in ellipsometry from specialized NXlens_opt * Add todo notes for beamsize and shape description * typo and note for possible rework/reconsideration of NXfabrication * Suggestions from lukaspie * Fixes apm * Added undefined enum in NXidentifier * use NXidentifier in NXsample and NXfabrication * rename sample name in NXoptical spectroscopy * make ellipsometer_type optional * NXidentifier in NXoptical_spectroscopy instrument * remove NXsample name docs from NXoptical_spectroscopy * add serial_number to NXfabrication * use NXidentifier in NXmpes * use NXidentifier consistently across all our contributed definitions * decode binary strings in nxdl_utils.py * add function for decoding * use NXidentifier in NXentry * small changes to NXbeam and NXmonochromator * typo fixes * proper string decoding * remove unneeded imports * black formatting * remove code and move to pynxtools * remove unneeded requirements * escape black check * ignore flake8 issue * isort imports * use less strict version of str decoding * slightly enhanced version of str decoding, test * remove flake error catching * reset requirements.txt * reformatting * remove strict type checking * add support for list of bytes * formatting * add pulse_delay to NXbeam * recreate nyaml file * regenerate nyaml files * various small fixes are merging main and fairmat * fix string No in NXelectron_level * remove unused MANIFEST.in * manually reset NXem yaml file * format base classes and applications in accordance to existing NIAC version * revert changes to NXtransformations docs * add CSS tweak to hide summary * add css file * Suggestions from Lukas * fix dev_tools tests black code style * remove use of details_summary_hide * change refs in NXarpes * move doc bundles to applications and base_classes * Reverting the proposal that NXmicrostructure is not just proposed for contributed but implicitly as a dependency of NXem, NXem_ebsd, NXem_img proposed for voting and acceptance * Revert one more microstructure * move new definitions to application and base_classes * small update to mpes-structure * update category for NXxrd.nxdl. (nexusformat#296) * remove fairmat-specific files * remove nyaml files * move NXdata_mpes* classes back to contributed * revert small changes to the dev_tools black formatting isort dev_tools * change docs in NXcircuit * pull out modifications for fairmat-2024-contributed * bring in multi line doc handling in dev_tools * remove renamed classes * bring in latest NXxrd from fairmat repo * bring in changes from fairmat repo * bring in changes to optical spectroscopy classes * modify dispersion models * bring in NXmicrostructure from fairmat repo * small changes to NXtransmission * bring in NXspatial_filter from fairmat repo * bring in NXmatch_filter from fairmat repo * bring in NXisocontour from fairmat * bring in NXdelocalization from fairmat * bring in NXem_calorimetry from fairmat * remove NXlab* classes * bring in NXsubsampling_filter from fairmat branch * bring in NXsimilarity_grouping from fairmat branch * bring in NXapm_paraprobe classes * bring in NXapm_compositonspace* classes from fairmat * remove NXamplifier (part of SPM proposal) * fix various issues with the documentation build * typo fixes * Clarify situation wrt to NXclustering * Fix error in cgms docs * Removed NXcs_ classes that in the process of the acceptance of NXapm have were refactored as base classes, e.g. NXcs_computer * Capitalization, typos and header docstring for electrostatic kicker * Capitalization, typos and header docstring for magnetic kicker * Capitalization, typos and header docstring for quadrupole magnet * Capitalization, typos and header docstring for separator * Capitalization, typos and header docstring for spin_rotator, substance, and xpcs * review comments * Latest development stage of FAIRmat for the contributed definitions for atom probe and microstructure * Reset NXtransmission and NXoptical_polarizer to commits before today * Sync up that the hash rule for nuclid_hash defined in NXdelocalization and NXatom match up * Fix typos in dispersive material --------- Co-authored-by: mkuehbach <markus.kuehbach@physik.hu-berlin.de> Co-authored-by: mkuehbach <markus.kuehbach@hu-berlin.de> Co-authored-by: Florian Dobener <florian.dobener@physik.hu-berlin.de> Co-authored-by: Rubel <rubel.mozumder@outlook.com> Co-authored-by: RubelMozumder <32923026+RubelMozumder@users.noreply.github.com> Co-authored-by: Markus Kühbach <mkuehbach@users.noreply.github.com> Co-authored-by: Ron Hildebrandt <RonHildebrandt@uni-leipzig.de> Co-authored-by: Ron <139139971+RonHildebrandt@users.noreply.github.com> Co-authored-by: rettigl <l.rettig@web.de>
These are the new or updated definitions introduced by FAIRmat that are currently not planned to go to
applicationsorbase_classes, but rather stay incontributed_definitionsfor now.CI/CD still failing because update contributed definitions depend on changes in #1426.
Update 2025/06/30 @mkuehbach
This includes other changes proposed by the FAIRmat consortium that not yet been voted upon.
After updating the branch to aaf9d5f and considering that:
The situation for all files on aaf9d5f in contributed needs to be edited as follows:
Update also latest nyaml and XML means that spurious changes in whitespaces on the XML headers need to be changed