Advanced Photon Source at Argonne National Laboratory   APS USAXS instrument
USAXS instrument at the Advanced Photon Source,
X-ray science division, beamline 9ID-C

Advanced Photon Source

A U.S. Department of Energy, Office of Science,
Office of Basic Energy Sciences national synchrotron x-ray research facility

 
 
Argonne Home > Advanced Photon Source > USAXS >

Important links:

USAXS web page

Irena 2 (software for SAS modeling)

Nika 1 (software for SAS area detector  data reduction )

Irena 2 movies & Handouts

Nika movies & Handouts

Indra 2 (software for USAXS data reduction)

Some other useful code for Igor Pro I wrote:


Cromer-Lieberman code for IgorPro (ver. 4.0): AtomicFormFactors

Clementine, package for modeling decay kinetics

Other useful links…

Home page of Pete Jemian (more SAS)

APS SAS web page

Irena package for analysis of small-angle scattering data

Irena is package of tools for analysis of small-angle scattering (SAXS, SANS, USAXS, USANS) data. It is mostly useable for analysis of data in materials science, chemistry, polymers, metallurgy, physics, and other systems of typically solid or liquid samples. It addresses complex systems with size distributions, hierarchical structures, diffraction peaks, etc. For less complex systems use NIST SAS data analysis package for Igor Pro. Irena also contains simple X-ray and neutron reflectivity tool, for more complex systems use Motofit. All of these packages are written for Igor Pro from Wavemetrics, Inc.

Irena is typically not used for analysis of data from most bio-SAXS experiments, there you most likely need program ATSAS.

Current veraion contains main tools:

  1. Unified fit
  2. Modeling II - Direct modeling of SAS from up to 6 populations on up to 10 data sets at once. Selection of form factors and structure factors. Can be combined with Unified fit and Diffraction peaks.
  3. Size distribution using Maximum Entropy, Total Non-Negative Least Squares and Regularization methods
  4. Guinier-Porod model
  5. Fractal model (combination of mass and surface fractals)
  6. Debye-Bueche, Ciccariello-Benedetti, and Treubner-Streus models
  7. X-ray and Neutron reflectivity using Parrat's recursive method
  8. Small-angle diffraction tool (up to 6 diffraction peaks)
  9. Pair distance distribution function (PDDF, P(r), see GNOM from D. Svergun for more details)
  10. Powder diffraction peak fitting tool (WAXS)

    Support tools
  11. Data plotting tools - 2D, 3D, can create movies of plots.
  12. Merging of two overlappind data sets (SAXS curves from differnet distacnes etc.).
  13. Scattering contrast calculator, including anomalous effects using Croman-Liberman code
  14. Data import tool - imports data from ASCII & XML (CanSAS XML) files 
  15. Data export tool - exports data to ASCII files
  16. Data manipulation tools - subtract, scale, multiply, etc. - change data as needed.
  17. Desmearing using Lake method
  18. Data "mining" tool
  19. Scripting tool - scripts Unified fit, Modeling II, Ploting tool, and Size distribution to run automatically on multiple data sets

When publishing data analyzed using Irena please use reference: "Irena: tool suite for modeling and analysis of small-angle scattering", J. Ilavsky and P. R. Jemian, J. Appl. Cryst. (2009). 42(2), 347-353. (request pdf copy)

Workshops on using Irena & Nika packages... since 2012 we organize at the APS ~ three sessions per year workshops on use of Irena and Nika packages. To request to be put on waiting list for next workshops send e-mail to Connie.

Mailing group for Irena users: If you want to be informed about Irena updates and possibly have place to inquire about SAXS/SANS analysis problems, visit the page: http://www.aps.anl.gov/mailman/listinfo/irena_users where you can join this group.

Current version
2.61
released 6/28/2016
Installation method
Link for download
Use only one of these methods

Igor 7 (ONLY)
32bit or 64bit

Beta version !!!!

For Igor 7 only. Check Youtube channel for instructions. Uses Github to distribute Irena, Nika, and Indra. Version is same in APS depository. If this does not work for you, see note below the table.

     

Igor 6 and
Igor 7 (32bit ONLY):

Simple & easy. Uses Igor Pro itself to do all work :-)

For Igor 6.36 and 7.x (32bit version), Installs/updates/uninstalls Irena (+Nika, Indra, and 32 bit versions of xop), uses http to download the latest version from APS depository.

