Image Reconstruction Software Project PageAll questions and comments should be directed to the mailing list, cxs-software@physics.unimelb.edu.au
Software Manual - Including Installation Instructions (original) (pdf) (html). Note that this document is currently in the process of being written and is incomplete at this moment.
Package source code tar-ball - Release 0.4 (this is a test release with basic functionality and includes IDL routines). Tested on Ubuntu, osiris. See the Changelog for a description of what's new.
32 bit binary files for Windows - Release 0.4 (this is a test release with basic functionality and includes IDL routines). Tested on: Windows XP.
Some preliminary specifications (written by Brian) - please give feedback on them!
Doxygen documentation of the source code (for c/c++ users)
IDL documentation of the available routines
Useful Tools
Package Description
Goals
CXS has developed a number of important X-ray analysis algorithms that it seeks to make available
to other members of CXS and to the wider science community. The aim of this project is to provide a
standard software package for these algorithms and for basic
X-ray diffraction data analysis. In particular, it should allow new member of CXS to be introduced
to the image reconstruction algorithms in a user-friendly way. In achieve this, the software
must be well documented, efficient, robust and work on a number of different platforms.
Current Functionality
For a list of the proposed final functionality please look at the
specifications. Currently, the following algorithms/functions have been implemented:
A comprehensive description of the code is given in the doxygen documentation. This should be useful, in particular, to users familiar with C++ and wanting to use the library option as it lists the various functions available.
I've written a really simple bash script which puts a job's output (images and standard output) into a subdirectory (with data and time as the folder name). It will also copy the .c file to the directory so you have a record of what was run. It is downloadable from here.
Some instructions:
Put the script into the directory where your code is and type:
chmod +x dir_maker.sh
You only need to do this once.
Then each time you want to run your code type
Note that you need to give the script your executables file name minus
the .exe part at the end. You can adjust the script a bit to make the
directory name how you like.
Also, you will need to change all the input image file names to
"../image_files/something.tiff" from "/image_files/something.tiff"
because it now run the program in the subdirectory.
The google profiler
is a great tool for profiling the performance of code. I highly recommend it for your own code! I ran it on the
real_example.exe program to check the efficiency of the code so far. Currently about 50% of the time is
spent executing the FFTW libraries (up from about 12% when I first ran it!). There is still room for
improvement.
./dir_maker.sh my_code_name
A very useful tool for checking code performance