Skip to content
Snippets Groups Projects
ChangeLog 21 KiB
Newer Older
Thomas White's avatar
Thomas White committed
CrystFEL version 0.9.1, 22nd June 2020
-------------------------------------

- indexamajig: Fixed default unit cell tolerance (was 1.5 rad, now 1.5 deg)
- Fixed bug in unit cell reduction/comparison
- Improved the sigma estimate for very weak reflections
- Fixed bug when indexing with rhombohedral R cells
- indexamajig: Added --pinkIndexer-max-refinement-disbalance
- Fixed two problems when reading metadata values from HDF5
- partialator: Gracefully handle negative and NaN sigma values
- scripts/transfer-geom: Now only writes coffset for panels which had
  coffset values before
- Fixed/improved pinkIndexer documentation and error messages
- Fixed build with zlib < 1.2.3.5 (missing gzbuffer routine)
- Fixed build with HDF5 >= 1.12
- scripts/mtz2hkl, cif2hkl, hkl2hkl: Added missing header


Thomas White's avatar
Thomas White committed
CrystFEL version 0.9.0, 6th February 2020
-----------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- Introduction of cell_tool
- Addition of PinkIndexer interface
Thomas White's avatar
Thomas White committed
- Handle CBF files natively, not via CBFlib
- Add Spectrum API
Thomas White's avatar
Thomas White committed
- New symmetry operation/cell transformation parser
- New unit cell comparison algorithm based on Niggli reduction
- New prediction calculation which works for electrons and wide bandwidth
Thomas White's avatar
Thomas White committed
- indexamajig: Removed --no-cell-combinations
Thomas White's avatar
Thomas White committed
- indexamajig: Improvements to indexing result check ("--check-peaks"),
  improving results with multi-lattice indexing
Thomas White's avatar
Thomas White committed
- indexamajig: Add --zmq-msgpack
- indexamajig: Allow individual tolerances for all six parameters
- indexamajig: Return non-zero exit status if no patterns were processed
- indexamajig: Rename --min-gradient to --min-squared-gradient
- indexamajig: Status message updates
Thomas White's avatar
Thomas White committed
- indexamajig: Bandwidth now specified in geometry file (not --fix-bandwidth)
- indexamajig: Individual tolerances for each cell parameter
- indexamajig: Remove 'rescut' integration flag
Thomas White's avatar
Thomas White committed
- cell_explorer: Allow enforcement of Bravais lattice type
- ambigator: Use pre-defined resolution bins if limits not given
Thomas White's avatar
Thomas White committed
- geoptimiser: Use geometry from stream
Thomas White's avatar
Thomas White committed
- partialator: Many stability improvements to post-refinement
Thomas White's avatar
Thomas White committed
- partialator: Parallelise deltaCChalf calculation
Thomas White's avatar
Thomas White committed
- partialator: Add --model=offset for monochromatic synchrotron data
- partialator/process_hkl: Allow arbitrary polarisation direction and degree


Thomas White's avatar
Thomas White committed
CrystFEL version 0.8.0, 19th December 2018
------------------------------------------
Thomas White's avatar
Thomas White committed

- Add support for peakfinder9
- Add support for XGANDALF indexer
Thomas White's avatar
Thomas White committed
- Switch to CMake build system
- Handle 16bpp and gzipped CBF files
Thomas White's avatar
Thomas White committed
- Introduce make_pixelmap as a core CrystFEL program
- indexamajig: Add --wait-for-file
Thomas White's avatar
Thomas White committed
- indexamajig: Clean up temporary folders on clean exit
- indexamajig: Name and shame slow processing stages
- indexamajig: Warn if a frame takes more than 10 minutes to process
Thomas White's avatar
Thomas White committed
- Multiple fixes for XDS indexer interface
- Fix for indexing centered cells with Mosflm without prior cell parameters
- partialator: Fixes and improvements to post-refinement
- partialator: Add deltaCChalf rejection test
- Add scripts: euxfel-train-analysis, find-multiples and transfer-geom
- detector-shift: Click to choose different center
Thomas White's avatar
Thomas White committed
- check_{peak_detection,near_bragg}: Warn if stream is older than image
- Some fixes for peakfinder8
- turbo-index-lsf: Match turbo-index-slurm as closely as possible
- sum-peaks: Accept "-" for stdin
Thomas White's avatar
Thomas White committed
- geoptimiser: Fix calculation of displacement error
Thomas White's avatar
Thomas White committed
- check_hkl: Avoid NaN result for L-test with --zero-negs
Thomas White's avatar
Thomas White committed
- compare_hkl: Fix an edge case in calculation of anomalous figures of merit
Thomas White's avatar
Thomas White committed
- Handle numbers (e.g. "k-2h") in symmetry operator specifications (e.g.
  ambigator)