For 64 bit versions of xop, download: WIndows xops and OSX xops and copy 64 bit versions manually to User Procedures(64bit) in your Documents folder/Wavemetrics folder/Igor Pro 7 folder

 
If the above fails:
 
Igor - local copy

Universal Installer 1.31.pxp,
IgorCode.zip (~50Mb)

or Igor 6.36 and 7.x, if you have bad network connection or need to install on many computers at once. Download both files, unzip the zip file and place in the same folder with the Universal Installer. Run the Universal installer and choose "use local copy". For Igor 6.3x and higher.

For 64 bit versions of xop, download: WIndows xops and OSX xops and copy 64 bit versions manually to User Procedures(64bit) in your Documents folder/Wavemetrics folder/Igor Pro 7 folder

java - http
For Igor 6.36 ONLY and default installation of Igor Pro 6.3x with standard locations of Igor folders (Mac or Windows). Seem to fail on non-English versions of Windows! Uses http and can check available/installed versions, uninstall the packages, and install/update to the latest versions. Deprecated
Igor - http/ftp
Universal Installer

Older installer
Universal Installer 1.30.pxp

For Igor version 6.3x and higher. Universal Installer 1.19.pxp

Prior version for Igor 6.20: Universal Installer 1.14.pxp

Older versions for older Igor Pro 6.x versions ONLY .

Can uninstall, install, or update to latest relased version of Irena using Igor. Uses http, ftp, or local copy; prior versions use only ftp or local copy.

Manual
Download manually or use menu in installed Irena version. It will update automatically to latest appropriate version.
   
Manual methods (not recommended, unless above methods fail)
zip files
Download, unzip and install manually to proper places as indicated by folders in the zip file. Iinstall xop support manually (see below), including installing HDF5 support (provided by Wavemetrics, but not installed by default).
XOP zip files

WindowsXOPs,
MacXOPs.

Install when using zip file installlation. Please make sure you install the correct version for your platform.
Prior versions

Irena_v_2.50.zip, Irena_v2.42.zip, Irena_v2.36.zip

2.16 is the last release for Igor 5.0: Irena_v2.16.zip

>>> Igor 7 note: Current version of Irena is compatible with Igor 7, it has been extensively tested. Universal Installer 1.31.pxp is compatible with Igor Pro 7 (32 or 64bit) BUT it will install ONLY 32bit versions of exptensions (xops). It will install the Igor code correctly (that is same for 32 and 64 bit versions). You can use 32bit Igor 7 or manually install 64bit versions of the xops : Windows xops and OSX xops (these zip files contain both 32 and 64 bit versiosn). Proper version of the xops (Windows/OSX, 64bit/32bit) needs to be copied to User Procedures or User Procedures(64bit) in your Documents folder/Wavemetrics folder/Igor Pro 7 folder. Restart Igor Pro afterwards and all should work.

Obtaining help:

  1. Read manual
  2. Need help and udnerstanding of Igor Pro? Check Wavemetrics youtube channel!
  3. Watch Help movies. Try my Youtube channel!
  4. Participate in one of the workshops
  5. Register for discussion group and ask author question there.
  6. E-mail author a question

Extending the code capabilities beyond design.

New for this version........:

2.61 6/28/2016
Due to some new features used, requires Igor 6.34 or higher
ASCII import - added ability to slit smear the data on import. Redistributed controls on the Import panel.
ASCII import non SAS data - first version of Import non-SAS data tool. No manual yet.
Fixed panel scaling and added better package preferences management.
Added package for handling files outside Igor to make it easier to write tools working with external files directly. Should not be visible to users.

2.60 3/5/2016
Added Panel scaling to most large panels
Modified GUI package preferences handling. It was reseting the GUI choices, wrong logic.
Data merging tool - fix problem with liberal names.
Added multi-package loader (Irena+Nika)

2.59 2/1/2016
Igor 7 compatibility release
Unified fit - GUI behavior improvements and minor bug fixes.
WAXS-Powder diffraction tool - version 1 of Powder diffraction tool for users. Still work in progress, but usable for testing by users.
Modified check for updates macro to use http once, if it fails use ftp, if that fails also then bail out and give error. Should be much easier for users who are on systems without net connectivity.

