#### 1.9.8 - 2011 (Revision 1350)
* Add import of Single crystal diffraction data (hklf4 format)
* Add SSE optimization using sse_mathfun. Need compile with sse=1
#### 1.9.7 - 2011 (Revision 1312)
* Add Browser to quickly open Fox and cif files
* When closing & re-opening a 3D Crystal view, keep the same
window size and view.
* When exploring spacegroups, also give the number of
systematic extinct reflections for each spacegroup
* Handle cases when xml or cif files do not open correctly
* Nicer display of large molecules (>200 atoms)
* When exploring spacegroups, exploit extinction conditions to avoid
performing redundant Le Bail fits
* Correct file opening from the Fox.Grid server window
* Correct identification of monoclinic spacegroups with unique axis=c
#### 1.9.6 - 2011 (Revision 1295)
* More efficient Le Bail extraction
* Nicer color display of crystalline phases in powder graph
* Auto-download wxGTK and fftw for linux compilation
* Update cctbx & boost for compilation with gcc >=4.6
#### 1.9.5 - March 2010 (Revision 1274)
* Add Fox.Grid extension allowing distributed computing
for Fox, with a server and a client graphical interface.
It also allows distributing computation on all the cores
of a single computer. (J. Rohlicek, M Husak)
* More accurate Bayesian estimation of background
* Use a better evaluation of peak positions for indexing
* Better CIF import
* Prevent running Le Bail/profile fitting in the absence of
a crystalline phase
* Fix rare infinite loop when scaling ill-conditionned multiphase
#### 126.96.36.199 - January 2010 (Revision #1215)
* Fix display of imported (e.g. .grd) Fourier maps
#### 188.8.131.52 - November 2009 (Revision #1204)
* Add automatic least-squares refinement of the structure during
a global optimization run
* Take into account rigid groups during least-squares refinement
* Working triclinic indexing
* Allow manual adding of peaks for indexing without a peak search
* Add manual least-squares refinement of the structure in the
global optimization run/stop menu
* Better import of CIF files, using either the Hall symbol
or the symmetry_equiv_pos_as_xyz fields to avoid
ambiguous space group
* Enable auto-generation of powder patterns from a CIF file
for both X-ray and neutron radiation
* When importing powder pattern CIF files, recognize both
_pd_proc_2theta_range_XXX and _pd_meas_2theta_range_XXX
* Avoid deadlock (freezing fox) when using the 3D crystal view or
the powder pattern graph
* Correct molecule rotation quaternion when using least squares
* Correct log(likelihood) calculation using integrated intensities
(could cause invalid Chi^2 values when used without gui)
* Correct Fullprof export when 3 or more independent atoms are
* Work around visual c++ compilation bug during Fullprof export,
that would output U U U instead of U V W parameters
* Updated cctbx (and boost) version - fixes compilation with gcc 4.4
* Enable importing Fenske-Hall zmatrices file both for human-written
files (with whitespace between fields), and for strictly formatted
files (sometimes without any space between fields)
* Avoid giving up when encountering parameters with the same name,
notably for least squares refinements
#### 184.108.40.206 - April 2009 (Revision #1117)
* Fix auto-scrolling bug with wxWidgets >=2.8.8
* Better formatting of some fields (overall cost,...)
#### 1.8.1 - March 2009 (Revision #1113)
* Add an option to use molecular dynamics random moves
when generating new molecule conformations, for molecules
with severe restraints (e.g. macro-cycles)
* Add a menu to test random moves of a crystal structure for 30s
* Correct calculation speed for powder patterns when using
* Correct display of colours in 3D view for Mac OSX
* Correct import of gsas raw format
* Faster read of uncompressed xml files under windows
* Many fixes for the Linux unicode build of Fox
#### 220.127.116.11 - February 2009 (Revision #1088)
* Fixed reading, writing files and display of labels in the
linux unicode version of Fox
#### 1.8.0 - January 2009 (Revision #1080)
* Add a "spacegroup explorer" feature to the profile fitting
widget, trying all spacegroups compatible with the unit cell,
and calculating the corresponding Rwp and GoP.
* Manual selection of profile parameters is now possible during
* Add powder pattern -> Fullprof export (creates .pcr and .dat)
* Add the ability to convert a list of atoms to a Molecule.
* Mac version is now provided as a universal binary
* More optimized integration intervals for powder pattern
* Allow choosing the number of peaks used for manual indexing
* Avoid identical triclinic unit cells
* Fox can now more easily be compiled with shared libraries for
wxWidgets, fftw, (free)glut and newmat
* Enable compilation with the unicode version of wxWidgets
* Correctly handle change of Crystal for powder patterns,
regenerate HKL list.
* Correctlky handle change of spacegroups during profile fitting
#### 1.7.7 - June 2008 (Revision #1013)
* Import single crystal data from CIF
* Use M(n) for indexing scores, with n=20 as default
* Faster Le Bail
* Improved triclinic indexing
* Correct Fourier maps listing, when the 3D crystal view is
opened during the Le Bail extraction
* Fix freezing of optimization during long runs on windows.
* Handle cas when scale factors or intensities would be written
as NaN in xml files.
* Correctly add/remove Fourier maps
#### 18.104.22.168 - April 2008 (Revision #995)
* Support Fourier maps for single crystal data
* Display Fourier maps with the original resolution used for the
extraction, no matter what resolution is used afterwards
(e.g. during the optimisation)
* More efficient random moves for molecules, particularly for
large molecules or with flexible cycles.
* Better automatic changes of temperature for parallel tempering
* Linux: enable compilation using "make -jN" (j2, j4...)
* Nicer atom drawing. Force double buffering
* Fixed incorrect formula for sample displacement
* Linux: avoid lock of optimisation when 3D view is opened
* Correct monoclinic indexing
* Fix issue with manual auto-indexing
* Disable auto-check for updates (could crash under Linux when no
network can be reached)
#### 1.7.5 - February 2008 (Revision #956)
* Add support to compute Fourier maps (observed, difference),
with a "live" update during optimization
* Profile fitting and Le Bail extraction is now directly
available from a right-click on the powder pattern graph.
* Support for Intel macs
* Indexing triclinic lattices
* Explore centered lattices during auto-indexing
* LeBail-extracted structure factors are now saved in the xml file
* More stable profile fitting
* Linux: keyboard shortcuts are working again
* Correctly compute reflections beyond the supplied
max(sin(theta)/lambda), but whose profile extend below the limit.
* Fixed incorrect computation of dynamical occupancy correction
in some asymmetric unit configurations
* Fixed crash when switching labels on/off during optimization
* Fixed windows crash when removing atoms in a Molecule/Polyhedron
#### 1.7.1 - December 2007 (Revision #903)
* Add peak detection & auto-indexing (still beta for some values)
* Add Le Bail fitting
* Add graph representing Iobs and Icalc as a function of 1/d
for single crystal data.
* Add user-controlled rotation of atoms around any existing bond
* Better support for CIF files import
* More responsive UI (refresh display even when no new solution
has been found, every 30s at least, and no more than once every second)
* Always report *real* time instead of process-time for the
first 100s, and then real time
* Correct distance table calculations in some cases, and therefore
dynamical occupancy correction...
#### 1.7.0 - February 2007
* Support for multiple optimizations - store all the solutions
obtained, then allow 'browsing' the solutions.
* Support for neutron time-of-flight data
* Support for reflection profiles other than symmetrical pseudo-Voigt
* Add bond-valence computation
* CIF import (powder patterns / crystal structures)
* Background can be automaticaly estimated using a Bayesian
approach (David-Sivia method)
* Background calculation can now use either a linear or a cubic
* Support for Mac OS X (using XCode /Apple Developper tools)
* Add a 'tracker' window to display the progress of the optimization,
including all the Chi^2, antibump costs, ...
* Add preferences (remembered between sessions) to automatically open
crystal 3D view, powder pattern graph, display names / reflections
* Enable saving files in a compressed (gzip) format (*.xml.gz)
* Add graph display for Single Crystal data (Iobs and Icalc vs 1/d)
* Add choices for scaling of powder pattern graphs: x as 2theta/tof,
1/d or 2pi/d ; y as I, sqrt(I) or log10(I)
* Compilation for windows is now done using the free (as in 'free as
a beer') compiler Visual C++ 2005. Large speed improvement.
* Fox can be compiled without GUI under *nix, using "make Fox-nogui"
removing the requirement for wxGTK on *nix servers.
* Support for large Molecules (1000's of atoms) - these *must* be
treated as rigid bodies
* Better graphical interface to a Molecule's parameters, including
* Better graphical interface to access scattering power parameters
(Biso, antibump, bond valence, colour...)
* Significant speed improvements for powder patterns when using
the default integrated Chi^2
* Rotation amplitudes for torsion angles and overall molecule
rotation is now tuned so that the average displacament per atom
is now set to 0.1 Angstroem.
* Faster refresh of graphical user interface
* Using cctbx rather than atominfo + sglite, enabling using either
Hall, Hermann-Mauguin or spacegroup number for spacegroup
description. Fox will revert to the Hermann-Mauguin symbol.
* freeglut and wxWidgets are statically linked under Linux as well
to avoid compilation issues for user without root access.
* Avoid creating H-H bonds when converting ZScatterer to a Molecule
#### 22.214.171.124 - december 2003
* Added the export to a POV-Ray file to create a Ray-traced
view of the 3D Crystal window, with support for both Crystal
structure and Fourier maps.
* Added more user control on the fexibility of a Molecule:
- Added "Rigid Body" and "User-Chosen Free Torsion" choices
for the flexibility model of the Molecule.
- Also added an option to disable the optimisation of the
orientation of the Molecule (only useful for "Rigid Body" mode)
- Give access to the delta and sigma parameters to calculate
restraints, although users are HIGHLY advised not to change
the default values unless they really know what they are doing
Also, a Molecule will by default be less flexible than before
* Added import of DSN6 Fourier maps, which can be created by
forplot in GSAS.
* Reverted to using GLUT under Linux to display atom labels in
the OpenGL window, as some graphical drivers did not fare well
with the new method.
* Ability to remove several atoms/bonds/angles at the same time.
When removing a bond, offer to remove the bond angles and
dihedral angles using that bond.
* Added reflection labels on the powder pattern graphical display.
* Speed improvements by avoiding (more) recomputations.
* Fox now uses wxWindows 2.4.x (no support for versions <2.4).
* Added support for Cobalt X-Ray tube. Also, correctly save
X-Ray tube parameters when they have been entered manually.
* Fourier maps with negative contour values will now be highlighted
towards negative values, for Fobs-Fcalc maps display.
* The position of peaks on a powder pattern was randomly displaced
by up to +/-2 pixels for each reflection. This could be serious
for patterns recorded with a low resolution relatively to the
peak widths, although the use of "integrated" Chi^2 and R-factors
reduced the gravity of this bug. (thanks Michal Husak for
serious testing and reporting)
* In the CIF output, some atoms were wrongly labeled as being
overlapping with another identical element.
* In the graphical display of powder patterns, improve the precison
of the display.
* Correct center of view coordinates when the center of the displayed
structure is not at (0.5,0.5,0.5)
#### 1.5 - june 2003
NEW FEATURES-MAJOR CHANGES
* The optimization will now use log(likelihood) as a criterion:
in practice, this means that the Chi^2 statistics are used
rather than the user-chosen cost functions. The likelihood
can sometimes be parametrized in the objects (crystal, pattern),
but not any more in the Global Optimization objects.
* Added a Molecule class, which suprsedes the ZScatterer approach
The scatterer is defined by a list of atoms, and restraints
(bond lengths, angles and dihedral angles) to specify the
geometry. This gives more flexibility, allows a better
convergence and allows to correctly define cyclic molecules.
* Added the ability to define a statistical positionnal error
for atoms, which will be taken into account following Maximum
Likelihood principles (ML field in ScatteringPowers), of course
with a significant amount of approximations to be computationnaly
* CIF output (with the help of Brian Toby).
OTHER NEW FEATURES
* Faster computation when using integrated profiles for powder
* Error bars are now displayed on the Powder Pattern graphical
* Further improvements of the Fourier maps display (mostly from
* A cursor can be displayed in the center of the 3D Crystal view,
its coordinates are displayed at the bottom of the window, with
the value of Fourier maps (if any)
* Added atom labels in 3D Crystal view (right-click menu to
* In OpenGL view of a Crystal structure, shift-dragging with left
mouse button now correctly changes the center of the view without
changing the rotation center.
* Changed lighting model in 3D Crystal view
* Added the ability to save structure factors from a
DiffractionSingleCrystal object, including detailed contributions
from different elements (useful for anomalous diffraction
* Fixed bug when exporting to a Fenske-Hall z-matrix, the 4th atom
was always repeated twice
* Overall ZScatterer occupancy is now correctly taken into account.
* Auto-save of xml files will now use local time rather than gmt.
#### 1.3 - december 2002
* Added a contribution from Michael Y. Polyakov, (working with
Brian Toby) to display Fourier maps exported from GSAS in
Fox (use right-click when displaying 3D structure to import).
* Added scattering power for a sphere, e.g. to modelize a
* Added the option to use pseudo-crystallographic symmetry in a
Crystal structure (i.e. use a spacegroup which is not allowed
by the unit cell). Could be useful for phase transitions.
* Added data format for FullProf formats 4 (synchrotron) and
6 (multi-detector, LLB G42)
* Now more than 100 atoms can be displayed in a ZScatterer unit.
* Added the ability to set relative limits on all scatterer
translations from their current positions.
* Added the ability to run Fox without the graphical interface,
once all objects to be optimized have been setup and saved in
a xml file.
* shift-dragging with left mouse button allows to change center of
the 3D Crystal view.
* Fix serious bug in the dtermination of systematic extinctions,
which lead to missing reflections for (body|face)-centered
spacegroups with a center of symmetry not on the origin
(e.g. for Fd3m (Si,...))
* Fixed various bugs in the display and update of powder patterns
#### 1.2 - august 2002
* FOX now supports Preferred Orientation, using the March-Dollase
model. The texture parameters can be searched ab initio.
* The 3D display of the crystal structure is now also refreshed
automatically under WinNT and above (still much less responsive
than under Linux -hint,hint).
* The default size of crystal structure and powder pattern are more
reasonable under windows.
* New atoms in ZScatterer are now given a sensible default name,
ScattPowName+number of the atom.
* The wavelength is now directly displayed in the window, rather
than exclusively through a menu.
* Added ability to duplicate scatterers in Crystal.
* Powder diffraction pattern keeps zoomed during optimization.
* The atom names in ZScatterer are now validated without the
'enter' key being hit.
* Adding atoms in a z-matrix scatterer does not crash anymore.
* removing a scatterer (or any object...) after running an
optimisation, does not crash any more when optimization is
relaunched (the parameter list is now correctly rebuilt).
* Now correctly zooming when the dragged area goes beyond
#### 1.1.2 - 2002/02/18
License changed to the GNU General Public License.
* Added a maximum value of sin(theta)/lambda for diffraction
data objects. All data above is ignored.
* Added an *experimental* option in single crystal data for
twinned data, to work on the sum of metrically-equivalent
reflections. Entirely untested (contact me to use it !)
* Some parameter are automatically fixed for global optimizations
(unit cell, background & profile parameters).
* Fox will write a few messages for some key events
(importing data, creating spacegroup,...)
* The dynamical occupancy correction now begins for interatomic
distances below 1A, and proceeds to full correction for .1A
(before that 2 and .8A where used (why?))
* Spacegroup and Unit Cell values can now be changed even if
scattering data has already been computed, without crash.
* Importing a Z-Matrix would give the 3rd and 4th atoms the same
number, and if atoms were of the same type, both atoms would
have the same name in the .xml saved file, and would crash
on reloading. Molecules thus created need to be re-imported.
#### 1.1.1 - 2002/01/17
* Under windows, the global optimization lead to a crash after
some random time.
* Under windows, clicking on some part of a powder pattern graph
would make Fox crash
#### 1.1 - 2002/01/8
* Now it is possible to import Z-matrices to build a molecule
structure (eg a Z-matrix file can be generated from a .pdb file
using babel, and then imported into Fox)
* Added integrated R and RW factors as new cost functions (thus
less sensitive to badly defined profiles). Unless you have *very*
good profile parameters, I recommend using the integrated Rw as
a cost function.
* Now it is recommended to choose an "exponential" schedule for
the amplitude, from 8 to .125, and a "smart" schedule for the
temperature. This should be optimized for *all* experiments,
so that users don't have to guess the right choices.
* It is no longer necessary to validate all input by hitting the
'return' key (which was *very* annoying)
* Ability to zoom on the powder pattern graph, using the left button
(double-click to unzoom)
* Possibility to reduce the part of the displayed unit cell in 3D
view (use the popup menu with right-click)
* Significant speed improvement.
* The Parallel Tempering algorithm has been tuned to yield a higher
* Possibility to used single-crystal data (eg extracted intensities)
for crystal structure optimization (honest crystallographer's note:
if you have high quality extracted intensities, try direct methods
* Added interface for 2theta zero/displacement/transparency
parameters in a Powder Pattern object
* Added an overall temperature factor (Biso) for each crystalline
phase in powder diffraction (also available in single crystal).
* new examples for organic molecules (potassium tartrate and
cimetidine with powder & extracted pseud-single crystal
* The program now forbids to check lattice or profile parameters
for a global optimization.
* Now using a distribution from source using the wxWindows RPM, which
* should make things easier under Linux.
* under linux, the antibump cost function was not properly restored
from an xml file (preventing merging of identical atoms)
* Changing the spacegroup (and thus extinction rules) will now
will re-generate the list of reflections for powder diffraction.
Same if the lattice parameters or the wavelength has changed.
* a number of minor bugfixes...
#### 1.0.1 - 2001/10/15
* corrected minimum FWHM for profiles from .001 to .00001 radians
#### 1.0 - 2001/10/15
* support for multiple crystalline phases in Powder Diffraction (you
can refine several phases from one pattern ...provided you can
* the Windows version now displays a console to give a better idea
about what the program is doing.
* Import of Sietronics data files (.cpi)
* Linux binary version also available for glibc 2.1
* removed another bug in ZMatrix interpretation, which prevented the
correct coordinates to be generated when using mono/triclinic unit
cells (thanks Mark Edgar).
* the program will no longer crash when importing data with null or
* U,V and W parameters leading to negative profile width will no
longer crash the program (profile forced to be strictly positive)
* various cosmetic bugs
#### 0.9.1 Beta - 2001/09/20
* Added menus to change limits globally in a ZScatterer(bond,angles)
* Now the pivot atom (around which the ZScatterer is rotated, and
which corresponds to the displayed x,y,z position of the
ZScatterer) is saved in the .xml file. It can also be changed
from a menu.
* Limits can be changed individually for all parameters, using a
popu menu: right-click on the parameter name to get the local menu
* removed a nasty bug in ZMatrix interpretation, which prevented
the correct coordinates to be generated for chains longer than 3
atoms. Did not affect polyhedras... (thanks Yuri Andreev)
#### 0.9 Beta - 2001/09/18
Initial Public release
Internal release only... Thanks to Laure Guenee,
Guillaume Renaudin and Radovan Cerny for testing !