Thomas White's avatar
Thomas White committed
- Use GTK3 if available
Thomas White's avatar
Thomas White committed


CrystFEL version 0.7.0, 17th May 2018
Thomas White's avatar
Thomas White committed
--------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- indexamajig: Auto-detection of indexing methods
Thomas White's avatar
Thomas White committed
- indexamajig: New options system - removes confusing "comb","bad","retry" etc.
- Most programs now use the symmetry in the reflection files, allowing "-y"
Thomas White's avatar
Thomas White committed
  options to be omitted.
Thomas White's avatar
Thomas White committed
- Ginn partiality model was added.
- partialator: Switch to gradient-free minimiser.
Thomas White's avatar
Thomas White committed
- geoptimiser: Fixes for rotation and new features for AGIPD.
- Speed and accuracy improvements for TakeTwo indexing (Helen Ginn).
Thomas White's avatar
Thomas White committed
- process_hkl, partialator and ambigator now include the audit information from
  the stream in their output files.
- pattern_sim: Write orientation and lattice basis vectors into HDF5 file.
- hdfsee: Add event ID and peaks/preds/rings to exported image filenames.
- indexamajig --serial-start was added (useful when using turbo-index).
Thomas White's avatar
Thomas White committed
- indexamajig --overpredict was added (needed for post-refinement)
Thomas White's avatar
Thomas White committed
- pattern_sim --flat was added (new reflection profile option)
Thomas White's avatar
Thomas White committed
- cell_explorer: Now shows the number of matching cells on terminal.
Thomas White's avatar
Thomas White committed
- Felix options were simplified.
- scripts/sum-hdf5-files and eiger-badmap were added


Thomas White's avatar
Thomas White committed
CrystFEL version 0.6.3, 24th July 2017
--------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- indexamajig --peaks=peakfinder8 was added (Valerio Mariani, Oleksandr Yefanov)
Thomas White's avatar
Thomas White committed
- CBF files are now supported as input.
Thomas White's avatar
Thomas White committed
- TakeTwo indexing was incorporated (Helen Ginn)
Thomas White's avatar
Thomas White committed
- indexamajig --min-peaks and --no-non-hits-in-stream were added
  (basic hitfinder functionality)
Thomas White's avatar
Thomas White committed
- indexamajig: Hung worker processes will now be detected and killed.
Thomas White's avatar
Thomas White committed
- Peak locations from HDF5 or CXI files are now offset by 0.5,0.5 (needed for
  peaks from Cheetah and previously neglected).
Thomas White's avatar
Thomas White committed
- Detector panels no longer need to be perpendicular to the X-ray beam.
- Detector "rail" direction ("camera length" axis) no longer needs to be along
  the X-ray beam direction.
- Lattice parameters are now checked after prediction refinement as well as before.
- Multi-event HDF5 files can now contain peak lists.
- The peak list location can now be given in geometry file (instead of --hdf5-peaks)
- The number of detector units per photon (rather than per eV) can now be
  specified in the geometry file.
- indexamajig: Small changes to how peaks from HDF5 files are checked.
Thomas White's avatar
Thomas White committed
- compare_hkl --fom=d1sig and d2sig were fixed (Wolfgang Brehm).
Thomas White's avatar
Thomas White committed
- compare_hkl --min-measurements was added.
- New polarisation correction.
- Reflection data files now contain audit information (CrystFEL version number
  and command line parameters).
