aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-06-02indexamajig: Exit if unique ASAP::O group ID can't be createdThomas White
2022-06-02ASAP::O: Use asapo_is_error()Thomas White
2022-06-02indexamajig: Special cases for ASAP::O as for ZMQThomas White
2022-06-02ASAP::O: Remove vestigial blockThomas White
2022-06-02ASAP::O: Fix memory leak on error pathThomas White
2022-06-02ASAP::O: Tidy up build processThomas White
This removes a lot of random #ifdefs from the source code.
2022-06-02Fix build without ASAP::OThomas White
2022-06-02ASAP::O: Use asapo_string_from_c_str, which exists nowThomas White
2022-06-02ASAP::O: Actually get the dataThomas White
2022-06-02ASAP::O: Group ID stuffThomas White
2022-06-02ASAP::O gutsThomas White
2022-06-02Merge branch 'better-profiling'Thomas 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-05indexamajig: Fix profiling when using streamed dataThomas White
2022-04-05GUI: Add desktop file and set application nameThomas White
This fixes the broken window icon on Wayland.
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-09Meson: enable building without HDF5Thomas 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-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-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-02indexamajig: Return a specific error code (5) if no files could be processedThomas White
2022-03-02Formatting and increased verbosityThomas White
2022-02-21cell_explorer: Handle smooth scrolling eventsThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/59
2022-02-10CrystFELImageView: Handle smooth scrolling eventsThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/58
2022-01-12SLURM: Fix a silly mistake counting the environment entriesThomas White
2022-01-12SLURM: Get rid of path_addThomas White
This is no longer needed after 48c02e71e5bf. Simply set the correct PATH before starting the GUI, and it will be propagated to the SLURM jobs. Astute readers will notice that the feature has been silently broken since last March (65a1afdce2da5cd), anyway. Whoops.
2022-01-12GUI: Try to get geometry from result (stream), if not explicitly providedThomas White
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/56
2022-01-12SLURM: Copy environment from parent processThomas White
Unfortunately, several environments rely on "magic" environment variables to make things work. These need to be propagated. The path to the GUI will no longer be added to the PATH. This was intended to help when the indexing executables (mosflm, dirax etc) were found alongside the CrystFEL executables. However, it's highly likely that the path to the CrystFEL executables will be in PATH anyway. This way, running the SLURM jobs in the same environment as the GUI itself, also seems more compliant with the "principle of least surprise".
2021-12-17indexamajig: Set file read time account for unpacking frame dataThomas White
2021-12-17indexamajig: Avoid fclose(NULL)Thomas White
When running online, there's no input file handle to close.
2021-12-17indexamajig: Send sandbox ping while waiting for next frameThomas White
This avoids the process getting killed while waiting e.g. between runs in an online context.
2021-12-07indexamajig: Generate per-frame profiling numbersThomas White
2021-12-07indexamajig: Shut down cleanly on SIGUSR1Thomas White
2021-12-02GUI: Add a checkbox for automatically rescanning streamsThomas White
Usually, one will want this option enabled. However, sometimes it speeds things up a lot to disable it. Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/54
2021-12-02GUI: Always set toggle actions at startupThomas White
Otherwise, setting the defaults won't work properly.