aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-03-01Add section about syminfo.lib to INSTALL.mdThomas White
2022-03-01Add scripts/install-indexersThomas White
2022-03-01Add new tutorialThomas 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-02-09Update dependencies for FedoraThomas White
2022-01-27Merge pull request #5 from kif/typoThomas White
correct a simple typo
2022-01-27correct a simple typoJerome Kieffer
2022-01-14This is CrystFEL 0.10.10.10.1Thomas White
2022-01-13INSTALL.md: Add 'cd /home/user/downloads/crystfel'Thomas White
This makes it explicit that the Meson and Ninja steps should be run from the CrystFEL folder, not (e.g.) the Meson folder.
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".
2022-01-10Meson: Switch to libccp4c from WrapDBThomas White