- Improvements to enumeration of events in multi-event files
- scripts/detector-shift: Show a heat map, handle different panel resolutions
  correctly
Thomas White's avatar
Thomas White committed
- Add scripts/move-entire-detector, scripts/split-by-mask,
  scripts/peakogram-stream and scripts/sum-peaks.
Thomas White's avatar
Thomas White committed
- scripts/turbo-index was renamed to turbo-index-lsf, and turbo-index-slurm
Thomas White's avatar
Thomas White committed
  was added (Steve Aplin).
Thomas White's avatar
Thomas White committed
- An example geometry file for Eiger was added.
- Multiple bug fixes for asdf indexing
- cell_explorer: Fixed invisible Greek letters on some systems
- Mask paths with fewer placeholders than data paths (e.g. some SACLA files)
  are now handled properly.
- cell_explorer: Added "Save cell" function.
- pattern_sim: Multiple bug fixes.
- geoptimiser: Multiple bug fixes.
- partialator: Fixes for some edge case bugs.
- indexamajig: Fix files left open when using XDS indexing.
- {check,compare}_hkl: Add warnings for potentially silly option choices.
- Remove "data slab" from detector data handling (simplifies internal data
  structures a lot).
Thomas White's avatar
Thomas White committed
- Python scripts were made compatible with Python 3.
Thomas White's avatar
Thomas White committed
CrystFEL version 0.6.2, 21st March 2016
---------------------------------------

- partialator: Stability improvements to scaling algorithm, default --push-res
  value changed from zero to infinity (no resolution cutoff by default).
- partialator: Added --custom-split, --max-rel-B and --output-every-cycle
- Added "retry" indexing method to improve indexing rate.
- Per-pixel saturation values can now be used (needed for CSPAD dual-gain mode).
- Fixed a regression with indexing using MOSFLM introduced near 0.6.1.
- indexamajig: Fixed a bug which occasionally caused corrupted stream output
  ("Failed while reading reflections").
- indexamajig: gradient fitting of background now optional and OFF by default.
- indexamajig: Added --profile for speed monitoring.
- indexamajig: Added "felix" indexing method.
- scripts/ave-resolution: Show resolution histogram.
- scripts/turbo-index: Added a missing line
- hdfsee: Improve quality of display by rounding pixel coordinates.
- hdfsee: Can now safely save new geometry file over old one.
- Target unit cell is now written to the stream.
- pattern_sim: Fixed bugs in --gpu and --powder.
- compare_hkl: Avoid double counting of reflections when calculating anomalous
  figures of merit.
- geoptimiser: Major refactoring
- ambigator: fixes for a few problem when using very large numbers of correlation
  coefficients or patterns.
- Some crashes and hangs in asdf were fixed.
- The "random" partiality model was improved.
- Prototype for prepare_indexing() changed, otherwise only additions were made
  to the API.


Thomas White's avatar
Thomas White committed
CrystFEL version 0.6.1, 3rd August 2015
---------------------------------------
Thomas White's avatar
Thomas White committed

- partialator: big improvements, now works well on most data sets.
- indexamajig: prediction refinement added.
- "mosflm" indexing method now uses prior cell information when used with
  mosflm version 7.2.0 or later.
- "asdf" indexing method added, which needs no external program.
- process_hkl --even-only and --odd-only were added.
- External bad pixel masks can now be used (see "mask_file" in geometry file).
Thomas White's avatar
Thomas White committed
- indexamajig: Can now use --int-diag with -j n where n>1
Thomas White's avatar
Thomas White committed
- Image data filters (e.g. --noise-filter) were fixed.
- indexamajig sandbox was redesigned and made more robust.
Thomas White's avatar
Thomas White committed
- compare_hkl now uses a B-factor for scaling the datasets.
- pattern_sim: spectrum normalisation added.
- scripts/ave-resolution and scripts/create-frame-number added.
- scripts/plot-predict-refine and scripts/plot-radius-resolution added.
- scripts/detector-shift added.
Thomas White's avatar
Thomas White committed
- scripts/turbo-index added.
Thomas White's avatar
Thomas White committed
- "reax" and "grainspotter" indexing methods removed.
- Many other small but important bug fixes and improvements to data quality.


