# Module EXODUS (EXafs Of DilUte Samples)

## Module characteristics

- Goal: to load a SPEC file and selecting, viewing, averaging, and perform operations with data from multiple scans. This applications has been designed for the particular needs of the ESRF/ID26 beamline. However, it can be useful for any data analysis involving manipulation with data from several scans from a single or multiple SPEC data files.
- Input: A SPEC file (use Import->SPEC file)
- Output: The results of the operations performed with EXODUS can be injected into other XAID applications, into XPlot, and they can also be written to a file (ASCII, SPEC or DELIA format).
- Tricks:
  - Multiple selection: for exploiting all the possibilities of EXODUS, it is essential to know how to select multiple lines in the lists. Click on a line for a single line selection. Then press Shift and click on another line on the same window (while Shift is pressed) for selecting a block of lines. For selecting multiple individual lines use Control instead of Shift.

## Follow the steps

1. Import a SPEC file The list of scans appears in the left window.
2. Copy from left (import) window to right (process) window the data to be processed
   - Several controls in the left panel allows you to identify the scans you want to use and their scan columns.
     - View Scan button allows to display the header and/or data of a single scan. You can visualize other scans by either using the View Scan button in the left panel of the main EXODUS window or by using the Scan Sel... button in the created window containing the scan.
     - Plot Scan button allows to plot a single selected scan. The XPlot window helps in identifying the wanted columns. Double-clicking in a scan line has the same effect as selecting it and the pressing Plot Scan.
   - When you identify a single or multiple scans containing the data you want to use (process), then fill the wanted columns in the Cols X and Cols X boxes, select the multiplication factor of the X column to obtain X in eV (e.g., use X*1000 if the scan energy is in keV) and press the => button in the central panel. With this, your selected data is copied to the right panel (processing area)
     Use *=> button if you want to copy all the scans (independently of the selection). If you want to process data included in several SPEC files, then Import->SPEC file the next file and repeat the process. The data copied to the right window is not deleted when other files are imported.
     The example window 1 shows the look of the window after the two first steps.
3. The right (process) window allows different operations:
   - Visualization of a single data set: select a single line and press Plot button (the same effect os obtained by double-click on the data line). The data is sent to an XPlot window for visualization. You may use all the features of XPlot for analysis.
   - Visualization of multiple data set: select several lines (using Shift+click or/and Control+click) and then press the Plot button. An "EXODUS multiple plot" window appears containing an overplot of all data sets. You can zoom a selected region just selecting the wanted region with the mouse (use Zoom Out button or just click on the graph to zoom back). This window also allows to display the different spectra shifted vertically one respect to the other. For that press Edit Parameters button, select a "Shift spectrum factor" different from zero (zero means no shift, one means shift a distance equal to the height of the first displayed spectrum). Then press Accept and a shifted plot appears.
   - Delete the data sets: use the Delete button to delete the currently selected data sets, or use the *Delete button to delete everything.
   - Edit labels use the Edit:->Title option to change the labels of the data sets for a more meaningful text.
4. Operations with data sets in the right (process) panel. This is the most important part in processing your data with EXODUS. It allows you to perform a selected operation (interpolate, average, sum, perform a customized operation and fit a linear combination) on the selected data sets:
   - Operations:->Interpolation This option builds interpolated or resampled data sets from the selected ones. The interpolated/resampled data sets will have the same abscissas array. The abscissas array can be selected between different options: i) like the first data set, ii) customized with constant step in Energy scale, and iii) customized with constant step in k scale. The results can be added to the list of data sets (right panel) or be injected in XPlot for visualizing in 2D (multiple column format) or in 3D. You may want to save the results in XPlot to a file using XPLot->File->Write ASCII file with current set... option.
     Two algorithms are available:
     - Interpolation: linear interpolation. The y value for the new x value is calculated by linear interpolation between the two closer neighbours. This option is recommended when the number of points of the interpolated array is of the order or bigger than the number of points of the original array.
     - Resample: Some kind of smooth interpolation. For each resampled point x[i] of xNew it calculates yNew consisting in the average y values of all points (x,y) sitting in the interval [x[i]-0.5*step1,x[i]+0.5*step2], with step1=x[i]-x[i-1] and step2=x[i+1]-x[i]. In the case that step1 or step2 are undefined (first and last points) we used step=[x[1]-x[0]] instead step1 or step2.
   - Operations:->Interpolation This option averages the selected data sets. For that, if the abscissas are different, it makes an interpolation (see before). The result is added to the list in the right panel.
   - Operations:->Sum This option sums the selected data sets. For that, if the abscissas are different, it makes an interpolation (see before). The result is added to the list in the right panel.
   - Operations:->Customized This option allows you to program a customized operation. The result is added to the list in the right panel.
   - Operations:->Fit LinCom This option allows you to perform fit a given data set in the list (target) as a linear combination of other data sets (components) in the list. This option is useful whilst analyzing XANES spectra of compounds or mixtures, and wanted to know the percent of its components. The data sets to be used as target and components are identified by their indices in the right panel list, starting from zero. If the list is long, you may want to use the View:->Info option to help in identifying the indices of the wanted data sets. The fit is performed using the Levenberg-Marquardt [MINPACK-1] method as implemented in the MPFit IDL routine. The result of the fit is added to the right panel list.
5. Export options: the data sets in the right panel list can be exported to other applications (like XAID_MU2CHI or XAID_FF) or to a file in the following formats:
   - ASCII file a file containing two columns and an optional commant line. Only a single data set (not multiple sets) can be stored in an ASCII file.
   - SPEC file The selected data sets are written to a new SPEC file or added to an existing SPEC file. This option is particulary useful to save some kind of workspace of the current work: just select all data sets in the right panel and save to a new SPEC file. The resulting file can then be imported in a new EXODUS session.
   - DELIA file The selected data sets are written to binary file in DELIA format. Note that this option does not save the labels. The data sets will be indexed in the DELIA file as they appear in the right panel.

## FAQs

- Can I do other operations like spline, convolution etc. on the spectra?
  Yes, but on a single spectrum. Just double click on the data set line in the right panel, and use the Caluclations menu in the XPlot winwdow.

## Window examples

Window 1. Status of the EXODUS window after steps 1 and 2.

[Back]