XPCS Analysis 8-ID
This Wiki page is dedicated towards providing documentation on 8-ID XPCS Data Analysis and Visualization
Overview
The sections below provide description of Visualization of XPCS results followed by details on Data Reduction/Analysis of Raw Data to yield Correlation functions.
XPCS metadata and results are primarily saved into a HDF5 file format based on a Data Exchange format defined at the APS.
MetaData File (HDF5)
The concept is as follows: There are groups in the HDF5 file that are part of the Data Acquisition and these are categorized into the following:
/measurement
/measurement/instrument
/measurement/instrument/acquisition/
/measurement/instrument/detector/
/measurement/instrument/detector/roi/
/measurement/instrument/detector/kinetics/
/measurement/instrument/source_begin/
/measurement/sample/
The above groups each contain several HDF5 datasets or parameters which have a scalar, vector, ND arrays or string attributes. The above are present in every metadata HDF5 file associated with each data acquisition. This file is saved in the same directory/folder as the raw detector images file itself.
Analysis Parameters (XPCS Group)
When a data set is processed which primarily means some sort of a correlation analysis, then the parameters that are needed to analyze the data such as:
- user defined mask
- wave vector maps (called as qmaps) where each wave vector or an azimuthal angle is characterized by a unique integer in what is called as a digitized map
- look up table that links the integers in the qmaps to the q/phi values
- Start and end frame numbers to be processed which could be a subset of the frames collected
- More intricate (meaning ones that are not changed from their defaults often) analysis parameters such as the multitau delay level, striding and averaging frames prior to correlation
- location of the file in the local as well as in a remote file system
- A very critical field which defines where the output of the computation - the results - are saved in the HDF5 file.
The above parameters (data sets) are saved in the HDF5 file in a special group called "/xpcs". Often, a user analyzes a given data set more than once if not several times which could each be under different conditions such as varying one or more of the above analysis parameters. While there might be a short sighted convenience seen in keeping these different analysis into separate HDF5 files, the concept of maintaining groups in the same HDF5 file has a higher value as the user will readily know all the different analysis or processing that are done to a given data set.
Embracing that idea, the current implementation defines the first time analysis group as "/xpcs" and the output of this analysis is saved into a group that is defined under "/xpcs/output_data" which usually points to a group named "/exchange".
For every subsequent analysis that is performed, the XPCS group is called "/xpcs_N" where N=1,2,3,4,..... In the same way as described above, "/xpcs_N/output_data" points to "/exchange_N".
Result Structure (HDF5 EXCHANGE Group)
A visualization package is provided that is called "VIEW_XPCSGUI_RESULTS" which is maintained in the APS Internal Version Control repository Subversion.
- The package primarily comprises of a GUI called "viewresult" which has easy pre-defined plots for visualizing typical parameters such as the SAXS I(q), Average intensity variation with time, I(q,t) which shows the SAXS variation with time and most importantly the time correlation functions, g2, as a function of q and phi.
- Additionally, there are functions that are available to place the entire data structure into the Matlab workspace for processing that the user might want to do. The function is called as follows (as a default) with the HDF5 file as the only argument in which case it will open the default "/xpcs" group. Recently, a new function has been added called "select_xpcs_group" in which the user could specify a second argument called "first" or "last" which will then select the first which is "/xpcs" or the last which is "/xpcs_N" where N is the highest number found in that HDF5 file.
- result = loadhdf5result('FeO_20nm_film5_44p90mm_027_0001-0212.hdf');
Alternatively, the user could call the above function in the following way in which case it would open "/xpcs_3" in the example below. result = loadhdf5result('FeO_20nm_film5_44p90mm_027_0001-0212.hdf','/xpcs_3');
- A function called hdf5_find_group_suffix('FeO_20nm_film5_44p90mm_027_0001-0212.hdf','/xpcs') would return an integer N where N is the total number of "/xpcs" groups that are present in the HDF5 file.
- aa
Result Structure (.mat File)
While the above described HDF5 format offers several advantages and convenience, some times it is convenient to save the results into a native .mat file, which is the binary format of Matlab. (Note that as of R2016 or so, .mat is also internally a HDF5 file but the groups and data sets in such a file are not seen outside and the file can be read using native Matlab funcion "load".
- load SPS64_140k_200nm_154C_F2_TimeSeries_avg.mat
will load the parameters saved in the .mat file into the workspace.
Section 4
- dadga
- agdga
- test
- help
Date | Start Time | Duration | Task | Status |
---|---|---|---|---|
12/7 | 1:00 PM | 1 Day | cadmus | DONE |
12/14 | 1:00 PM | 1 Day | echo | DONE |
12/21 | 1:00 PM | 1 Day | overhead comfort displays | DONE |
12/22 | 1:00 PM | 1 Day | demeter | DONE |
1/3 | 1:00 PM | 1 Day | phoenix | DONE |
Run 2017-1 (or April/May shutdown) | TBD | TBD | other MCR systems as approved by AOP | DONE |