Thomas White's avatar
Thomas White committed
CrystFEL version 0.6.0, 23rd February 2015
------------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- The geometry specification was extended to allow multiple events per HDF5
  file as well as different panels in different HDF5 locations.
- geoptimiser, list_events and whirligig were added.
- CrystFEL unit cell files were introduced.
- Beam parameter files are no longer used.
- indexamajig auto-determination of prediction parameters was added.
- indexamajig --fix-profile-radius, --fix-bandwidth and --fix-divergence were
  added.
- pattern_sim --beam-bandwidth, --photon-energy and --nphotons were added.
- partial_sim --beam-bandwidth, --photon-energy, --beam-divergence and
  --profile-radius were added.
- Event serial numbers are now written in streams.
- indexamajig -e/--image was removed.
- process_hkl --stat and --min-cc were added.
- render_hkl --highres and --no-axes were added.
- partialator --max-adu was added.
- 2D profile fitting (--integration=prof2d) was fixed.
- CSPAD geometry file examples were improved.
- compare_hkl --fom=d1sig and d2sig were added.
- pattern_sim now simulates detector saturation.
- Compression was switched off when saving HDF5 files.
- The units conversion for the resolution limit written into the stream was
  fixed.
- The pre-merging Poission error calculation was improved.
Thomas White's avatar
Thomas White committed
- A bug in pattern_sim's handling of symmetry was fixed.
Thomas White's avatar
Thomas White committed
- {check,compare}_hkl now report the min/max bin ranges.
Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.4, 5th September 2014
------------------------------------------
Thomas White's avatar
Thomas White committed

- hdfsee calibration mode, ADSC export and scrollbars were added.
- Bad regions can now be specified as fs/ss as well as x/y.
- "--version" options were added to everything.
- partial_sim --background was added.
Thomas White's avatar
Thomas White committed
- partialator --reference, --geometry and --beam were removed.
Thomas White's avatar
Thomas White committed
- ambigator --corr-matrix was added.
Thomas White's avatar
Thomas White committed
- indexamajig --peak-radius and --highres were added.
- Handling of bad pixels and overlapping reflections was improved.
Thomas White's avatar
Thomas White committed
- ambigator now updates the lattice basis vectors as well as the indices.
- pattern_sim can now simulate all point groups on the GPU.
Thomas White's avatar
Thomas White committed
- Unit cell output on the command line now uses Angstroms instead of nm.
Thomas White's avatar
Thomas White committed
- Beam/crystal properties and mean camera length were added to the stream.
- scripts/gen-sfs-expand was added.
Thomas White's avatar
Thomas White committed
- Stream reading/writing API was changed and improved.
- libcrystfel was made compatible with C++.
- get_symop(), get_matrix_name() mark_resolution_range_as_bad() were added.
- Prototypes changed for find_panel_number(), *_prepare() (all indexing
  methods), find_intersections(), image_feature_closest(),
- {get,set}_{refineable,scalable}() were removed.
- integrate_peak() was removed from the exposed API.
Thomas White's avatar
Thomas White committed


Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.3a, 14th April 2014
----------------------------------------

- A problem with ambigator's option processing was fixed.


Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.3, 9th April 2014
--------------------------------------
Thomas White's avatar
Thomas White committed
- ambigator and cell_explorer were added.
- get_hkl -w was fixed, and the option --no-need-all-parts added.
- pattern_sim was overhauled: the ability to simulate a finite bandwidth was
Thomas White's avatar
Thomas White committed
  restored, and a SASE or two-colour spectrum can now be simulated.
- All programs which use a random number generator now use a proper random
  number generator instead of random().
Thomas White's avatar
Thomas White committed
- partial_sim --really-random and --images were added.
- pattern_sim --template and --no-fringes were added.
- check_hkl --ltest and --wilson were added.
- process_hkl --max-adu and --min-res were added.
- compare/check_hkl --lowres and- -highres were added.
- The "rescut" integration flag was added.
- The stream format was changed to include peak heights and mean backgrounds.
Thomas White's avatar
Thomas White committed
- scripts/fg-graph and truncate-stream were added.
- record_image(), random_quaternion(), random_flat(), flat_noise(),
  gaussian_noise() and poisson_noise() now take an additional gsl_rng argument.
