Ultra-Small-Angle X-ray Scattering Facility


Indra - software for USAXS data reduction

The reduction of data obtained on the USAXS instrument at 9ID beamline represents number of steps. Data reduction package is named “Indra” and is composed of number of interconnected macros for Igor Pro 7.x from Wavemetrics. Inc. 

Current version :  2.00 released 7/17/2023

Current beta version : 1.99, 2/15/2023, beta

To install: 

For Igor 8.04 and 9.x   GitHub installer  & install Indra/Irena/Nika packages.

For Igor Pro 7.08 use GitHub installer and install version 1.97 (February2020 release). Higher versions will not work on Igor 7.0x. 

YouTube Movie instructions. Reducing USAXS fly scan data as well as SAXS and WAXS and merging them together.

Starting with version 1.40 these macros support also Osmic/Rigaku desktop USAXS instrument data. Actually, I support their "new" data format they provided to me on 4/1/2006. The old data format should work with limitations. I do not plan to add any better support of the old data format, since it is very unstable and varies from installation to installation. Request update of instrument software from them. Please note, that I have no relationship with Osmic/Rigaku. I support the data from this instrument only on as-is basis and with no warrantees to functionality of my software and results. I will provide bug fixing and user support related to my macros only on limited basis. I have no experience with Osmic/Rigaku instrument and I am not in any way responsible or related to support of their instrumentation.

Appropriate use and distribution of these macros:  You can use these macros for data evaluation of any problem you will find them useful for. However, since these are very problem and platform specific macros, I do not think there will be a wide range of other applications. You can also distribute them freely, but only if they are distributed in unmodified form and as whole distribution (whole zip file).

Macros modification: While users are welcome to customize the macros for their own use, I do not suggest extensive modifications. I am open for suggestions for modifications and updates of these macros by myself. Especially if I find such modification useful for wider range of users, I’ll be happy to modify macros in any useful manner. I strongly urge anyone interested in other/different use of these macros to contact me and I will try to provide at least guidance and help for successful project. 


Desmearing: The desmearing routine is now available as step in data reduction or can be done separately using Irena package.

Bugs reporting: Please send as complete description of the problem as you can to Ilavsky@aps.anl.gov. Please, if at all possible attach the Igor file in question, saved immediately after the problem occurred. Include release number of Indra 2 macros which you are using (suggestion: try updating the macros to last released version before reporting bug, may be t was removed in the mean time). Include as complete list of steps, as possible, which lead to the problem.

Help: I generally provide help to users. As long as the help requests do not overload me, I will continue to do so. However, it would be really nice if you could first read the manual, if things do not work – may be the answer is in the manual.

If you have any questions e-mail me or call me: Ilavsky@aps.anl.gov - US 630 252 0866…

New in this version:

2.00 7/16/2023

  • Maintenance, fixes for USAXS step scanning (Fall 2022 - Spring 2023, 20ID). 

1.99 2/15/2023

  • Minor fixes for 20IDB USAXS location. 

1.99 10/10/2021

  • Fixed all fixed length wave names (hopefully). Now should use long names if user chooses so in Configuration for all waves and folders. 
  • Sample Survey tool -  multiple row selection enabled, Clipboard now handles multiple rows. Manual updated. Added ability to import image from jpg/tiff/gif... files
  • Minor changes to various setting to make user life easier.
  • Step scanning in BlueSky (uses Nexus file) now fully supported and well tested. 

1.971 4/20/2020

  • No major change. Minor internal fixes. 

1.97 2/9/2020

  • Many tools - changed code compiler instruction to rtGLobals=3, this is less forgiving compile which prevents more accidental bugs, but may generate new errors in old code. Report as many errors as possible to author, please.  
  • Added ability of Flyscanning data reduction to guess minimum useable q for data reduction. Based on intensity ratio between sample and blank - note, it is q dependent ratio. Black magic.  
  • Changed default number of USAXS points to 500, seems reasonable now. 

1.96  12/7/2018

  • Igor 8 OSX XOPs now available. version 2.0 of 64-bit xops. 
  • Modified "Configure GUI..." menu name and added warning on name shortening. Should generate dialog when names are too long and users are not using Igor 8 with long names enabled. Only once per Igor experiment.  
  • Added checkbox to use for calibration FWHM of sample and not Blank. Variability of Blanks adds to uncertainty of the absolute intensity calibration. Usually sample FHWM is better measure of Solid angle. Will be overwritten if sample FWHM is too large (Multiple scattering). 
  • Improved on negative background subtractions... 
  • Added ability to overwrite Flyscan amplifier dead times. 
  • Fixed problem with color scale for amplifiers not showing correctly. 

1.95  7/7/2018

  • Igor 8.0 tested. 
  • Modified behavior of Automatic blank selection in GUI. 

1.94 1/27/2018

  • Converted all procedure files to UTF8 to prevent text encoding issues.
  • Fixed Case spelling of USAXS Error data to SMR_Error and DSM_Error.
  • Added ability to smooth R_Int data - suitable mostly for Blank where it removes noise from the blank. Should reduce noise of the USAXS data.
  • Added masking options into FLyscan panel Listbox.
  • Checked that - with reduced functionality - code will work without Github distributed xops.
  • Tested and fixed for Igor 8 beta version.

1.93 11/05/2017

  • Promoted required minimum version to 7.05 due to bug in Igor prior of this version.
  • Added restore of prior size of panels when user closes and reopens a tool. Data stored in the current Igor experiment. Size limited to 50% width and 90% height. Hold down any modifier key and size will be reset to original default state.
  • Added Desmearing to Data reduction as final step. Saves both SMR and DSM data. Contains much less choices as USAXS is reasonably stable and choices are known. May fail for border cases.
  • Added UserSamplename string to each folder for long names.
  • Removed pdf manual from distribution.It is obsolete, use on-line version and if needed, download pdf from the on-line source. 


1.92 5/1/2017

  • Made Igor 7 compatible ONLY. Thanks to GeneralProcedures changes will not work on Igor 6.

1.91 5/1/2017

  • Version 1.90 updated, Igor 6 release.

1.90 2/22/2017

  • Modified Nexus support, added new library to use it.
  • Removed Utility_JZT from distribution, not needed and causing conflict with JZT package. `
  • Added OverRideSampleThickness where user can set new sample thickness for range of samples. Set to 0 to ignore.
  • Added Live processing of data same as Nika has.
  • Fixed internal bug which caused problems when dark current on UPD was measured too high.
  • Added overwrite for Dark current 5
  • Added overwrite for sample thickness
  • Fixed slow down caused by debugging messages function.
  • Fixed up readme and reorganized menu to make it easier to find important items.