aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-28Stream: Use separate DataTemplate for reading and writingThomas White
This solves a tricky conceptual issue: Stream owns the DataTemplate when it's reading (because it came from the stream headers), but not when writing (when it's provided to us).
2021-01-28compare_hkl: Remove unused variablesThomas White
2021-01-27GUI: Avoid warning when there are no results in the project fileThomas White
2021-01-27partialator/reflist: Propagate calloc NULL returnThomas White
This prevents an out-of-memory situation (due to ulimit) from manifesting as a segfault.
2021-01-27partialator: Fix (big) memory leaksThomas White
2021-01-27stream_close: Free the DataTemplateThomas White
2021-01-27image_free: Also free the spectrumThomas White
2021-01-27DataTemplate: fix some small memory leaksThomas White
2021-01-22compare_hkl: Remove --intensity-shellsThomas White
No-one uses it, it doubles the complexity of the code, and the manual even warns not to use it.
2021-01-22Remove selection of reflections for FoM to libcrystfelThomas White
2021-01-22Improve names for FoM APIThomas White
2021-01-22Move figure of merit calculation into libcrystfelThomas White
2021-01-22GUI: Set default values for FoM parametersThomas White
2021-01-22Remove doc/stream-format.txtThomas White
The tiny amount of information in that file isn't relevant (or even correct..) any more.
2021-01-21GUI: Implement choice of input for mergingThomas White
2021-01-20GUI: Implement merge resultsThomas White
2021-01-15Correct P to R centeringThomas White
2021-01-15FormattingThomas White
2021-01-14Correct bad region coordinatesThomas White
Bad regions are specified (in the geometry file) in terms of the "file" coordinates, which might be different to the panel-relative ones.
2021-01-14Remove old debuggingThomas White
2021-01-14Avoid very slow loop over pixels to create bad pixel mapThomas White
Bad regions specified in terms of x/y still require an iteration over all pixels of the detector, but I don't see an easy way around that. Avoiding x/y bad regions will give best performance.
2021-01-14Stream: Remove in_chunkThomas White
It's not used any more - nowhere is it set to 1.
2021-01-14stream_open_for_read: Avoid using fseek()Thomas White
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-07GUI: Basic labelling of reflectionsThomas White
Lots of improvements still to be made here, such as using the "real" Cairo text API as well as using proper overlines for negative indices.
2021-01-07Formatting fussinessThomas White
2021-01-06Use smaller profile radii in partialator testsThomas White
The radii are not used (the tests only check scaling), but must pass the newly-added check in partialator.
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-05Fix comment typoThomas White
2021-01-05Remove unused structure memberThomas White
2020-12-18Improve documentation about file-based peak listsThomas 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-14Meson: Try finding SLURM libraries via pkg-config firstThomas White
2020-12-14Meson: Add GSL to libcrystfel's declare_dependency()Thomas White
2020-12-11Skeleton figure of merit window for GUIThomas White
2020-12-11Fix commentsThomas White
2020-12-11result -> indexing_resultThomas White
Because shortly we will have merging_result as well
2020-12-07Rearrange tabs for merge optionsThomas White
This makes the interface consistent between the indexing options and the merging options.
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-12-07GUI: Save and restore the selected resultThomas White
2020-12-07GUI: Select result when loading streamThomas White