aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-02Merge branch 'better-profiling'Thomas White
2022-06-02Meson: Replace '1' with 'true' inside conf_data.set10Thomas White
Use of numbers (rather than booleans) in this routine is deprecated in recent meson versions.
2022-06-02Update indexamajig(1) to say that things also refer to --peaks=msgpackThomas White
2022-06-02indexamajig: Put MsgPack peaks through validation procedure, like HDF5Thomas White
2022-06-02Update copyright datesThomas White
2022-05-31indexamajig: Fix JSON when not indexing/integratingThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/68
2022-05-04Write 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-04Add improved profilingThomas 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-03Strip out time-accountsThomas White
2022-05-03partialator: Use default event ID in csplit for crystals which don't have oneThomas White
2022-05-03partialator: Fix a typoThomas White
2022-04-20Recognise .nx5 as HDF5Thomas White
2022-04-20Install time-accounts.hThomas White
2022-04-07Update cell_explorer screenshotThomas White
Same deal as 6ead0af32.
2022-04-07Add cell_explorer.desktopThomas White
This is hidden from menus, just so that cell_explorer gets its window icon.
2022-04-07Tutorial: Fix a tiny typoThomas White
2022-04-07Update tutorial screenshotThomas White
This has a cleaner background, and the window icon has been fixed (see ad8494c441231).
2022-04-05indexamajig: Fix profiling when using streamed dataThomas White
2022-04-05Time accounts: make sure that last account is loggedThomas White
2022-04-05GUI: Add desktop file and set application nameThomas White
This fixes the broken window icon on Wayland.
2022-04-01Meson: Disable OpenCL by default, and update documentationThomas White
2022-04-01Make opencl optionalValerio Mariani
2022-04-01GUI: Improve an error messageThomas White
2022-03-18GUI: Use sbatch/scancel/scontrol instead of Slurm APIThomas White
This commit strips out all references to the Slurm API, instead making subprocess calls to sbatch and scontrol. Attempting to use the Slurm API seems to have been a mis-step. First, it seems that nowhere has the Slurm headers pre-installed. Literally none of the facilities where there are known deployments of CrystFEL have them. And in a significant fraction of cases, getting them installed is difficult, slow or impossible. In addition, the API doesn't seem to work in all cases, so we already shell out to 'scancel' to abort jobs - see d76fc3495. There are some tricky implications for submitting Slurm jobs from a container via the API. The Slurm REST API offers a solution, but is very new and not widely available. Calls to the Slurm executables are much easier to 'tunnel' out of a container. This isn't a great solution. It's a net increase of only about 40 lines of source code, but it incurs some unpleasant string handling and will probably be less reliable overall. It completely relies on Slurm's not being internationalised. If Slurm's messages start getting translated, we will be in trouble.
2022-03-18GUI: Slow down job status checksThomas White
2022-03-18FormattingThomas White
2022-03-09INSTALL.md: Slight restructuringThomas White
2022-03-09Add CI test for building without HDF5Thomas White
2022-03-09Meson: enable building without HDF5Thomas White
2022-03-08read_peaks: Simplify logicThomas White
2022-03-08Fix slabbiness assumptionsThomas White
This adds a new routine, data_template_slabby_file_to_panel_coords, to be used (only!) in places where external forces require assumptions of slabbiness: pixel maps and MsgPack/HDF5 peak lists (including CXI-style). This also fixes the prototype of data_template_file_to_panel_coords to make the panel number strictly an input parameter. This was an oversight in the implementation of DataTemplate, and caused problems when reading non-slabby streams. Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/66
2022-03-08stream_open_for_write: Fix documentationThomas White
2022-03-08Drop compatibility with old stream format versionsThomas White
CrystFEL hasn't written any version other than 2.3 since before 2015. Supporting the old versions is getting difficult because of slabbiness assumptions, so it's time to get rid of it.
2022-03-08Update merging tests to latest stream versionThomas White
2022-03-08Add tests/stream_roundtripThomas White
2022-03-07indexamajig: Don't back up image data if not filteringThomas White
This takes a non-negligible amount of time (40 ms per frame for 16M), so should be skipped if not needed.
2022-03-07indexamajig: Use fine-grained profilingThomas White
2022-03-07time_accounts_init: Add a warning if timer is not availableThomas White
2022-03-07Add image_read_with_time_accounting for fine-grained data load profilingThomas White
2022-03-07Move time-accounts to libcrystfelThomas White
2022-03-07Add new time accounts (preparation for finer-grained profiling)Thomas White
2022-03-07indexamajig: Remove pointless time account/last task/pingThomas White
This doesn't do anything. The very next lines override all the settings.
2022-03-04GUI: Fix stream rescan logicThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/64
2022-03-03GUI: Better handling of error-filled indexamajig logsThomas White
If there are lots of error messages (e.g. a missing mask file), looking at the last 4k of the log file is not always enough. Now it will go back to 16k, in steps of 4k. It will stop early if it finds the start of the file, and it will complain if it still doesn't find what it's looking for.
2022-03-03GUI: Use fixed profile radius for indexing onceThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/61
2022-03-02Add tests/indexamajig-missing-fileThomas White
This checks that indexamajig correctly recognises when no files could be processed.
2022-03-02indexamajig: Return a specific error code (5) if no files could be processedThomas White
2022-03-02Move file_exists() check to right before opening the HDF5Thomas White
No other code path under image_expand_frames() actually opens the file, because HDF5s are currently the only format supporting multiple frames. The aim of the existence check is to give a better error message (compared to the HDF5 backtrace splurge), but it doesn't need to be done so early. In fact, checking so early had the side-effect of breaking indexamajig --wait-for-file. Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/65
2022-03-02Formatting and increased verbosityThomas White
2022-03-02Add tests/file-waitThomas White
This tests that indexamajig --wait-for-file works