Skip to content
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

punctual typo fixes and corrections in docs #478

Merged
merged 1 commit into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/how-tos/build-a-plugin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build your own pynxtools plugin

The pynxtools [dataconverter](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/src/pynxtools/dataconverter) is used to convert experimental data to NeXus/HDF5 files based on any provided [NXDL schemas](https://manual.nexusformat.org/nxdl.html#index-1). The converter allows extending support to other data formats by allowing extensions called `readers`. There exist a set of [built-in pynxtools readers](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/src/pynxtools/dataconverter/readers) as well as [pynxtools plugins](../reference/plugins.md) to convert supported data files for some experimental techniques into compliant NeXus files.
The pynxtools [dataconverter](https://github.com/FAIRmat-NFDI/pynxtools/tree/master/src/pynxtools/dataconverter) is used to convert experimental data to NeXus/HDF5 files based on any provided [NXDL schemas](https://manual.nexusformat.org/nxdl.html). The converter allows extending support to other data formats by allowing extensions called `readers`. There exist a set of [built-in pynxtools readers](../reference/built-in-readers.md) as well as [pynxtools reader plugins](../reference/plugins.md) to convert supported data files for some experimental techniques into NeXus-compliant files.

Your current data is not supported yet by the built-in pynxtools readers or the officially supported pynxtools plugins?

Expand Down
8 changes: 4 additions & 4 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ Within [FAIRmat](https://www.fairmat-nfdi.eu/fairmat/), we are extending the [Ne
<!-- Finally, a paragraph that describes whom the product is useful for. -->
FAIRmat's contribution to the existing NeXus standard, together with the tools provided through `pynxtools`, enable scientists and research groups working with data, as well as helping communities implement standardized FAIR research data.

Additionally, the software is used as a plugin in the research data management system [NOMAD](https://nomad-lab.eu/nomad-lab/) for making experimental data searchable and publishable. NOMAD is developed by the FAIRMAT consortium, as a part of the German National Research Data Infrastructure (NFDI).
Additionally, the software is used as a plugin in the research data management system [NOMAD](https://nomad-lab.eu/nomad-lab/) for making experimental data searchable and publishable. NOMAD is developed by the FAIRmat consortium, as a part of the German National Research Data Infrastructure (NFDI).

<div markdown="block" class="home-grid">
<div markdown="block">

### Tutorial

A series of tutorials giving you an overview on how to store or convert your data to NeXus compliant files.
A series of tutorials giving you an overview on how to store or convert your data to NeXus-compliant files.

- [Converting your data to NeXus](tutorial/converting-data-to-nexus.md)
- [Uploading NeXus data to NOMAD](tutorial/nexus-to-nomad.md)
Expand All @@ -42,7 +42,7 @@ How-to guides provide step-by-step instructions for a wide range of tasks.
- [Creation of NeXus files in python via hard-coding](how-tos/create-nexus-files-by-python.md)
- [Using pynxtools test framework for plugins](how-tos/using-pynxtools-test-framework.md)

__The following How-To guides are still under development:__
__The following How-to guides are still under development:__

- [Writing an application definition](how-tos/writing-an-appdef.md)
- [Storing data in multiple application definitions](how-tos/using-multiple-appdefs.md)
Expand Down Expand Up @@ -87,7 +87,7 @@ Note: To connect NeXus concepts with semantic web tools, efforts are underway to
Within FAIRmat, we maintain a number of generic built-in pynxtools readers, together with reader plugins for different experimental techniques. Here you can find more information:

- [Built-in pynxtools readers](reference/built-in-readers.md)
- [FAIRMat-supported pynxtools plugins](reference/plugins.md)
- [FAIRmat-supported pynxtools plugins](reference/plugins.md)


</div>
Expand Down
14 changes: 5 additions & 9 deletions docs/learn/nexus-primer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,21 @@

This part of the documentation is still being written and it might be confusing or incomplete.

NeXus is is a description of a common data exchange format initially developed for neutron, X-ray, and muon experiments. Within FAIRmat we extensively extended the format to cover a range of experiments with major support for APM, ARPES, XPS, and optical spectroscpy but we also give advice and guidance for developing standards for other formats as well.
NeXus is is a description of a common data exchange format initially developed for neutron, X-ray, and muon experiments. Within FAIRmat we extensively extended the format to cover a range of experiments with major support for APM, ARPES, XPS, and optical spectroscopy, but we also give advice and guidance for developing standards for other formats as well.

!!! info "NeXus as a tool for FAIR data"

NeXus is supported be the research data management platform NOMAD.
Experimental data following an NeXus application definition can easily be uploaded and is recognized by NOMAD's search system.
If you want to learn more about uploading NeXus data to NOMAD, please refer to the [NeXus to nomad](../tutorial/nexus-to-nomad.md) tutorial
of this documentation.
Accordingly, if you want to build data according to the FAIR principles, you can think of NeXus fulfilling the interoperability and
reproducibility part and a research data management platform like NOMAD the findable and accessible part.
Experimental data following an NeXus application definition can easily be uploaded and is recognized by NOMAD's search system. If you want to learn more about uploading NeXus data to NOMAD, please refer to the [NeXus to NOMAD](../tutorial/nexus-to-nomad.md) tutorial of this documentation. Accordingly, if you want to build data according to the FAIR principles, you can think of NeXus fulfilling the interoperability and reproducibility part and a research data management platform like NOMAD the findable and accessible part.

## What is NeXus?

Sometimes, NeXus is seen as writing data to some form of file in hdf5 format.
While this is partly true, NeXus is independent of the actual storage format but is typically written into an hdf5 file.
Sometimes, NeXus is seen as writing data to some form of file in HDF5 format.
While this is partly true, NeXus is independent of the actual storage format, but is typically written into an HDF5 file.

But what is NeXus then? It is the conceptual layer above the file structure.
It is a contract on which data has to be present and how to name them in a given dataset.
Hence, using NeXus participates in making data FAIR.
Hence, the use of NeXus helps to make data FAIR.
It especially covers the interoperability and reproducibility part of research data.

!!! info "NeXus path notations"
Expand Down
2 changes: 1 addition & 1 deletion docs/learn/nexus-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ In NeXus base classes and application definitions, there are two options for def

Aside from this lower case notation, there is also the option to allow for **selectable** names. This is achieved by uppercase notation. As an example, if a field in an application definition is called `FIELD`, the name can be any name as long as it maches the regular expression above. For example, `field`, `field0`, `any_other_name` would be allowed names, while `any other name` would not be allowed.

There is also the possibility of mixed lowercase and uppercase notation in base classes and application definitions. For example, there might be a `userID(NXuser)` group. In this case, allowed names include any name that start with `user`, e.g., `user0`, `user_abcde`, as long as the part that replaces the docstring is still valid according to the regex above. Note that here it is also **not** allowed to write `user` without replacing the uppercase part of the name.
There is also the possibility of mixed lowercase and uppercase notation in base classes and application definitions. For example, there might be a `userID(NXuser)` group. In this case, allowed names include any name that start with `user`, e.g., `user0`, `user_abcde`, as long as the part that replaces the docstring is still valid according to the regex above. Note that here it is also allowed to write `user` without replacing the uppercase part of the name.

The validation of names is performed by **namefitting**, i.e., fitting the name that is used by the data provider to the name given in the base class / application definitions.

Expand Down
2 changes: 1 addition & 1 deletion docs/learn/nexus-validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ MSYS_NO_PATHCONV=1 read_nexus -c /NXarpes/ENTRY/INSTRUMENT/analyser
This workaround was tested with Windows 11, but should very likely also work with Windows 10 and lower.

## Other approaches (not part of pynxtools)
Aside from the tools we developed within FAIRmat, the [official NeXus website](https://manual.nexusformat.org/validation.htm) lists two more programs for the validation of NeXus files:
Aside from the tools we developed within FAIRmat, the [official NeXus website](https://manual.nexusformat.org/validation.html) lists two more programs for the validation of NeXus files:

1. [cnxvalidate](<https://github.com/nexusformat/cnxvalidate>)
2. [punx](<https://github.com/prjemian/punx>)
Expand Down
1 change: 1 addition & 0 deletions docs/reference/built-in-readers.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ This file is designed to let you fill in the requirements of a NeXus Application
The mapping files will always be based on the template the dataconverter generates. See above on how to generate a mapping file. The right hand side values of the template keys are what you can modify. These keys are called NeXus template paths, because they combine the actual path that will be used in the HDF5 hierarchy with additional NeXus datatype hints to guide the dataconverter to add NX_class annotations.

Here are the three different ways you can fill the right hand side of the template keys:

* Write the nested path in your datafile. This is indicated by a leading `/` before the word `entry` to make `/entry/data/current_295C` below.
Example:

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The first links to the official definitions by the [NIAC](http://www.nexusformat
- [Official NIAC definitions](https://manual.nexusformat.org/classes/index.html)
- [Latest FAIRmat definitions](https://fairmat-nfdi.github.io/nexus_definitions/)

The FAIRmat definitions are regularly contributed to NIAC (around every 6 months) but generally reflect
The FAIRmat definitions are regularly contributed to NIAC (around every 6 months), but generally reflect
a state which is still under development and may contain new or improved application definitions or base classes.
Consider it as the public review stage of these application definitions.
However, there might be some parts which are still under discussion and will be subject to change.
Expand Down
18 changes: 9 additions & 9 deletions docs/tutorial/nexus-to-nomad.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Uploading NeXus files to NOMAD

Great choice! [Nomad](https://nomad-lab.eu/nomad-lab/tutorials.html) makes it easier than ever to work with your research data. At this point you are probably have an idea of what [FAIR data](https://www.nature.com/articles/sdata201618) is. Even if you don't, it doesn't matter. Nomad provides a simple graphical interface that let's you collect and have your data ready for publication.
Great choice! [NOMAD](https://nomad-lab.eu/nomad-lab/tutorials.html) makes it easier than ever to work with your research data. At this point you probably have an idea of what [FAIR data](https://www.nature.com/articles/sdata201618) is. Even if you don't, it doesn't matter. NOMAD provides a simple graphical interface that let's you collect and have your data ready for publication.

In this tutorial, we will go through how one can upload their NeXus files to Nomad.
In this tutorial, we will go through how one can upload their NeXus files to NOMAD.

Nomad, as a FAIR data platform, supports NeXus and allows users to upload their NeXus (.nxs) files directly. These files get interpreted and added to your Nomad account with complete control on how you would like to present and publish them alongside your research.
NOMAD, as a FAIR data platform, supports NeXus and allows users to upload their NeXus (.nxs) files directly. These files get interpreted and added to your NOMAD account with complete control on how you would like to present and publish them alongside your research.

## Create an account

The very first thing you need to do is get a Nomad account.
The very first thing you need to do is get a NOMAD account.
If you don't have one you can register [here](https://nomad-lab.eu/fairdi/keycloak/auth/realms/fairdi_nomad_prod/login-actions/registration?client_id=nomad_public&tab_id=eWM6kat9MPc).

1. Navigate to [nomad-lab.eu](https://nomad-lab.eu/prod/v1/gui/about/information)
Expand All @@ -18,7 +18,7 @@ If you don't have one you can register [here](https://nomad-lab.eu/fairdi/keyclo

## Create an Upload

Nomad allows you to have a draft working space called an **upload**. This allows you to test and prepare how your data will look in Nomad before you publish it.
NOMAD allows you to have a draft working space called an **upload**. This allows you to test and prepare how your data will look in NOMAD before you publish it.

Go to ```Publish -> Uploads```

Expand All @@ -32,18 +32,18 @@ Click ```Create a new upload```

## Upload your NeXus file

Now we can upload your FAIR NeXus file and let Nomad interpret it for us.
Now we can upload your FAIR NeXus file and let NOMAD interpret it for us.

Click the ```Drop files here...``` button and choose your NeXus file from your device.
<img src="media/upload-file.gif" />

Once Nomad has interpreted your data, this is what your screen will look like.
Once NOMAD has interpreted your data, this is what your screen will look like.

<img src="media/nexus-file-processed.png" />

## Browsing your NeXus data

You can find the Nomad interpretation of your data under entries. If you click on this arrow, you will be able to see an Overview of your NeXus file.
You can find the NOMAD interpretation of your data under entries. If you click on this arrow, you will be able to see an Overview of your NeXus file.

<img src="media/go-to-entry-page.gif" />

Expand All @@ -55,7 +55,7 @@ On the Overview page you will be presented with ```H5Web``` that let's you brows

<br/>

Nomad also interprets and ```normalizes``` this data to make it interoperable with other corners of Material's research. To browse this ```normalized``` data you can browse the ```DATA``` tab. Here you see all the information Nomad has picked up and made available for search and comparison with synthesis, experimental, and computational materials data.
NOMAD also interprets and ```normalizes``` this data to make it interoperable with other corners of Material's research. To browse this ```normalized``` data you can browse the ```DATA``` tab. Here you see all the information NOMAD has picked up and made available for search and comparison with synthesis, experimental, and computational materials data.

<img src="media/data-tab.gif" />

Expand Down
Loading