Home
Name Modified Size InfoDownloads / Week
based_on_MCRInstaller_8.1 2018-09-29
XANES-Wizard_v2.3.0_UNIX 2013-10-25
based_on_MCRInstaller_7.15 2013-07-12
20141009_TXM Wizard Data Analysis Marjolein.docx 2015-02-20 3.0 MB
README.txt 2013-10-25 6.8 kB
UpdatingLog.docx 2012-12-20 22.3 kB
Totals: 6 Items   3.0 MB 11
October 22, 2013
===========================================
The new release of the XANES wizard consists of the following package
	(for Windows)	TXM_XANES_Wizard_230_pkg.exe	(self-extracting executable)
	(for UNIX)	TXM_XANES_Wizard_230_UNIX_pkg.zip
which are both based on the Matlab runtime 8.1
(Please make sure you have the correct MCR installed on your system)
Just extract in the folder where you want to run the Wizard.

The package includes a .bat file to run the Wizard from the commandline.
This is useful to inspect possible error messages reported in the command window.
NOTE: the Matlab MCR 8.1 is quite heavy and needs a long time to load so it might
take up to 2 minutes to start the program - please be patient and watch the output 
at the command line.
Don't forget to report bugs and suggestions for improvements!

Enjoy!
Florian


===========================================
Details of release 20131022:
===========================================
Changes in revision 2.3.0:
---------------------------------------------------------------------------
---- New menu entry 'View':
Checking the menu entry 'Stretch images to fill axes' will stretch any loaded
images to the available plotting space. This is useful if the data has a very
different number of pixels on each axis. Note that the pixels will be plotted
non-isotropically and the image will appear distorted.
---------------------------------------------------------------------------
---- load image stack:
The XANES wizard can now also load image files (*.jpg, *.tif, *.png) and work with
them directly. Please make sure that the energy at which each file was recorded 
is in the filename in the following format: samplename_07155.00_eV.tif 
the energy value has to have 5 digits before and 2 digits after the comma;
please note the mandatory '_' and '_eV' before and after the number.
---------------------------------------------------------------------------
---- Menu option added under 'Tools':
'Create filter from displayed map'
loads the currently displayed map into a GUI which allows the create a (binary) filter.
The filter map is saved as tif and can be loaded as an external cluster map to get the
XANES from all non-filtered pixels. Example: use the EdgeJump map to create a filter
which filters all pixels with an EdgeJump smaller than a 70% of the maximum EdgeJump or
a specific EdgeJump value. Save this filter and load it to get the average XANES of
all other (i.e. non-filtered) pixels.
---------------------------------------------------------------------------
---- UNIX compatible version:
I tried to make the XANES Wizard code compatible to compile and run it on UNIX systems.
There is no warranty that it will be stable or look pretty - please report any bugs and problems.
---------------------------------------------------------------------------
---- cropping FOV (images) (Menu: Tools -> Crop images):
-) the image stack can now be cropped using specific coordinates to allow
identical cropping for different image stacks.
---------------------------------------------------------------------------
---- Importing XANES standards:
-) The LSLC fit produced wrong results or even failed when XANES stds were loaded which did not
cover the full energy range of the dataset. This is now checked when loading the data and the user
is warned about it.
-) Added buttons for adding and removing XANES stds to the loaded set of references
---------------------------------------------------------------------------
---- LSLC fitting:
-) fixed error when trying to fit a current XANES plot still containing vertical lines from setting
pre- and post-edge or fitting regions.
-) added feature to select the fitting region for the LSLC fit:
    *) Button select fitting region (works like button for pre- or post-edge normalization)
    *) Editable fields for energy indices of fitting region
    *) Plot of fitted XANES includes two red vertical lines indicating the fitting region
    *) Fit results table displays fitting region 
    *) Fit results txt file includes fitting region as header
-) resolved warning message about nearly singular matrix in regress_fast (called during normalization):
this warning appeared quite often when determining the pre-edge normalization line because the result
was returned with single precision (which was sufficient, but MATLAB complained).
This was solved by running the calculation with a double precision variable (X in the details listed
below).
Details about the calculation: in the regression to calculate the regression line for pre- and post-edge
we solve the equation system A*x = b for an over-determined system (m>=n, where A = m x n)
The solution is calculated using the QR decomposition:
A = Q*R expressing the solution as x = inv(R1) * (Q1'*b)
Q1 = m x n matrix containing the first n columns of the full orthonormal basis Q
R1 = square m x m matrix from R = [R1 0] (upper part of R)
=> MATLAB code: here X=A, y=b, and b=x in the above notation => X*b = y
[Q,R,perm] = qr(X,0); % when X was single precision Matlab issued the warning in the next line
b(perm) = R \ (Q'*y);
NOTE: qr(X,0) already performs the economy size decomposition i.e. produces Q1 and R1 in the 
above used notation
---------------------------------------------------------------------------
---- Normalization filter:
in some extreme cases it can happen that the pre-edge and post-edge line intersect at a
LOWER value than the one selected by the user
Example:
when the XANES (in this case actually only noise) show a strong positive slope, the edge
jump filter did not remove the pixel and both pre-edge and post-edge are almost parallel
but already intersect within the energy range at a threshold value of 0; now we apply a
'strong' filter which moves the pre-edge line ABOVE the post-edge line => now the two lines
intersect OUTSIDE the energy range and the pixel is not filtered...
Solution:
The normalization filter now also calculates the intersection point at threshold 0
=> now the two intersection points represent the two extremes of all possible intersection points
=> if the line between them intersects the energy range we found intersection points within the
energy range and the pixel should be rejected.
---------------------------------------------------------------------------
---- Gaussian Mixture Model (GMM) using Expectation Maximization (EM) for clustering
The PCA and k-means GUI now has a new option for clustering:
after an initial k-means clustering the result can be improved by GMM using EM
This feature is in beta-testing mode and might still not work perfectly.
Please report bugs and errors!
---------------------------------------------------------------------------
Source: README.txt, updated 2013-10-25