Getting Started

Installation:

Using pip:

pip install sgm-data

or from source:

git clone https://github.com/Canadian-Light-Source/sgmdata.git ./sgmdata
cd sgmdata
python setup.py install

Site Usage:

import sgmdata
sgmq = sgmdata.SGMQuery(sample='MgFe', proposal='35C12468', processed=True) #processed flag enables/disables collection of processed data from reports if it exists
sgmq

Out: png

#Choosing a dataset
data = sgmq.data['10345']
data

Out: png

#plotting first entry in first scan
data.scans.first().first().plot()

Out: png

Local Usage:

First import the package, and select data to load in.

import sgmdata 
data = sgmdata.SGMData(["file1.hdf5", "file2.hdf5", "..."])

This will identify the independent axis, signals and other data within the files listed.

Useful functions:

data.scans  #contains a dictionary of the identified data arrays loaded from your file list
data.interpolate(start=270, stop=2000, resolution=0.5) #bin the data in scans dictionary and interpolates missing points
data.mean() #average data with the same sample name, and spec command together.

Working with individual scans:

df = data.scans['FilePrefix'].entry1.interpolate(start=270, stop=2000, resolution=0.1) #bin data for a single scan.
df2 = data.scans['FilePrefix'].entry1.fit_mcas() #perform batch gaussian fitting of interpolated SDD signal

Plotting (with Bokeh):

data.scans['FilePrefix'].entry1.plot()
data.averaged['SampleName'].plot()