aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
AgeCommit message (Collapse)Author
2017-04-13Add half-pixel offset for peakfinder8Thomas White
Like zaef, the pixel indices need to be converted to geometrical coordinates. This increases the indexing rate by about 5% in my test.
2017-04-13hdf5_read2(): Free buffers when read failsThomas White
2017-03-31Offset peak locations from HDF5 or CXI files by 0.5,0.5Thomas White
CrystFEL considers all peak locations to be distances from the corner of the detector panel, in pixel units, consistent with its description of detector geometry. In contrast, Cheetah considers the peak locations to be pixel indices in the data array. Therefore, a half-pixel offset is needed when importing the peak lists. For users who need the old behaviour, this commit adds a new option indexamajig --no-half-pixel-shift to deactivate this offset.
2017-03-24Remove an old debugging messageThomas White
2017-03-24Propagate error if indexing method is unrecognisedThomas White
2017-03-24Merge branch 'valerio/peakfinder8'Thomas White
2017-03-24Mostly fussinessThomas White
2017-03-22Completely revamped implementation of peakfinder8Valerio Mariani
2017-03-15largest_q(): Handle NULL detectorThomas White
2017-03-13Added management of max_num_peaks per image instead of per panelValerio Mariani
2017-03-13Added saturated peak management to peakfinder8Valerio Mariani
2017-03-13Ask for C99 in configure.ac, remove weird C99 declarationsThomas White
2017-03-11Fixed some more bugs reported by YaroslavValerio Mariani
2017-03-10Fixed a couple of bugs reported by TomValerio Mariani
2017-03-10cell_print(): Show reciprocal anglesThomas White
2017-03-10Peakfinder8 in CrystFEL. Same results as Anton's Cheetah implementationValerio Mariani
2017-03-08Check unit cell parameters after prediction refinementThomas White
2017-03-08Allow indexing system to store its own data, independently of indexing methodsThomas White
Previously, the indexing system passed all the information on to the indexing engines and then forgot about it. That made it difficult to do things like check the indexing solution after prediction refinement, because the target unit cell was unavailable. Now, the indexing system itself can keep some information. Of course, that information includes the private pointers for the indexing engines themselves. I took the opportunity to streamline things a little bit. The caller can now set up the indexing system in one step, without having to separately parse the names of the indexing methods. The caller no longer has to keep track of a separate array of methods, instead just one structure which contains everything.
2017-03-03Return error code if cell can't be invertedThomas White
2017-02-16Fix mask path placeholder checkThomas White
The mask paths for all panels have to have the same number of placeholders, but the masks do not have to have the same number of placeholders as the panel data blocks. This also tidies up a few excess strdup() calls, and removes partial_event_substitution() because retrieve_full_path() can now handle the number of placeholders being too small.
2017-02-02indexamajig: Add ping mechanism to avoid timing out when trying lots of indexersThomas White
2017-02-01asdf.c: Divide volume constraints by number of lattice points per unit cell. ↵Alexandra Tolstikova
Add F centering
2017-02-01asdf.c: Divide volume constraints by number of lattice points per unit cell ↵Alexandra Tolstikova
since asdf always finds primitive cell
2017-02-01Fix malloc fail due to integer overflow in N_tripletsAlexandra Tolstikova
2017-02-01Change volume_min, volume_max and d_max when indexing=asdf-combAlexandra Tolstikova
2017-02-01Change d_max according to the provided cellAlexandra Tolstikova
2016-12-09New polarisation correctionThomas White
2016-11-25Display line numbers at which stream is corruptedThomas White
2016-11-10Fix 2theta calculation in locate_peak_on_panel()Thomas White
The "improved" version of this, added by 9b1374999 along with the new spot position calculation for out-of-plane panels, actually assumes that the reflection is at the exact Bragg condition. This is not a valid assumption here. The difference is small (<0.5 px), but made the prediction refinement gradients completely wrong.
2016-11-04Add (more) warnings about unique axesThomas White
2016-10-14validate_peaks(): Remove drifting and proximity checks, and use original ↵Thomas White
coordinates We trust the HDF5 peaks, even if we can't see a peak there. That means we can't reliably take a centroid and "improve" the coordinates. In some cases, the centroiding procedure seems to be making the peak coordinates worse than they were originally. Now, the only remaining checks are: 1. Is the peak in a bad region of the detector? 2. Is it saturated? (but --use-saturated is the default) 3. If --check-hdf5-snr, is it above the minimum SNR?
2016-10-10Fix bad regionsThomas White
Previously, this was broken when not using a mask
2016-10-10Add missing newlineThomas White
2016-10-10Fussiness / boilerplateThomas White
2016-10-10Added detector shift to crystal structure, wrote get and get functionsValerio Mariani
2016-10-07XDS: Clean up open filesThomas White
2016-10-06hdf5_write_image(): Write the correct dataThomas White
2016-10-06hdf5_write_image(): Use correct dataspace for writingThomas White
2016-10-06pattern_sim: Fix loop bounds in record_image()Thomas White
2016-09-12Add newline at end of geometry file in stream, if not already presentThomas White
2016-09-12Restore loading of saturation mapThomas White
2016-09-12Restore loading of bad pixel mapThomas White
2016-09-07XDS: Create fake coordinates taking detector z into accountThomas White
2016-09-07Mosflm: Create fake coordinates taking detector z into accountThomas White
2016-08-16Add reflist_add_command_and_version()Thomas White
2016-08-16Read and write RefList notes to reflection list filesThomas White
2016-08-16Add notes to RefListThomas White
2016-08-11Take rail direction as a vector rather than individual x,y,z valuesThomas White
Just to make it more consistent with fs/ss directions
2016-08-11Use whole of 'value' field when parsing top-level geometry optionsThomas White
This is a long-standing bug, which we got away with up to now because top-level options with more than just a single number or location were rare or possibly never used at all.
2016-08-10Ensure z component is set in dir_conv()Thomas White