Ultra-Small-Angle X-ray Scattering Facility

X-ray science division, beamline 9ID-C


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 :  1.94 released 1/27/2018

To install:

For Igor 7.05 and higher GitHub installer  & install Indra/Irena/Nika packages.

For Igor 6.37 you scan still use (now frozen) old version 1.91- the last Indra version for Igor 6.37. Install using Universal Installer 1.31.pxp.

Both of these installers can check available/installed versions, uninstall the packages and install/update to the latest versions. You need to install all three packages, please...

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 reductrion 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:

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. 

1.89 6/29/2016

  • Due to some new features used, requires Igor 6.34 or higher
  • New - can load and process FLyscan data directly, single step process now. No manual yet. Use Import & reduce data.
  • Modification for Flyscans in 2016-02
  • Re-casted internally use of folders, this is likely incompatible change backwards, so you need to reopen the Data reduction in old experiments.
  • Removed some obsolete code (like X23A3 support, no data were collected since 1998).

1.88 3/5/3016

  • Added panel scaling on most large panels
  • Fixed bug for names which were liberal - e.g. with decimal point in name. Was failing to load them.
  • Added ability to remove string from data set name similar to Nika to shorten sensibly the names to 32 characters Igor is using.
  • Added multi-package loaders (Indra+Irena+Nika, Indra+Irena, etc.)

1.87 2/1/2016

  • Igor 7 beta update