Irena package for analysis of small-angle scattering data
Please use following citiation when using Irena package:
"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)
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:
For more detailed description
- Unified fit
- Modeling - Direct modeling of SAS from up to 10 populations on up to 10 data sets at once. Selection of form factors and structure factors, Unified fit, Mass or Surface Fractal, and Diffraction peaks.
- Size distribution using Maximum Entropy, Total Non-Negative Least Squares and Regularization methods
- Guinier-Porod model
- Fractal model (combination of mass and surface fractals)
- Debye-Bueche, Ciccariello-Benedetti, and Treubner-Streus models
- X-ray and Neutron reflectivity using Parrat's recursive method
Small-angle diffraction tool (up to 6 diffraction peaks)
- Pair distance distribution function (PDDF, P(r), see GNOM from D. Svergun for more details)
- Powder diffraction peak fitting tool (WAXS)
- Data plotting tools - 2D, 3D, can create movies of plots.
- Merging of two overlappind data sets (SAXS curves from differnet distacnes etc.).
- Scattering contrast calculator, including anomalous effects using Croman-Liberman code
- Data import tool - imports data from ASCII & XML (CanSAS XML) files
- Data export tool - exports data to ASCII files
- Data manipulation tools - subtract, scale, multiply, etc. - change data as needed.
- Desmearing using Lake method
- Data "mining" tool
- Scripting tool - scripts Unified fit, Modeling II, Ploting tool, and Size distribution to run automatically on multiple data sets
, please see here: http://saxs-igorcodedocs.readthedocs.io/en/stable/Irena/Introduction.html
On-line manual : We now have on-line manual, you can open it in you web browser and read it here: http://saxs-igorcodedocs.readthedocs.io/ .
Wiki : There is now wiki for Irena and Nika packages on our Github depository. Check it up - questions of general importance may be asnwered there, if someone already asked them.
Discussion forum for users (in testing mode): Gitter
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.
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.
Igor 7.05 and higher
Use only one of these methods
For Igor 7 only.
Check Youtube channel for instructions.
Uses Github to distribute Irena, Nika, and Indra. Most likely what you want!
Clone & link
For Igor 7 only. Clone the Github depository to your computer and link folders from your clone to proper Igor locations. If you need help, let me know.
NOTE: Github depository "master" version should be considered development version and while I try to submit to Github only working versions, the code is "beta" version only...
Manual & help
||WEB version of manuals for Irena and Nika. If needed, download pdf version of the manuals from that web site.
Igor 6 version :
Igor 6.37 32bit
(Irena ver. 2.63 )
For Igor 6.37, Installs/updates/uninstalls Irena (+Nika, Indra, and 32 bit versions of xop),
uses APS depository
Irena version 2.63 is the last version which is Igor 6 compatible and is now obsolete.
NOTE: 64bit version of Igor 6.37 is NOT supported, use 32bit version ONLY.
If the above fails:
Igor 6.37, local copy
Universal Installer 1.32.pxp,
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.37, 32bit version ONLY.
Manual methods (not recommended, unless above methods fail)
||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
|Install when using zip file installlation. Please make sure you install the correct version for your platform.
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
- Read manual : http://saxs-igorcodedocs.readthedocs.io/
- Need help and understanding of Igor Pro? Check Wavemetrics youtube channel!
- Watch Help movies. Try my Youtube channel!
- Participate in one of the workshops
- Register for discussion group and ask author question there.
- E-mail author a question
Extending the code capabilities beyond design.
New for this version........:
Promoted required minimum version to 7.05 due to bug in Igor prior of this version.
Panels now restore prior size and position. This is set when you drag lower-left corner to scale them up. Data stored on the user computer and size is limited to 50% width and 90% height of current screen size. Hold down any modifier key and size will be reset to original default state.
Merge two data sets - added option of sorting qrs names by xyz_string, needed for Nika. Added SMR and DSM data to USAXS.
Modeling - added calculation of Rg for size distributions. Requested by Dale Schaefer.
Unified fit - changes to two phase systems requested by Dale. Added ability to handle multiple levels at the same time where possible…
Data merging tool - modified Optimize code to prevent failures, hopefully improved fitting capabilities.
WAXS - Added option to import free AMS diffraction data (http://rruff.geo.arizona.edu/AMS/result.php) - this database contains d, hkl, intensities for minerals.
All packages - internal changes and improvements resulting in less and cleaner code.
Removed pdf manual from distribution. It is obsolete, use on-line version and if needed, download pdf from the on-line source.
Added Update Message to CheckForUpdate code. If present, it will display a message for users.
Made Igor 7 compatible ONLY. Thanks to GeneralProcedures changes will not work on Igor 6.
Added buttons with links to web based manual pages to each tool.
Version check - using Github now.
Smearing/Desmearing data support - increased smearing speed about 3x
Unified Fit - Modified to handle Slit smeared data which do not extend beyond slit length. Same logic as in Modeling II - extend temporary data to 3*slit length and then truncate.
Data merging - added name modifier string and defaulted to new folder name even for QRS name systems.
Size distribution - removed limitation that Qmax > 3*slit length for slit smeared data. Optimized speed (2x improvement)
Size distribution - fixed bug introduced in MaximumEntropy
Fixed more slow debugging calls, few more packages see improvement in speed now.
Completely removed Modeling I - about 2k lines of code. Moved code where needed and removed about 3 ipf files from loading.
Version 2.62 updated with on line manuals, for Igor 6 only.
Modified Nexus support, added new library to use it.
Moved some common functions to IN2G_GeneralProcedures
Fix to QRS names which failed on names containing string "spec" in the name.
Added checkbox for slit smeared/desmeared USAXS data in Merge 2 data sets tool.
Small-angle diffraction - when user selects "oversample" the parameters for peaks (d, q, width) are now calculated at 5x higher resolution than measured Q points.
Desmearing - propagate dQ and if does not exist, create dQ based on points distance.
Pair Distance Distribution - changed Matrix solving method since the one used was deprecated by Igor 7.
Plotting tool - added ability to add top 2pi/Q linked axis. Using Transform axis package from Igor Pro. Added few new styles and modified existing settings. Fixed Gizmo for Igor 7 which stopped working due to Gizmo function syntax changes.
WAXS - removed LaueGo capability and added import of PDF-4+ xml files. Fixed help file.
Modeling II - if you hold any modifier key (shift/ctrl/opt/alt…) while clicking on parameters change arrows, the step for next step is set 10x smaller. This enables making small changes to the values. Just keep holding the modifier key, first step is still large, subsequent are small.
Size distribution - fixed Regularization for Igor 7, modified trust ranges which were using wrong logic. Now large size is estimated 2pi/Q while small size pi/Q.
Fixed slow down caused by debugging messages function
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.
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)
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.
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.