Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-02-17 | asdf: Restrict domain for search for peaks in frequency graph | Alexandra Tolstikova | |
Previously, it was possible for the search to run over the part of the array initialised by FFTW. | |||
2023-02-17 | image_read_peaks: Fix a typo | Thomas White | |
2023-02-17 | strip_extension: Handle short strings better | Thomas White | |
2023-02-08 | indexamajig: Use static clen as --camera-length-estimate, if given | Thomas White | |
This makes it work the same way as --wavelength-estimate. | |||
2023-01-16 | asdf: Avoid integer overflow with number of triplets | Thomas White | |
Co-authored-by: Alexandra Tolstikova <alexandra.tolstikova@desy.de> Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/76 | |||
2022-12-08 | Zaef peak search: set an upper limit on the number of peaks | Thomas White | |
This avoids an apparently infinite loop with some corner case input. | |||
2022-12-08 | image_cbf_read: Abort if panel unpack fails | Thomas White | |
2022-11-08 | indexamajig: Remove warning when using --integration=none | Thomas White | |
For cases where you need it (high performance online processing), it's very spammy. | |||
2022-11-05 | Stream: increase maximum geometry file size to 1 megabyte | Thomas White | |
The old maximum was 64 kilobytes, and a 68k geometry file has now been seen in the wild. The limit is only needed to prevent runaway memory allocation in the case of a corrupted stream. So it's safe to increase it quite a lot. | |||
2022-10-05 | data_template_get_2d_detgeom_if_possible: Avoid segfault with adu_per_eV | Thomas White | |
2022-10-05 | peakfinder8: Allocate big structures on heap instead of stack | Alexandra Tolstikova | |
Fixes Valgrind errors and segfault with certain geometries | |||
2022-10-05 | Merge branch 'pf8_faster' | Thomas White | |
2022-09-22 | Add fast mode for peakfinder8 | Alexandra Tolstikova | |
2022-09-22 | all_panels_reference_same_clen: Handle missing units | Thomas White | |
2022-09-22 | Add missing prototype | Thomas White | |
2022-09-22 | Implement data_template_get_2d_detgeom_if_possible | Thomas White | |
It is horrible. But it's contained inside the DataTemplate module. | |||
2022-09-21 | create_detgeom: Return detgeom structure rather than altering image argument | Thomas White | |
2022-09-21 | Move create_detgeom to DataTemplate module | Thomas White | |
It seems to make more sense here, because it's all about interpreting the contents of the DataTemplate structure. | |||
2022-09-21 | asdf: Add fast mode | Alexandra Tolstikova | |
This adds an optional fast mode for asdf indexing, which is around 3 times faster with only a few percent lower success rate. | |||
2022-09-21 | Avoid nan/inf check unless data was given in float format | Thomas White | |
2022-09-20 | load_hdf5_hyperslab: Add missing cleanup | Thomas White | |
2022-09-08 | Stream: don't open stream if headers aren't understood | Thomas White | |
This avoids e.g. crashing later if the geometry is bad. This commit also removes a problematic stanza from the geometry in test.stream, since the stream reading functions are now more fussy about this. | |||
2022-09-02 | RefList: assert that a Reflection can only be on one list | Thomas White | |
2022-08-22 | image_create_dp_bad_sat: Initialise saturation array to infinity | Thomas White | |
2022-08-18 | Restructure image data array creation | Thomas White | |
This adds a central procedure (image_create_dp_bad_sat) to create all the arrays. Then it's up to the loading procedure to put the values into the arrays. This also makes the loading procedures responsible for marking NaN/inf pixels in the bad pixel map. This avoids an additional sweep through the image data, and makes it possible to skip the NaN/inf check altogether if the image data comes, as it often does, in format which can't represent NaN/inf anyway. Finally, it removes quite a lot of duplicated code. | |||
2022-07-12 | Zero-weight negative intensity peaks in prediction refinement | Thomas White | |
Strongly negative peaks can occur if there are unmasked bad pixels. These cause the refinement to diverge badly. This change stabilises the refinement such that it works even in these cases. But of course, the real solution is to mask out those pixels. Negative intensity peaks are unlikely to show up "for real" in the peak search results (because we look for strong peaks!). However, if the intensity is negative, we aren't even sure that the peak exists at all and have no reason to assume it should be close to the Bragg condition. | |||
2022-06-09 | pair_peaks: Use fabs instead of abs for floating point values | Thomas White | |
2022-06-09 | Remove some unused variables | Thomas White | |
2022-06-02 | Meson: Don't look for cJSON unless Seedee is found | Thomas White | |
2022-06-02 | Add worker ID to profiling data | Thomas White | |
2022-06-02 | Add profiling for bad region generation | Thomas White | |
2022-06-02 | Use isfinite() instead of isnan() || isinf() | Thomas White | |
These FP calls seem to be slower than expected. Using only one doubles the speed. | |||
2022-06-02 | Fix horrific Seedee memory leak | Thomas White | |
2022-06-02 | Seedee deserialization | Thomas White | |
2022-06-02 | indexamajig: Track metadata (e.g. for ASAP::O) | Thomas White | |
2022-06-02 | Generate placeholder filename/event earlier | Thomas White | |
Previously, a placeholder was put in the queue ("ZMQdata //" or "ASAPOdata //"), and replaced by image_read_data_block. Instead, the "final" placeholder can be put in the queue already. Note that ASAP::O, at least, will replace this placeholder with a filename delivered by the data transport. | |||
2022-06-02 | Refuse to overwrite an existing stream | Thomas White | |
With online processing, we might end up with a very long stream. It should not be so easily deleted if indexamajig is restarted! | |||
2022-06-02 | Profiling: Increase debugging information | Thomas White | |
2022-06-02 | Profiling: Increase MAX_PROFILE_CHILDREN | Thomas White | |
This number has to be at least 2x as high as the number of detector panels because, when using HDF5 and a bad pixel map, each panel will have an H5Dopen2 and H5Dread block inside create-badmap. | |||
2022-06-02 | Merge branch 'better-profiling' | Thomas White | |
2022-06-02 | Meson: Replace '1' with 'true' inside conf_data.set10 | Thomas White | |
Use of numbers (rather than booleans) in this routine is deprecated in recent meson versions. | |||
2022-05-04 | Write profile information in one call to write() | Thomas White | |
Unfortunately, the complicated series of nested printf()s doesn't work well from multiple processes. | |||
2022-05-04 | Add improved profiling | Thomas White | |
Improvements: - Recursive, so we can see how things are working at different levels - Everything is profiled, even if not explicitly labelled - No possibility of losing time - Detects mistakes if routines aren't wrapped correctly | |||
2022-05-03 | Strip out time-accounts | Thomas White | |
2022-04-20 | Recognise .nx5 as HDF5 | Thomas White | |
2022-04-20 | Install time-accounts.h | Thomas White | |
2022-04-05 | indexamajig: Fix profiling when using streamed data | Thomas White | |
2022-04-05 | Time accounts: make sure that last account is logged | Thomas White | |
2022-03-18 | Formatting | Thomas White | |
2022-03-09 | Meson: enable building without HDF5 | Thomas White | |