- validate_peaks() now takes an additional check_snr argument.
Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.2, 4th December 2013
-----------------------------------------

- Reflection sigmas were improved for negative intensities, and the behaviour
  of "process_hkl --min-snr" was rationalised.
- Peak centering ("--integration=rings-cen") was fixed.
- XDS default behaviour was fixed to prevent an unexpected axis permutation.
- Incorrect handling of monoclinic C cells was fixed.
- The counting of saturated peaks was fixed.
- hdfsee now needs the beam file (use option -m).
- A more than 2 year old bug was fixed in RefList.
- indexamajig --int-diag was added.
- render_hkl --res-ring was added.
- compare_hkl --fom=Rano and Rano/Rsplit was added.
- check_hkl --shell-file was added.
- get_hkl --cutoff-angstroms was added.
- partialator was extensively worked on.
- scripts/split-indexed was added.
- scripts/Rsplit_surface and clean-stream.py were added (Fedor Chervinskii).
- A locale-related problem with hdfsee was fixed.
- Histogram, update_partialities_2(), hdfile_is_scalar() and show_matrix() were
  added to the libcrystfel API.
- integrate_all() was changed to incorporate IntDiag.
- show_matrix_eqn() was simplified, removing a parameter.


Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.1, 4th July 2013
-------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- New integration framework in indexamajig - see "--integration" option.
Thomas White's avatar
Thomas White committed
- The "Lorentz factor" was added to partial_sim (and partialator).
- CCano was added as a figure of merit to compare_hkl.
Thomas White's avatar
Thomas White committed
- Anomalous correlation ratio (CRDano) was added as a figure of merit to
  compare_hkl (Lorenzo Galli).
Thomas White's avatar
Thomas White committed
- XDS indexing was improved.
- The calculation of sigma(I) in process_hkl was made more numerically stable.
- The polarisation correction in process_hkl was fixed.
Thomas White's avatar
Thomas White committed
- The display of feature names (i.e. Miller indices) in hdfsee was fixed.
Thomas White's avatar
Thomas White committed
- partialator was extensively worked on.
Thomas White's avatar
Thomas White committed
- A compilation failure (when FFTW3 was unavailable) was fixed.
- docs/stream-format.txt was added.
Thomas White's avatar
Thomas White committed
- scripts/create-xscale was fixed (sigma(I) values were wrong).
Thomas White's avatar
Thomas White committed
- Warnings were added to scripts which MUST be modified before use.
- polarisation_correction() was added to the API.
Thomas White's avatar
Thomas White committed
CrystFEL version 0.5.0, 19th April 2013
---------------------------------------
Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
- The internal architecture has been changed to accommodate multiple crystals
  per diffraction pattern.
- The stream format has changed as a result of the above.
- The indexing logic has reworked to make it easier to control what information
  is used for indexing and to allow the user to try more indexing options in
  turn.
- Saturated peaks and integrated reflections are now counted and the number
  included in the stream.
- GrainSpotter indexing has been added.
- XDS indexing has been added.
- The "--nshells" argument was added to check_hkl.
- The "--median-filter" argument was added to indexamajig and hdfsee.
- The "--filter-cm" argument was removed from indexamajig and hdfsee.
- check-near-bragg and check-peak-detection can now be given extra command-line
  options which will be passed through to hdfsee.
- An error in the solid angle calculation was fixed, affecting simulation with
  pattern_sim (Chun Hong Yoon).
- Lattice type, centering and unique axis information is now included in the
  stream.

Thomas White's avatar
Thomas White committed

Thomas White's avatar
Thomas White committed
CrystFEL version 0.4.3, 10th January 2013
-----------------------------------------

- compare_hkl was reworked to simplify the available figures of merit, add CC*,
  and to be consistent between the overall and resolution shell values.  A new
  option, --intensity-shells, was also added.