2.58 10/30/2015
Verified to work on Igor 7 beta 1
Removed Modeling I from the code and manual. This tool has been deprecated for few years now and it was removed to reduce code clutter.
Added Data Merging - new dedicated tool to merge two segments of data (q-segments). version 1.0, so this may be bit buggy.
Modeling II - added ability to handle per pixel smearing of the model. Quite complicated for users, read the manual!.
Modeling II - removed the need to model data to high enough Qs for slit smeared data. The slit smeared data will be extended to 2*Slit length when user selects too small Qmax.
Modeling II - catch Log-Normal Min Size if smaller than 3A and reset for user to 3A. Cannot have SAS from particles smaller than 3A - that is atom and not particle for SAXS.
Modeling II - fixed bug where the Size distribution plot in Modeling II was showing information vs Radius always, even when user used Diameters as particle dimension. And it was not obvious to users that is happening. Now uses dimension based on what is selected as the particle dimension (Radius or Diameter).
Data Manipulation I - enabled Q shifts and added MergeData2, which optimizes scaling Data2, backgroundData1, and Qshift of Data2. This makes sense when SAXS alignment is not perfect.

2.57 3/8/2015
Fractals model - added Qc as transitional Q value when surface fractal changes to Porod's slope at high Q. Set to 0 if not needed.
Modeling II - added MassFractal and SurfaceFractal - models are copied form Fractals tool, so users need to read manual for that tool
Modeling II - added controls which enable to select, which additional graphs are displayed. Choices are SizeDistribution, Residuals, and IQ^4 vs Q. These two graphs are now matching colors to the main Graph colors for easier navigation when multiple data sets are used.
Modeling II - minor bug fixes: Catch when slit length is set incorrectly (too small or too large), set properly Dv and Dv limits for Fractals and some other ones.
Modeling II - Scale data by now actually works. It was never programmed to work (it is cumbersome to make it operational, so it may have some unforeseen consequences). Tread carefully!
Scripting tool - added hook function after data set is loaded, before it is fitted, for user to do something which needs to be done. Check the code. For now only for Modeling II.
Scripting tool - fixed preservation of user choices on errors and intensity scaling for Modeling II and Size Distribution.
Scattering contrast calculator - Modified description for exp(-Mu*T) as Transmission. Users seem to be missing the point…
Size distribution - added colored bar at the top of the graph - "trust indicator" - which indicates, which sizes can be trusted and which are suspect/totally uncertain. Based on 2*pi/Q values used for fitting.
Data manipulation II - added divide by data set (requested feature). Fractals model - added Qc as transitional Q value when surface fractal changes to Porod's slope at high Q. Set to 0 if not needed.
Modeling II - added MassFractal and SurfaceFractal - models are copied form Fractals tool, so users need to read manual for that tool
Modeling II - added controls which enable to select, which additional graphs are displayed. Choices are SizeDistribution, Residuals, and IQ^4 vs Q. These two graphs are now matching colors to the main Graph colors for easier navigation when multiple data sets are used.
Modeling II - minor bug fixes: Catch when slit length is set incorrectly (too small or too large), set properly Dv and Dv limits for Fractals and some other ones.
Modeling II - Scale data by now actually works. It was never programmed to work (it is cumbersome to make it operational, so it may have some unforeseen consequences). Tread carefully!
Scripting tool - added hook function after data set is loaded, before it is fitted, for user to do something which needs to be done. Check the code. For now only for Modeling II.
Scripting tool - fixed preservation of user choices on errors and intensity scaling for Modeling II and Size Distribution.
Scattering contrast calculator - Modified description for exp(-Mu*T) as Transmission. Users seem to be missing the point…
Size distribution - added colored bar at the top of the graph - "trust indicator" - which indicates, which sizes can be trusted and which are suspect/totally uncertain. Based on 2*pi/Q values used for fitting.
Data manipulation II - added divide by data set (requested feature).

2.56 8/20/2014
ASCII export - fixed bug which prevented Multiple QRS data export.
Plotting tool I - made "Zoom and Set limits" marquee item dynamic, so it shows only on the right graph.
Plotting tool I - added Int*Q^3 as plotting data option
Unified fit - fixed bug in GUI of level 2 not showing Link B to G/Rg/P
Unified fit - minor change of GUI - changed Surface to Volume description to: pi*B/Q which is also S/(V*fi(1-fi)).
Scripting tool - added wave name match string to QRS data type.
All packages - created on log-rebinning routine and propagated that routine (General Procedures 1.71) through the system, replacing all log-rebinning other routines.
Data Manipulation I - removed the slider for log-rebinning, it seems not functional for some time and new code does not accept this parameter anyway. May need to address this in the future again.
Data Manipulation II - fixed bug which caused failure when wave names were liberal.
ASCII import - added q sorting as some users seem to have data which are not necessarily q increasing and it causes troubles for analysis packages.
All packages - added check for slit smeared data to force Qmax to be at least 3*SlitLength. It does not work otherwise.
Modeling II - added User Name string to each population, so user can (when individual populations are displayed) sort out what he/she is looking at. Similar to names for each data set.
FitPowerLawWithCursors and FitLineWithCursors now follow user selected font size and power law does not have units (depends on data calibration).

