Showing posts with label Analysis. Show all posts
Showing posts with label Analysis. Show all posts

Monday, October 31, 2016

LineFit: Matlab toolbox for 1D line fitting

LineFit is a toolbox for 1D line fitting. It is part of the GIXSGUI analysis tools but can run independently on its own. In addition to over 30 built-in curve models, it allows a combination of built-in models or customization of new models. As a class object, LineFit's properties and methods allow one to customize fitting options, easily switch on/off parameters for fitting, evaluate models, and calculate model properties. It provides both script mode for batch processing and GUI mode for interactive fitting. LineFit is tested on Matlab 2015b or later. It requires Matlab Optimization Toolbox for lsqcurvefit solver.


List of built-in curve models:
'1: Cauchy/Lorentzian'
'13: Voigt'
'25: Log-Cauchy'
'2: Intermeidate Lorentzian'
'14: Skew-Laplace'
'26: Log-Normal'
'3: Modified Lorentzian'
'15: Skew-Logistic'
'27: Pareto Type I'
'4: Gaussian'
'16: Skew-Normal'
'28: Weibull'
'5: Generalized Normal 1'
'17: Skew-Pseudo-Voigt (SB)'
'29: Atan'
'6: Laplace'
'18: Skew-Pseudo-Voigt (SSG)'
'30: Error'
'7: Logistic'
'19: Burr XII'
'31: Power Law'
'8: PearsonVII'
'20: Exponential'
'9: Pseudo-Voigt (TCH)'
'21: Gamma'
'10: Pseudo-Voigt (IAT)'
'22: Inverse Gamma'
'11: Pseudo-Voigt (LLHGD)'
'23: Inverse Normal'
'12: Uniform'
'24: Levy'
Download link: linefit

Thursday, June 18, 2015

REFRAC: a toolbox to calculate X-ray refraction of matter

This Matlab toolbox calculates the refraction properties of a matter under X-ray radiation (energy range 0.03~30 KeV), such as dispersion, absorption parts of the index of refraction, the critical angle of total external reflection, attenuation length etc. It basically does the same thing as CXRO X-Ray Interactions With Matter. However, the advantage is that the toolbox does not require internet access, and you can directly use it in your Matlab script.

Caution: CXRO includes Compton scattering when calculating the absorption length, while Refrac does not. The difference becomes obvious for materials of light elements when energy is >10 Kev.

For example, the following script plots dispersion and absorption of SiO2 for X-ray energies between 0.1-10 KeV:

   >>x = 10.^linspace(log10(0.1), log10(10), 1000);           % list of X-ray energies (KeV)
   >>y = refrac('SiO2', x, 2.648);                                         % give chemical formula and mass density to calculate properties of SiO2
   >>loglog(x*1000, y.dispersion, x*1000, y.absorption);    % plot in eV



This standalone toolbox is included in GIXSGUI toolbox. However, you can download and run it separately. After downloading, remember to choose "Add with Subfolders" in Matlab "Set Path" to include the main and all subfolders to Matlab search path; otherwise, the toolbox will not work.

Download: xrayrefraction.zip

For more information about X-ray interactions with matter, go to NIST and LBL

Saturday, November 1, 2014

GIXSGUI 1.7 released

Update (August 23, 2019): release 1.7.3 GIXSGUI can be download from GitHub: https://github.com/ennogra/GIXSGUI  

Update (October 29, 2016): release 1.7

Update (May 08, 2016): release 1.6.4
 
Update (June 01, 2015): Paper describing the software was published. You may download here DOI:10.1107/S1600576715004434 or drop me an email to request a copy. GIXSGUI: a Matlab toolbox for grazing-incidence X-ray scattering data visualization and reduction, and indexing of buried 3D periodic nanostructured films. J. Appl. Crystallogr. 48, 917-926 (2015).  Abstract: GIXSGUI is a MATLAB toolbox that offers both a graphical user interface and script-based access to visualize and process grazing-incidence X-ray scattering data from nanostructures on surfaces and in thin films. It provides routine surface scattering data reduction methods such as geometric correction, one-dimensional intensity linecut, two-dimensional intensity reshaping, etc. Three-dimensional indexing is also implemented to determine the space group and lattice parameters of buried organized nanoscopic structures in supported thin films.

Update (March 07, 2015): the compatibility problem with 2014b has been solved. 

Download GIXSGUI here: https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI



Sunday, March 31, 2013

Spec Reader uploaded

Update (June 18, 2015): Now supports Matlab 2014b or later versions.

Spec Reader: A MatLab package to visualize and handle Spec scans.

Download:  specreader_20150618.zip