1. High Throughput Software forHigh Throughput Software for
Powder DiffractionPowder Diffraction
Taha SochiTaha Sochi
2. TEDDITEDDI
Tomographic imaging technique which exploitsTomographic imaging technique which exploits
synchrotron to gain diffraction information fromsynchrotron to gain diffraction information from
volume elements within a bulk sample.volume elements within a bulk sample.
Used to image the interiors of objects in termsUsed to image the interiors of objects in terms
of both density and compositional variations.of both density and compositional variations.
Each volume elementEach volume element
visited yields avisited yields a
diffraction patterndiffraction pattern
3. SoftwareSoftware
Currently there is no customised software forCurrently there is no customised software for
TEDDI analysis. Instead, scripts are in use:TEDDI analysis. Instead, scripts are in use:
Read dataRead data
Beam & counting efficiency correctionsBeam & counting efficiency corrections
Visualisation stepVisualisation step
Export to Rietica/TopasExport to Rietica/Topas
Fitting in Rietica/TopasFitting in Rietica/Topas
Visualisation of final resultsVisualisation of final results
4. EasyEDDEasyEDD
High throughput software to manage, process,High throughput software to manage, process,
analyse and visualise powder diffraction data.analyse and visualise powder diffraction data.
Purpose: processing large quantities of dataPurpose: processing large quantities of data
with ease and comfort using limited time andwith ease and comfort using limited time and
computing resources. This batch-processingcomputing resources. This batch-processing
approach is needed for the new generation ofapproach is needed for the new generation of
high throughput TEDDI detectors.high throughput TEDDI detectors.
5. EasyEDDEasyEDD
Combines Graphic User Interface (GUI)Combines Graphic User Interface (GUI)
technology (e.g. wizards, dialogs, tooltips,technology (e.g. wizards, dialogs, tooltips,
colour coding, context menus, etc.) withcolour coding, context menus, etc.) with
standard scientific computing techniques.standard scientific computing techniques.
6. ResourcesResources
Qt toolkit and its extensions (Qwt andQt toolkit and its extensions (Qwt and
QwtPlot3D) for GUI design.QwtPlot3D) for GUI design.
Extensive library of scientific numericalExtensive library of scientific numerical
recipes.recipes.
Large number of tailored algorithms, functionsLarge number of tailored algorithms, functions
and techniques.and techniques.
Standard C++ library.Standard C++ library.
7. Current StateCurrent State
Four data file formats are currently supported:Four data file formats are currently supported:
SRS 16.4, ESRF XY data, Diamond MCA, andSRS 16.4, ESRF XY data, Diamond MCA, and
Manchester ERD format. The code can beManchester ERD format. The code can be
easily extended to support other data formats.easily extended to support other data formats.
ERD DetectorERD Detector SRS 16.4SRS 16.4
8. Current StateCurrent State
The data files are read and automaticallyThe data files are read and automatically
recognised (e.g. SRS, scalars or vectors). Therecognised (e.g. SRS, scalars or vectors). The
data is then stored and mapped on a 2Ddata is then stored and mapped on a 2D
colour-coded grid. Multiple tabs from differentcolour-coded grid. Multiple tabs from different
data sources can be created (and removed) atdata sources can be created (and removed) at
the same time.the same time.
Correction, graphing and fitting capabilities areCorrection, graphing and fitting capabilities are
implemented.implemented.
9. Standard GUI window with menus, toolbars, etc.Standard GUI window with menus, toolbars, etc.
ComponentsComponents
10. 2D colour-coded scalable tabs for voxel2D colour-coded scalable tabs for voxel
mapping with graphic and text tooltips to showmapping with graphic and text tooltips to show
all essential file and voxel properties.all essential file and voxel properties.
ComponentsComponents
11. 2D plotter to obtain a graph of intensity for any2D plotter to obtain a graph of intensity for any
voxel by clicking on its cell. It is also used tovoxel by clicking on its cell. It is also used to
create basis functions for fitting.create basis functions for fitting.
ComponentsComponents
The plotter capabilities include:The plotter capabilities include:
Creating, drawing, modifying and clearingCreating, drawing, modifying and clearing
fitting basis functions (polynomials ≤ 6,fitting basis functions (polynomials ≤ 6,
Gauss, Lorentz and pseudo-Voigt) by simpleGauss, Lorentz and pseudo-Voigt) by simple
click or press and drag actions.click or press and drag actions.
Non-linear least squares curve fitting byNon-linear least squares curve fitting by
Levenberg-Marquardt algorithm.Levenberg-Marquardt algorithm.
Save image in several formats.Save image in several formats.
13. Spreadsheet formSpreadsheet form
which interacts with thewhich interacts with the
plotter to control theplotter to control the
refinement processrefinement process
with plotting andwith plotting and
saving capabilities tosaving capabilities to
facilitate massfacilitate mass
application of curveapplication of curve
fitting.fitting.
ComponentsComponents
14. 3D plotter to obtain a graph of the current tab3D plotter to obtain a graph of the current tab
where intensity is plotted as a function of thewhere intensity is plotted as a function of the
voxel position in the tab.voxel position in the tab.
ComponentsComponents
15. Curve fitting can be done on a single orCurve fitting can be done on a single or
multiple peaks using any number of basismultiple peaks using any number of basis
functions with and without background.functions with and without background.
Curve FittingCurve Fitting
Curve fitting can be performed for a singleCurve fitting can be performed for a single
pattern, a number of randomly selectedpattern, a number of randomly selected
patterns, a whole tab or a number of tabs.patterns, a whole tab or a number of tabs.
After curve fitting, a widget is created inAfter curve fitting, a widget is created in
which the statistical indicators andwhich the statistical indicators and
refinement parameters are displayed. Fromrefinement parameters are displayed. From
these the colour code can be changedthese the colour code can be changed
according to each one of these quantities.according to each one of these quantities.
Restraints are partly implemented.Restraints are partly implemented.
16. From Olivier Lazzari:From Olivier Lazzari:
Data SamplesData Samples
Area of a peak after fitting toArea of a peak after fitting to
Gauss with linear backgroundGauss with linear background
Raw data with initial scalingRaw data with initial scaling
Real life pictureReal life picture
of test objectof test object
(From Simon(From Simon
Jacques)Jacques)
Schematic of testSchematic of test
object (Fromobject (From
Olivier Lazzari)Olivier Lazzari)
17. From Vesna Middelkoop:From Vesna Middelkoop:
Data SamplesData Samples
Area of a peak after fitting toArea of a peak after fitting to
Gauss with linear backgroundGauss with linear background
Raw data with initial scalingRaw data with initial scaling
Schematic of pipe (FromSchematic of pipe (From
Vesna Middelkoop)Vesna Middelkoop)
Illustration of TEDDI principleIllustration of TEDDI principle
(From Simon Jacques).(From Simon Jacques).