Skip to main content

X-Ray Diffraction Patterns

This module allows visualizing and processing X-Ray diffraction patterns. You can upload .brml files which are generated by Bruker machines, .xy files generated by PowDLL, and jcamp files.

Screenshot of the XRD analysis module


Files can be uploaded either by drag-and-drop to the field on the left-hand-side (1 in the image) or automatically from the instrument. The files will appear in field 2. Note that you can only upload files to samples to which you have write access.


To add patterns to the visualizer, click on the + in field 2. The sample will then appear in field 3 from which you can control the visualization settings.

If you click on the color in a row, you can select any color you which for the line, and you can use the control buttons in the top right corner of field 3 to control which figures you show in a spectrum.

In the chart you can draw a rectangle to zoom and double click to reset. You can move the graphs by pressing SHIFT ⇧ while dragging them.

Currently, we only display 2Θ vs. the counts on the detector.


Field 4 gives you some basic processing tools. For example, you can get the derivatives of the patterns or normalize it. To scale the maximum intensity to one, you should use the Rescale (x to y) option.

PXRD pattern database lookup

In the ELN you can find a text field in which you can enter a COD or CoRE-MOF reference code to obtain the predicted pattern for a structure from those databases.

database lookup

For example, if you enter KAJZIH you will find the predicted powder pattern for Cu(I/II)-BTC. As in the other views, you can also generate a smoothed version.

lookup result


A PXRD pattern can be predicted by either:

  • Dropping or pasting a CIF file;
  • Inserting the cell parameters (i.e. a, b, c, alpha, beta and gamma) of a given structure;
  • Entering a COD or CoRE-MOF reference code (e.g. KAJZIH).

Feature requests and support

If you need additional tools and support for this module, Open an issue on the xrd-analysis GitHub repository or simply post a question on the forum.

Columns customization
In many tables it is possible to select which columns to display. This is achieved by clicking on the icon.

After clicking on the icon a dialog box opens that allows to add a new column.

There are 5 parameters to fill for a new column:

  • name: the column name. This will be displayed as the header to the column.
  • rendererOptions: options that allows among other to format numbers. One very useful formatter is numeral (see after)
  • width: number of pixels for the specific column. May stay empty for automatic layout.
  • forceType: select how to display complex values (see later)
  • jpath: where to find the information to display in the column

In order to add a new column you need to select the jpath using the hierarchical drop down menu.


Columns can be moved or rearranged as well.


rendererOptions: numeral


Value to formatrendererOptionsResult
0.3numeral:'#.0 %'30.0 %


In the database some values are stored as an object that needs to be displayed to the user in an intuitive way.

For example the unit type will store in the database the value using as units SI (we convert the data to the units defined by the 'standard international') and specify in which units the user would like to display the data. So in the following example we are in fact storing the value -150°C by storing the value in SI (Kelvin) and specifying that the user wants to see it in °C.

"SI": 123.15,
"unit": "°C"

Another example is the valueUnits type that will store the data in 2 different properties (value and unit). In this case the value is stored in the specified units and there is no conversions.

"value": 123,
"units": "°C"

While this way to store the data in the database is very practical it is not the way that the user would like to see his results. We have therefore the possibility to forceType: define how the user would like to see the results.

Other types include mf. This formatter allows to correctly display a molecular formula that is stored in the database as "C10H20O3". i.e. it will put the numbers in subscript (C₁₀H₂₀O₃).