- Unit cells can now be handled in any setting.
- Indexamajig will now examine the unit cell given on the command line, even if
  the final cell will not be checked (i.e. if --cell-reduction=none).  The
  lattice type will then be given to MOSFLM, which can help a lot in finding the
  right solution.
- Indexamajig now records the number of saturated reflections in the stream.
- Indexamajig now processes the peaks obtained using "--peaks=hdf5" to check for
  bad detector regions, peaks too close to panel edges, etc.
- New options "--integrate-saturated", "--use-saturated" and "--integrate-found"
  were added to indexamajig.
- A bug was fixed which caused systematically absent (due to centering)
  reflections to be predicted and integrated.
- The colour scaling in hdfsee was improved.
- powder_plot was moved to the extra programs repository.
- The configure script now checks for HDF5.
- Forbidden (due to centering) reflections are now taken into account by
  check_hkl when calculating the completeness.
- The speed of pattern processing was increased significantly (in many cases) by
  avoiding an unnecessary iteration.
- A crystfel.pc file was added, allowing use of "pkg-config --cflags crystfel"
  and so on.
- The new option "--min-measurements" was added to process_hkl.
- The wavelength can now be specified in the beam file as an HDF5 path or as an
  explicit number, just like the camera length.  There is no longer any
  "fallback" to a nominal value (Chun Hong Yoon).


Thomas White's avatar
Thomas White committed
CrystFEL version 0.4.2, 2nd October 2012
----------------------------------------

- A data quality regression, introduced between versions 0.3.0 and 0.4.0, was
  fixed.
- A speed regression, introduced at the same time as the data quality
  regression, was also fixed (approximately a factor of 2 speed increase with
  indexamajig).
- Centered unit cells are now handled correctly during unit cell reduction.
- The same colour scale is now used for every panel by hdfsee.
- "get_hkl -w" was fixed.
- A spurious "-p" option was removed from scripts/gen-sfs-ano.
- Option handling across all programs was fixed to prevent confusion.


Thomas White's avatar
Thomas White committed
CrystFEL version 0.4.1, 29th August 2012
----------------------------------------

- Some compiler warnings with newer versions of GCC were fixed.
- Bad pixels are now shown in brown by hdfsee.
- Bad pixels are now ignored when calculating the range of the image for the
  colour scale in hdfsee.
- A crash when there were too many unit cell candidates was fixed.
- Small typos were fixed in a warning message and pattern_sim(1).
- "indexamajig --image" was fixed.


CrystFEL version 0.4.0, 31st July 2012
--------------------------------------

- Performance increase when using indexamajig on multi-core hardware (Chun Hong
  Yoon).
- "max_adu" field was added to geometry file format.
- Added masking of inner ("peak") regions of all peaks during the background
  calculation (Kenneth Beyerlein).
- Bandwidth and subsampling was restored to the GPU version of pattern_sim.
- Spot prediction and associated partiality calculations were improved.
- "profile_radius" field was added to beam file format.
- "compare_hkl --shells" now uses separate denominators in each resolution bin
  for the R-factor calculation.
- Removed fields "peak_sep" and "integr_radius" in geometry files.
- Bug fix for process_hkl --histogram (Lorenzo Galli).
- A bug was fixed in find_panel().
- Improvements were made to the build system.
- "indexamajig --min-integration-snr" was fixed.
- Fixed "process_hkl --start-after" and "--stop-after".
- "compare_hkl --sigma-cutoff" added.
- Shell resolutions in Angstroms added to the shells files of check_hkl and
  compare_hkl.
- Fixed small compilation problem with Cairo < 1.6.
- The tolerances for the cell reduction procedure, "ltl" in match_cell(), is now
  "const float *ltl" instead of just "float *ltl".
- The "peak_sep" field of "struct panel" was removed, and "max_adu" added.
- "struct beam_parameters" now contains a new field: "profile_radius".
- "write_detector_geometry()" was added to detector.h.
- "hdf5_write_image()" was added to hdf5-file.h.


CrystFEL version 0.3.0, 14th March 2012
---------------------------------------

- Initial release of CrystFEL.