aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src
AgeCommit message (Collapse)Author
2021-01-14data_template_new_from_string: Fix error pathThomas White
2021-01-12FussinessThomas White
2021-01-11create_badmap: Break down into subroutinesThomas White
Also flips the order of iteration for (negligibly) better performance
2021-01-11resolution(): Use reciprocal representation instead of crystallographicThomas White
This avoids a load of trigonometric functions. In combination with the new UnitCell representation caching, this gives a significant speedup for cases where resolution() is called in a loop.
2021-01-11UnitCell: Store all representations once they're calculatedThomas White
Previously, the "getter" functions would re-calculate the requested representation every time they were called. This could mean doing a matrix inversion in the middle of a tight loop, wasting loads of time. Now, it stores the calculated values and returns them directly next time. Setting the parameters invalidates the values for all representations other than the one given. The cost of doing this is that the cell can no longer be "const" in the getter functions. This tracked through some other code, but nothing too severe.
2021-01-08detgeom_transform_coords: Avoid using trigonometric functionsThomas White
2021-01-08Update documentation about max_adu, and add a warningThomas White
2021-01-08Remove "Bragg proximity check" during integrationThomas White
This test is meant to avoid integrating overlapping spots. It does a very bad job of this, because it doesn't take into account whether the neighbouring reflection is actually excited, or even allowed by the lattice. It's even worse when we think about wide bandwidth.
2021-01-08locate_peak_on_panel: Check sign of 1/muThomas White
2021-01-07Formatting fussinessThomas White
2021-01-06partialator: Reject crystals with obviously too large profile radiiThomas White
The criterion for "too large" is 20% of the 1/d value for the lowest reflection which is not systematically absent according to the centering. A profile radius larger than the 1/d value for a reflection will crash the xsphere partiality model, and some visualisation shows that this is a clearly non-physical situation. The profile radius shouldn't be anywhere near the inter-Bragg spacing for reasonable data. However, feedback shows that this is happening quite often in real data, probably due to bad indexing.
2021-01-05Remove unused structure memberThomas White
2020-12-18Add peak_list_type in geometry fileThomas White
2020-12-16Add flag_{lessthan,morethan,equal} in geometry fileThomas White
This makes handling Pilatus/Eiger files, as well as many others, much easier.
2020-12-07Get rid of ImageFeature->rx,ry,rzThomas White
These needed to be kept up to date with a call to map_all_peaks every time anything changed - wavelength, detector position etc. Not doing so has already led to bugs in another branch, and probably already causes problems on this branch. This patch eliminates the rx,ry,rz completely. Anyone who needs reciprocal space coordinates for a peak is now responsible for calling detgeom_transform_coords themselves.
2020-10-27Add a new StreamFlag for generating the detgeom structureThomas White
This is a hack, and should be replaced by something which gets the metadata from the stream rather than hitting the read image file every time.
2020-10-27image_set_zero_{data,mask}: Speed up creation of blank arraysThomas White
2020-10-27Fix a possibly overrun stringThomas White
2020-10-26Label all uses of cell tolerancesThomas White
I'm sick of fixing this same issue over and over again. New rule: any code handling unit cell tolerances MUST be labelled with details of units.
2020-10-22image_expand_frames: When files are not HDF5, just return null eventsThomas White
2020-10-22compare_cell_parameters: Accept R/P pair as equivalentThomas White
See 0f18ff76a3d1f5979db for some discussion.
2020-10-15Shuffle default order of indexing methodsThomas White
2020-10-15Add TakeTwo to the list of indexers automatically usedThomas White
2020-10-15TakeTwo: Limit number of seeds to 10, and reduce MAX_OBS_VECTORS to 300Thomas White
This gives a huge speed improvement, without sacrificing very much in indexing rate.
2020-10-07Revert "Move asdf out of set of indexers used by default"Thomas White
This reverts commit 62183aacf906f4aff771295aa378cff039dd50ff. The apparent slowness was due to a bug introduced in August 2019. See 2a8f415df845064186baa833f9fe1ad91c0f5753.
2020-10-07asdf: Fix incorrect units conversion for cell volumeThomas White
2020-10-07Improve indexer speed profilingThomas White
2020-10-07FussinessThomas White
Commented out debug message is no longer relevant
2020-10-07TakeTwo: Set tp->optsThomas White
2020-10-07TakeTwo: Fix get_chiral_holohedry for "hexagonal H"Thomas White
Fixes CRYS-240
2020-10-06Move asdf out of set of indexers used by defaultThomas White
Sadly, it has the same fatal flaw as TakeTwo: taking forever on a minority of patterns.
2020-10-04Solved problem concerning prof_radius and diff_lim calculation, prof_radius ↵Pascal Hogan-Lamarre
and diff_lim removed from sol file
2020-10-01asdf: Replace weird loop syntaxThomas White
2020-09-30image_expand_frames: Report non-existent file properlyThomas White
2020-09-25stream_make_index: s/Indexing/Scanning/Thomas White
Because it sounds strange and confusing to index the indexing results.
2020-09-24Fix old warning messageThomas White
2020-09-24Apply default unit scale factor only when value is from headersThomas White
Ugh.
2020-09-17read filename and event with dynamical allocationPascal Hogan-Lamarre
2020-09-17removed the crystal number key from the solution file, deduced during readingPascal Hogan-Lamarre
2020-09-17Add missing includeThomas White
2020-09-17Ensure that fs dimension has higher index than ssThomas White
Reading from HDF5 cannot rearrange dimensions, only select a chunk. Therefore, the layout in memory needs to match the file.
2020-09-17multiple crystal per shot implemented (to be tested)Pascal Hogan-Lamarre
2020-09-16if-conditions to prevent modifying the resolution limit value read in the ↵Pascal Hogan-Lamarre
solution file
2020-09-16if-conditions that prevent modification of the profile_radius read from filePascal Hogan-Lamarre
2020-09-16modified the keys to use an event stringPascal Hogan-Lamarre
2020-09-16image_hdf5_read: Don't call image_freeThomas White
You didn't allocate it, so you don't free it.
2020-09-16Fix incorrect logic in HDF5 expansionThomas White
2020-09-16cleaning, remove double statementsPascal Hogan-Lamarre
2020-09-16fromfile indexer in a separate filePascal Hogan-Lamarre
2020-09-14Removed global variable, include profile_radius and diff_limit in sol file, ↵Pascal Hogan-Lamarre
cleaned up warning messages, not working yet for multi-crystals