======================================
Features
--------
- Improve handling of diamond anvil cell data. When calling xia2 with `high_pressure.correction=True`:
- 'Dynamic shadowing' is enabled, to mask out the regions shadowed by the cell body.
- The minimum observation counts for profile modelling are relaxed — the defaults are unrealistic in the case of a small data set from a small-molecule material in a diamond anvil cell. In such cases, there are far fewer spots than the DIALS profile modelling expects, based on the norm in MX. This had been a frequent cause of frustration when processing small-molecule data with xia2.
- X-ray absorption in the diamond anvils is automatically corrected for using `dials.anvil_correction`. (`396 <https://github.com/xia2/xia2/issues/396>`_)
- New command-line interface for xia2.to_shelxcde utility to support SAD/MAD datasets. (`433 <https://github.com/xia2/xia2/issues/433>`_)
- - Include xtriage analysis in xia2.multiplex output
- xia2.multiplex now exports json file including xtriage results
- Include merging stats in multiplex json file (`443 <https://github.com/xia2/xia2/issues/443>`_)
- Add the option ``multi_sweep_refinement`` to the DIALS pipelines.
This performs the same indexing as ``multi_sweep_indexing`` and additionally refines all sweeps together, rather than refining each sweep individually.
When refining the sweeps together, the unit cell parameters of each sweep are restrained to the mean unit cell during the scan-static refinement.
This is achieved by setting the ``dials.refine`` option ``refinement.parameterisation.crystal.unit_cell.restraints.tie_to_group.sigmas=0.01,0.01,0.01,0.01,0.01,0.01``, but other values and ``tie_to_group``/``tie_to_target`` schemes of ``dials.refine`` may be invoked by passing suitable parameters.
See the various xia2 configuration parameters under ``dials.refine.restraints``, which are identical to the settings one can pass to ``dials.refine`` via its own parameter set ``refinement.parameterisation.crystal.unit_cell.restraints``.
As with the normal behaviour of xia2, the restraints do not apply to the scan-varying refinement step.
Since this is likely to be most useful for small-molecule chemical crystallography, the ``multi_sweep_refinement`` behaviour is made the default when ``small_molecule=True``. (`456 <https://github.com/xia2/xia2/issues/456>`_)
Bugfixes
--------
- Fixed printing of unit cells which are fixed by symmetry (89.9999999 -> 90.0) (`444 <https://github.com/xia2/xia2/issues/444>`_)
- Changed outlier rejection in 3dii pipeline - no longer throw out outliers by default, and if outlier rejection requested only perform this after assessing resolution limits. (`445 <https://github.com/xia2/xia2/issues/445>`_)
- Fix issue where missing images caused error: "can't convert negative value to unsigned int" (`463 <https://github.com/xia2/xia2/issues/463>`_)
Deprecations and Removals
-------------------------
- xia2 0.7 no longer supports Python 2 (`450 <https://github.com/xia2/xia2/issues/450>`_)
- Removed long-deprecated command line options -3dii / -dials and the like as well as the dials-full pipeline. (`452 <https://github.com/xia2/xia2/issues/452>`_)
- Remove xia2.chef: this is deprecated and replaced by dials.damage_analysis (`460 <https://github.com/xia2/xia2/issues/460>`_)
Misc
----
- `449 <https://github.com/xia2/xia2/issues/449>`_