 Okay, thank you for introduction and thank you for inviting me here, so I can present you the results of our latest development in this field. Yes, I'm from your installation source and I'm going to present you today our new project called EasyDefraction, a new easy to use software for analysis of diffraction data. But before I switch to the description of this project, let's have a very brief introduction on different scattering techniques, beams of neutrons x-ray and electrons interact with this material by different mechanism. Here you can see the schematic view of the crystal structure, its surface, and position of nuclei. And then now we can see also the electron clouds around nuclei. And electron beams interact with electrons inside the material electrostatically. As you can see here, those are charged particles and they are not very suitable for bulk studies. Another type is x-ray radiation, it also interacts with electrons, but the interaction is now electromagnetic. And these interactions are also strong, but even x-rays, x-ray beam doesn't penetrate matter very deeply. And heavy atoms scatter better than light atoms, so those atoms with many electrons and large atomic number. In the case of neutrons, they now interact with atomic nuclei, as you can see here. This type of interactions are very short range and because of strong nuclear forces, you can, neutrons can penetrate matter much more deeply compared to x-ray and electrons. And beside this, neutrons can interact with unpaired electrons. So as you can see here, this type of interactions between magnetic moment of neutron and magnetic moment of unpaired electrons, if prior to the magnetic scattering, while we interact with nuclear, you get the nuclear scattering. And neutrons have kind of random dependency of atomic number, so elements which are close to each other can have quite different neutron scattering lines and there is also dependency on isotones. So this defries to some advantages on neutrons. And at this slide, you can see the development of neutron sources over the past 100 years. That x-axis is here and this axis is an effective neutron flux. The classical research in neutron sources are fission reactors, so they are shown here in orange and they have reached the technical limits as far as neutron flux is concerned. But there is an alternative way with many advantages, so-called spallation, which is the base for the spallation sources and at some point they become more powerful compared to the reactor sources. And this neutron source here, called ESS, or spallation source, is a new generation facility of neutron spallation sources, which is under construction and installation in Lund. Now you can see the digital model of ESS. That's how it should look like when everything is completed, so Lund is somewhere here. It's a synchrotron Max IV. This part is ESS with accelerator, experimental holes. That's a science village in between there. And now you can see the design of Europe's spallation source. The facility design and construction includes a powerful linear proton accelerator here. So proton beam hits the target here, it's a heavy and large tungsten target. And spallation processes in the target produce neutrons. There are more than 20 instruments to be constructed and installed around this target in different experimental holes, experimental holes 1, 2, and 3. And then neutrons, neutron beam hits a sample that's shown here, hits a sample and the detectors register the neutron scattering, giving precise information about the material structure and dynamics. While ESS is under construction in Lund, ESS data management and software center, the MSC, is located in Copenhagen. We develop software for all the steps in the data processing workflow, starting from instrument control, data reduction, analysis, and so on. You can find more information about ESS and our center online, that's ESS.eu, that's that link. Now, a variety of techniques can be used to probe structure. To a certain extent, the method of choice depends on the land scale of structure to be investigated. To study bacteria and crystalline grain structures with land scales from 10 to the minus 3 meters down to 10 to the minus 7 meters, optical and electron microscopy can be used. Microstructures down to 10 to the minus 9 meters can be studied with small angles country. And last week, you had a presentation of SASvue software, which can help you to analyze this type of data. And for smaller structures, for atomic structures down to 10 to the minus 11 meters, diffraction techniques are used already. And this part, ESS diffraction software can be used to analyze diffraction data. And now you can see this nice picture from Neutron Scattern chapter, illustrating the Neutron diffraction process. And that's a Neutron man, which personifies the Neutron's dual nature, exhibiting wave and particle properties. And here it enters a crystal lattice as a plane wave, interacts with a crystal shown in green atoms here, and then becomes so interference effect and outgoing plane wave. This direction dictated by preqspo, and then it's absorbed by helium atoms in Neutron detectors, for example, and thus we measure its density, time of light and so on. So before we continue, let's have a look on different steps in the data processing workflow in your experiment. So you would start your experiment and explain Neutron diffraction with collecting your experimental data, and maybe just record one-dimensional Neutron diffraction part, or collect images from two-dimensional position detector. And then you need to apply some corrections. You might want to reduce your two-dimensional data into one-d Neutron diffraction part. The next step would be to compare your experimental data with your simulated diffraction part based on your model. And then you might need to archive your data or add it to the data catalog, and so on. So easy diffraction covers this step, data analysis, and why we started to develop new software for diffraction data analysis. Of course, in the field of diffraction, there are already a number of programs available, such as pull-prop, YANA, Jesus, Shalicks, commercial software to pass, and so on. But there are a number of disadvantages, especially for us as a new source. None of the existing software covers all the functionality we need at ESS, so the end user would need to work with different software, depends on the technique, type of diffraction techniques they use. Another problem is usability. Most of the existing software packages are not user-friendly and not intuitive, and that creates a large entry barrier, especially for new covers. And another point is maintainability. Those packages are often created by scientists. This one-person project, they're not sometimes open source and difficult to maintain. So our idea was to rely on existing libraries instead of existing programs, such as ChrisFML, it's a crystallographic fortune model library developed at ILL, a space of well-known full-proof program, ChrisPy, a new library, Python library developed at LLB, CCCB, crystallographic library for macromolecular, crystallography, and so on. And in this case, we could use several libraries to cover all the functionality we need. We would create an intuitive and user-friendly graphical interface on top of that to communicate with different libraries. And we are doing this following the best practices in software development. It's an open-source project publicly available on GitHub. So the solution concept diagram would look like that. So we choose whatever library we need, for example this new ChrisPy, Python library, ChrisFML fortune library, and in principle, any other libraries we need. Then we create a unified Python API on top of that, and the end user will be able to run calculations in those libraries with the same unified interface from playing Python scripts or using Jupyter node books, or from graphical user interface. And if we need another technique, we could just implement the support of another library, and then the user would still have the same unified interface to run those calculations. What I'm going to show you today is a diffraction. It currently covers just those three parts, because we have just started to work on this project last year. Some of the features of this diffraction. Again, it's a free and open-source project. We distribute it for different platforms, macOS, Windows, and main Linux distributions. It is distributed as all in one package, and everything is included. Also dependents, also libraries. There is no more need to add environmental variables or install something separately. You even don't need your system Python to run it. User interface is based on user experience and intuitive type interface. The project files are based on human readable syntax, star format, and TIFF dictionary. It's a crystallographic information file with specification of international union of crystallography as much as possible. It's multifunctional in terms of it now supports just a single library, Chris Pride. That's why this item here is orange, not green, but we are going to add support of other libraries as well. And currently, it covers just one-dimensional, unpolarized and polarized neutron-powder diffraction data measured with constant wavelengths, but we are working on implementation of other techniques. Now, if we get back to this analysis step, it also can be split up in smaller sub-steps. It would usually start with a description of your sample. In this case, you describe your crystal structure, your parameters of your unit cell, atomic coordinates, atomic displacement parameters, and your symmetry and so on. The next step would be to add your experimental data and instrumental parameters, such as for constant wavelengths experiments, wavelengths, zero offset, instrumental resolution function, and so on. Then you would actually fit your experimental data to the calculated curve created based on the parameters described here on those two steps. And where I, in those parameters, you try to find the best agreement between the simulated curve and experimental data, so you are trying to minimize this difference between simulation and experiment, and obtain the best parameters. Then you might want to create a report of the work you've done, and even before the sample description, you would create a project structure and add it to your project. This data analysis workflow is implemented in this state to the easy diffraction. As you can see here, that's a two-bar of easy diffraction with all those steps, project, sample, experiment, analysis, and summary as buttons, so you can switch from one top or one page within the application to another. The data analysis process is split it up into smaller steps, plus one more step at the very beginning, the home page. In addition, you've got several buttons on the left and right side, like application properties, the ability to save the state of your project and do and redo. Here on the left side, you've got the main window, where you can see in this case for the analysis tab the comparison of your measured data and view and your calculated data and read, the background curve, position of break peaks, and the difference curve, and you can see it in a visual form or switch to another tab here to see it as a plain text description. At the bottom, you've got the status bar with some essential parameters like goodness of feed, number of feed parameters, number of experiment data blocks and phrases. And on the right side, you've got the sidebar with all the controls for the main window. In this case, for analysis tab, you've got the list of parameters you would be able to refine, their values, units, standard deviations, and you could select which parameters you want to feed. And it also has two tabs for the basic controls, the most essential ones and advanced controls for experienced users. And every tab here would have its own lower part. Now, a few words about project file. It's based on geographic information, file standards, and the project is game-splitted into several files. For every step, you get your own file. For project, you have this project.siv. It's just a description of your project, the name of your project, keywords, and past to samples, experiments, and calculations. And the next one is sample, samples.siv. That's nothing else as a standard, geographic information file, how you can find many online databases, crystallographic databases. You've got the name of your data block, then the description of a space group according to the international tables of crystallography, parameters of your unit cell, A, B, and C. Some of them are not shown here for simplicity. Then you've got a kind of table with atomic coordinates and other parameters. So every line here is the kind of title for the column in your table. That's a label, type symbol. So C columns x, y, and z coordinates, a cube from C, atomic displacement, parameter, type, and its value, and so on. Next file is experiments.siv, where you describe your experimental data. Those three columns are measured to theta, scattered angle, intensity, and standard deviation, plus some instrumental parameters like wavelength, offset, instrumental resolution parameters. We use the same syntax as in the samples.siv as much as possible. And finally, you get the calculations.siv with a calculator practice. Now you can find the latest version of easy diffraction on its web page. It's easy to find just easy diffraction in one more dot org, where you could download it for different platforms, as you can see here, macOS, Windows, major Linux distributions. You can find some documentation, how to, what is needed for, how to install launch and uninstall easy diffraction, description of its user interface project files, and all the steps in the data analysis workflow. You can even find some video tutorials on how to install creative projects and so on. And of course, you have also get in touch form, and we are happy to hear anything back from anyone about how easy or not easy this to use this software, which features you would like to have in this software. Maybe you would be able to contribute to this software to implement a new technique, which is currently not implemented. So we would be happy to hear from you. The source code of this program is available on github on the version control, then just easy diffraction, and now kind of a live demo of this software. So you can then download it from easy diffraction.org. Let's put the same one here, told you, just click this button, one of those buttons and download the software. Then it is quite easy to install the software. You just need to run installer, select installation folder. That's in few peaks. The software is installed, and then you can run it. Then how it looks like if you start from the first time, this introduction animation can be switched off. Now this home page has, yeah, basically we have some built-in user guides, so small orange windows to highlight some essential points in the software and guides you through the software. How to do this data analysis if you just started for the first time. Here, for example, you can find the links to online resources like video tutorials, online documentation, get in touch form. You can open online documentation, contact us. That's application preferences. Now you could start your simulation when you just go to this page. There's no project yet, so you need eyes to open an existing project, create a new one, or click one of those buttons to load certain samples as given here. So let's say we want to create a new project, just disable those user guides. So you can create a new project, specify its name, define its title, and then as you can see samples and experiments are not information about the sample and experiment. It's not described or not loaded yet, so we need to do this. So we go to the next step, and at this step we import the sample description. As you can see here, it's just a plain text description, a zip file with your crystal structure. So when this crystal structure is loaded, you can already see here is a simple viewer of the crystal structure. You can do some basic stuff. And if you switch to another tab, this sample.zip, you can see the content of this zip file. There's a data block, parameters, and the same information can be accessed here on the sidebar where you can see your symmetry and cell parameters. In this group, atoms, atomic coordinates and occupations in another group. Atomic displacement parameters in the next group. So the same information as is presented in zip file is also given here on the sidebar, but in just a more convenient way. Now, when sample is described, we go to the next step, experiment description. Again, we need to import our data. If you have one in zip format, like this, this is instrumental parameters and measured data. So show three columns are measured data. You can load it. If you don't have one, you just open a plain or empty experiment store that file with just three columns, sketching, angle, data intensity, and standard deviation, and the header. The header will be created for you by the program. So we just open this one. Then we can see the measured data. You can zoom, zoom, see this data in table form. And again, you have access to the text description. And again, we can see all the parameters, like big profile parameters, instrumental resolution function, background, structural phase. So this phase here is the same as here in the samples.zip. So once everything is loaded, like sample and experimental parameters, and experimental data, you can actually start your data analysis. From this tab, you can already see on the sidebar the list of all the parameters which are described on the previous steps in the sample and experiment pages. And now you can compare your measured data shown in blue with calculated curve in red, and green curve at the bottom is the difference. So now we can see that there's a huge difference between the measured and calculated data. So what you can do, this lab icon here correspond to the sample parameter, and this one here correspond to the experiment parameter. And now we could just click on any parameter, change its value, and see in how your simulated curve changes, so we could compare it with your measured data. Now we can see that the background is completely different. So in our case, just 10, in that case it's about 900, so you can change this value manually and see. So now we go to the description. The wavelength is also different, the experimental wavelength was 2.4 Armstrong. So now we can see it's a little bit better. You can also play with those parameters using this slider at the bottom. Just change this value here and you can see how it influences your simulated curve. So now when you play with it, you might want to refine those parameters. So allow the program to automatically find the best parameters to have the best agreement between the calculated and measured curve. In this case, you just select the level parameters you want in the sidebar. You just click on this checkbox what you want to refine. Some atomic coordinates for oxygen, cell length A, it's a single parameter for cubic system, and you can see this blinking button on top saying that something, some analysis processing. And when this is done, you see some results. And as you can see, something went wrong. So we have a even worse description of our measured data. But in this case, you can always undo your refinement with this button on the top right corner. Or you can undo even single change of parameters. Let's undo it, get back to the previous step. So maybe you shouldn't allow to refine too much parameters at once. And that's advanced controls. Tap in the sidebar, maybe do some additional stuff. And now you can see we have a better agreement. So we refined a few parameters. Now we want to refine some more parameters again. And on this tab, we can see the results of refinement, the position of the hkls and the intensities. During the refinement, you could go from one tab to another. And the refinement is done. You can see that you have a better agreement, but still our calculated curve is higher than the experimental one. So we might need to add a few more, just one more ground points. So we just got two of them. You can go to this experiment if add one more point at 80 degrees. And when we go back to the analysis tab, this point is added. And if you put brackets, it's in the plain text description. It's the same as to allow this parameter to be refinable. And we start new refinement with small background points and also refine some resolution function parameters. And this is done. You can see that it's so much better. So we have quite reasonable agreement already between your measured data and experimental curve. And then when the refinement is done, you go to the last step summary. You can see this report created for you. The description of the project is a table of parameters save this report as HTML or PDF, the same as here. And this button allows you to save the current status project. So you can also, you can always open existing projects. For example, this would be just a folder with all those CIF files in it. And you see it just a project.cif. You open it and that's your project, your project description, some images associated with this project. Or you can open the project which is zipped, the project we started from. Or you can choose one of those examples here. So you single click, you open a new example and you can play with it. Now you can see the polarized Newton diffraction data. Up plus down, up minus down, and so on. And you can save. So if you change something in your project and the data is not saved, and you want to close the application, just informs you that something is not saved. So that's basically the demonstration of the application. And just to tell you a few words about project development. So we started with implementation of just one library, ChrisPie. But even in this case, there are still parts which are not implemented into graphical user interface. So we are going to add those missing things. And we are going to implement a new ChrisFML library, the base of the well-known photo program for diffraction data analysis. This way we are going to cover missing techniques like time of flight, single crystals, data analysis, x-rays, data analysis. On the analysis part, we are going to implement constraints and multiple phases and support of multiple phases and multiple data blocks. Also implement automatic updates when new version of the program is released and automatic save of project files when you work with this, with this new project and much more. And so we will be happy to hear from you your feedback and you can contact us. For example, this is diffraction.org, contact form. And that's it. Thank you for your attention. Okay, thank you very much. And during your talk, actually, we received many questions. I hope you're happy. So we can start step by step. The first question is indication of timeline for additional functionalities such as top-needron data and combined data sets and refinements. That's the first question. Sorry, could you repeat the question? Indication of timeline for additional functionalities such as top-needron data and combined data sets and refinements. When they will be available. It's a difficult question. It's a difficult question. So the point we just started with this project last year, so we have a first kind of first release is just the limited functionalities. And now we are collaborating with other facilities as we have limited resources. We're collaborating with other facilities to implement Christopher Mel library. This is a library developed at ILL. And this library covers many aspects like time of flight and many, many things. And now they have created the first version of Python binding to this library because the library itself is a photon-based. So they're creating the Python binding and we are now trying to see how to implement this binding into our graphical user interface. So we are going to try with this in the near future. So I think we would have something this year, but I can't say user like executives. Also, we are working in collaboration with another facility at LLB to implement the other functionality from CRISPR library. And they are also going to introduce additional functionality to CRISPR. For example, time of flight data is not possible yet to calculate in CRISPR, but they're also going to add this. So we are trying to collaborate with different facilities and task make it faster. Yeah, I know that it makes this possible. Yeah, yeah. Okay, because then there is like a second question, maybe it can be connected, right? So would it be possible to load the GSAS and full-proof PCR flies into easy detraction? We already have requests to add support or allow easy diffraction to imports data from other programs like GSAS and full-proof. We are going probably to add something, but not from the beginning because in this case, it's kind of complicated because every external software and other software depends on their own formats. So then we would need to support all different formats and follow the changes. Also, that format is changing on other programs. On the other hand, you can already now import TIF format. And this file, at least for the sample description, can be generated by other packages like full-proof, for example, or JANA. So we could generate this and then import this TIF file, import your data and manually change those parameters. But in principle, yes, people would like to have better support and easier transition from one software to another. So maybe at some point, we would also introduce a possibility to import other formats. Okay, then there is someone in the audience, Pascal Manuel, that would like to ask you directly some questions. So maybe we unmute Pascal Manuel and we give you the word. Hi, Andrew. Can you hear me? Hi, Pascal. Hi. So thanks for the talk. There's some nice features there, like seeing real-time what the parameters do to your thing. But the example is, like so far, very simple. So it's hard to know whether to... Pascal, we are having an issue with the microphone. Yeah, so interruptions. Can you please repeat your question, Pascal, because there were some interruptions. Yes, your microphone. How are you working on this? Yeah, several interruptions. Yes, so... How many people are working on this? Currently. There are just a few of us, two, three persons who currently work on the development of easy diffraction. I would say, Pascal, if you have more questions or if you have detailed questions, because we have connection problems, maybe you can type them, you can write them, and then we can address them to the speaker. I would just add that we would be happy to collaborate with other facilities. So to faster implement all the features, to have this interface available at different places. And there are interests at some universities about easy diffraction. So you might have a student or a PhD student to contribute with to implement something. So we would be happy to collaborate with everyone. It's an open source project and everyone would be... Very good. So there is a very long specific question. So I believe maybe I can just share it with the speaker. And I can just read it or maybe you can just share it with everyone so that also the other people in UDMS can read it themselves. So is there a specific question about Lorentz correction or simulating diffraction pattern? So can you read it? Can you see it, Andrew? I know, I can't see anything. On the message, on the chat panel. Okay, we'll ask out. So a specific question about Lorentz correction for simulating diffraction patterns. In the literature, Lorentz factor is 1 by sine 2 theta for monochromatic beam diffraction, while Lorentz factor is 1 by sine theta square for low diffraction using wide beam. Are these two Lorentz correction always holds in corresponding conditions? In some cases, it's found that taking Lorentz factor 1 by sine 2 theta is in better match with experimental data for diffraction using wide beam, which seems contradictory to your thoughts. Well, that's a kind of specific question. So I'll be happy if you contact me or any other in our group so we can discuss it in more details. But in principle, I just want to say that this software is based on the existing and new libraries for crystallographic data analysis, diffraction data analysis, and all the corrections and everything which is needed on the analysis step are done there through those libraries. So we don't develop a new library for the calculations. We develop a new interface to communicate with existing libraries. And so all the mass, all the things are there. But anyway, just feel free to contact us if you have some specific questions like that. Great. Yes, exactly. As you said, we always remind the audience that I can directly contact the speakers via email if they have specific questions. But now Pascal wrote his questions. Again, we're trying to share with you, Andrew, and with the audience. I would say, like, are there factors given, looked like just key? Chi-square. Can you see correlation between refrying parameters? That's the first question. And then it continues with others. Not, yeah, I have found those questions in the chart. Okay. So for some moment, this software, we started as a prototype of graphical user interface. And then step by step, we just decided to have it more interactive to bind with the real library. And then we just add the basic things or something which came to our mind at the very beginning. So many things are not yet there, like our factors are not yet displayed on the Chi-square. Currently, you can't see the correlation between the parameters, but we would like also to add this chart and the ability to see the correlations. Now about replacing full proof. Yeah, is the aim to completely replace the full proof? I would say, at least not from the beginning. This, from the beginning, simple and intuitive software, which would not be able to cover everything which is currently possible for this full proof. Especially if you think about the full proof suite where you've got a lot of other small programs to do some stuff, even some data reduction and irreducible representation and so on. But so the idea is to have an intuitive interface, especially for newcomers, and a way to work with those libraries via Python interface and Jupyter notebooks. And maybe at some point, it will grow up so it could cover everything which is needed and everything which is covered with full proof. We'll see. We would like to extend it as much as possible. And the same is with magnetism. Magnetism is not currently yet implemented. It's just a local susceptibility approach implemented based on CRISPY library with local susceptibility tensor, not unpolarized mutant diffraction, not unpolarized magnetic structure analysis. Richard Bordy is taking false not yet PDFs. There was a request to implement PDF. But for that, we need to bind this GUI with another library for PDF data analysis. And that's again the matter of resources if we find someone or if there is a strong need. We will see a strong need for that. We will work on this. 2D refinement is not done, but for 2D refinement, we need proper software or proper library to calculate this 2D data, which is not available as I know anywhere. There is a 2D data analysis increased by for polarizing and diffraction data, which we also going to implement at some point. So there are a lot of specific questions there. Yes, I would say actually, I mean, we invite Pascal, of course, to have a further discussion with Andrew, but we continue with other questions from the audience. So I think this one is a more general one. So a person in the audience says, so hello, I believe that there was a program from all the diffraction resources called Mantid. So we will be integrated further into Mantid or it will be standalone. So Mantid software is a software for this step, data reduction. Okay, right. When the data is reduced, we can then do some data analysis. And that's already at this software is a diffraction. So we are not going to have easy diffraction to be a part of Mantid. We would rather separate as separated here and steps. You have one software for instrument control, another software for data reduction, the next software for data analysis. So we are going to follow this logic. Okay, great. So we could do in the last couple of questions, I would say. So can we do time of flight calculations from the diffraction spectra specifically for different phases of same species? Time of flight is not yet implemented into easy diffraction. But that's one of our highest priority because ESS is a spallation source. So we need time of flight. So we just started with something which was easier to bind with our GUI to improve the GUI, to improve something. But that's the next important main step here. Okay, meanwhile Pascal, Manuel, thank you very much for your answers. We continue with another question. So is it possible to determine the oxygen vacancies in magnetic materials from the diffraction spectra? Oxygen, sorry, oxygen, what? Vacancies in magnetic materials. I mean, in the audience, there might be people that are not familiar at all with the software or the application. Well, currently, for magnetic materials, we just support one technique, polarised, classical polarised nutrient diffraction data, so called flipping ratio method. And for this case, on powders, you can refine the parameters of your magnetic susceptibility tensor on your atom. This is possible now. And we are going also to implement single crystal data analysis, so we can do this on powder and single crystals. As a standard analysis of magnetic materials, it's not yet implemented. And this would be also one of the next steps, either with crystal formal or CRISpy.