-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PIA work: select only relevant experiments #1665
Conversation
For hdf5 grid scans, the length of the experiment is equal to the number of images in the grid scan. This results in a loop over every experiments in some places of the code, which can add significant overhead.
Test code:
Using
With the changes in this PR, spotfinding now takes ~1-1.25s per image:
|
I can see how the difference is substantial for big grid scans, but I would welcome a similar analysis (for documentation) of e.g. an 80 image scan. Will test the change set in a moment and verify that it makes no difference beyond time saving. |
For a 25 x 20 ROI gridscan (500 images) there is still an appreciable speedup:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess
For hdf5 grid scans, the length of the experiment is equal to the number of images in the grid scan. This results in a loop over every experiments in some places of the code, which can add significant overhead. Bikesheds-by: Nicholas Devenish <ndevenish@gmail.com> Bikesheds-by: Markus Gerstel <markus.gerstel@diamond.ac.uk>
Bugfixes -------- - ``dials.scale``: Fix crash when full-matrix minimisation is unsuccessful due to indeterminate normal equations. (#1653) - ``dials.scale``: Fix crash when no reflections remain after initial filtering. (#1654) - ``dials.export``: Fix error observed with ``format=mmcif`` for narrow sweeps with low symmetry (#1656) - Fix image numbering inconsistency in ascii histogram of per-image spot counts (#1660) - ``dials.find_spots_server``: Significant performance improvement for HDF5 grid scans. (#1665)
Bugfixes -------- - ``dials.scale``: Fix crash when full-matrix minimisation is unsuccessful due to indeterminate normal equations. (#1653) - ``dials.scale``: Fix crash when no reflections remain after initial filtering. (#1654) - ``dials.export``: Fix error observed with ``format=mmcif`` for narrow sweeps with low symmetry (#1656) - Fix image numbering inconsistency in ascii histogram of per-image spot counts (#1660) - ``dials.find_spots_server``: Significant performance improvement for HDF5 grid scans. (#1665)
For hdf5 grid scans, the length of the experiment is equal to the number of images in the grid scan. This results in a loop over every experiment which can add significant overhead:
dials/array_family/flex_ext.py
Lines 1205 to 1220 in a66ee17
called via:
dials/command_line/find_spots_server.py
Line 117 in a66ee17