2.55 2/20/2014
ASCII export - fixed bug which prevented Multiple QRS data export.
Plotting tool I - made "Zoom and Set limits" marquee item dynamic, so it shows only on the right graph.

Disclaimer:

This set of macros is currently being developed for use on any SAS data. Their use by anyone for open science is free of charge. If you want to use them for proprietary work, please contact me, the author, Jan Ilavsky, for permission. There are no warrantees with respect to functionality of these macros, please, verify all results by independent methods.

  Main techniques:

Modeling II.

Direct modeling of SAS from up to 6 populations of particles (in dilute limit, with 5 different Structure factors to use if appropriate). Allows up to 10 input data sets. Can be used to analyse multiple data sets collected on same sample with(for example) changing contrast, different q ranges, different instruments, etc... Each population can have (principally) for each input data set different contrast. Very flexible. Allows fitting of form factor & structrure factor parameters (which does not mean the data must support this fittng!!!).    

Unified model.

For details about Unified model please see Gregg Beaucage web page and posted papers:

http://www.eng.uc.edu/~gbeaucag/BeaucageResearchGroup.html

http://www.eng.uc.edu/~gbeaucag/PDFPapers/Beaucage2.pdf

http://www.eng.uc.edu/~gbeaucag/PDFPapers/Beaucage1.pdf

http://www.eng.uc.edu/~gbeaucag/PDFPapers/ma970373t.pdf

Generally, the SAS curve is described here using levels each created from Guinier region with Power law tail. Included are methods to address fractals, correlations between the particles etc. This is generic formula of this theory, which should be useable in most cases. Very flexible method.

  Size distribution

Included is method for using Maximum entropy (MaxEnt), Regularization and Total-non negative least square method (TNNL) to evaluate size distribution from SAS data using various models (Form factors) of scatterers. The code was modified from MaxEnt C program provided by Pete Jemian with added TNNL method. For more details on the MaxEnt and Regularization methods, please see Pete Jemian web page….

References for MaxEnt method (the implementation used in this code or prior versions):
Potton, J. A., Daniell, G. J., and Rainford, B. D., Particle size distributions from SANS data using the maximum entropy method, J. Appl. Cryst. 21, 663-668 (1988).
P. Jemian, G. Long, F. Lofaj, and S. Wiederhorn, Anomalous ultra-small-angle x-ray scattering from evolving microstructures during tensile creep, Meeting of the Materials Research Society, Vol. 590, edited by S. Mini, D. Perry, and S. Stock, Boston, Massachusetts, 1999 (Materials Research Society), p. 131-136.

Reference for TNNLS method:
Michael Merrit and Yin Zhang, Technical report TR04-08, Department of Computational and Applied Mathematics Rice University, Houston, Texas, 77005, USA, (May 2004), http://www.caam.rice.edu/caam/trs/2004/TR04-08.pdf

PDDF

Also known as p(r). Using two methods (regularization, used by GNOM, and indirect inverste Fourier transformation, see ref. by Moore in manual) one can produce this "staple" of bio-SAXS now in Irena. Results were checked against GNOM on limited set of test data.

Fractal model

This fractal model is by Andrew J. Allen from NIST. For details see included description.

Reflectivity model (aka "Parratt's recursive code")

This is relatively simple tool to model and fit X-ray and neutron reflectivity for up to 8 layers using recursive Parratt’s code (L. G. Parratt, Phys Rev, 95(2), 359-369, 1954), as implemented for example in older code called “Parratt”. The code itself was provided by Andrew Nelson (Andrew_Nelson@users.sourceforge.net ). I have implemented only the GUI in manner similar to the rest of the Irena code. I will provide basic support for this package. Please note, that Andy has made more complex and capable version of his package “Mottofit” available for free download to other Igor users through http://motofit.sourceforge.net/ under GNU license. If you need more complex fitting, than my code allows, please use Andy’s powerful code. You may, however, have to learn little bit more of Igor.

 

 

 


        

Privacy & Security Notice  |   Contact Us    
This page last modified: 2016-11-28 11:22 AM