Age | Commit message (Collapse) | Author |
|
We noticed that constant freeing and re-allocating the (potentially
quite large) arrays resulted in much lower performance. Since we know
that all images have the same data layout, we can safely re-use the
arrays. This gives a large speedup.
|
|
This adds an optional fast mode for asdf indexing, which is around 3
times faster with only a few percent lower success rate.
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/73
|
|
Including the path wasn't working very well. One of the problems is
that it prevents the use of a wrapper script for the programs, which is
needed for certain environments. This commit just removes the path
prefixes altogether.
|
|
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.
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/61
|
|
|
|
Somehow, I missed out the actual "chdir" call!
|
|
|
|
In this case, return false because PinkIndexer is never in the list of
automatically-chosen indexers.
|
|
This requires changing all the paths to relative ones.
Previously, the jobs ran with their CWDs set to the corresponding
"result" folder. The trouble is, this breaks everything that uses a
relative location: image filenames, mask/satmap files referenced by the
geometry, etc.
Note that this change also means that the temporary folders
("indexamajig.XXX") are now produced in the top-level working directory.
Eventually, a GUI option should be added to allow these folders to be
put somewhere better (i.e. somewhere fast).
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/44
|
|
|
|
|
|
Making them opaque seemed like a nice idea, because all the indexers
could take care of their own command-line arguments. However, it
doesn't work at all when indexing is run via the API.
|
|
Only when using PinkIndexer.
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/25
|
|
The logic behind forcing the results selector (to "Calculations within
GUI") was that anything calculated in the GUI should appear under that
selection only.
Unfortunately, when loading a stream without images, there is nothing at
all to be seen under this selection, not even an image. Forcing the
selector resulted in proj->cur_image = NULL and therefore a crash when
trying to index based on that.
Similarly, the call to update_peaks expected image data, but there is
none. In reality, we have a perfectly good image structure with peaks
from the stream already.
This allows a non-image stream to be "re-indexed" based on the peaks.
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/33
|
|
This makes it work when the filenames contain spaces.
|
|
|
|
Unfortunately, PinkIndexer needs the real camera length for its centre
refinement. Giving a fake value and scaling the resulting shift does
not work - the indexing rate drops with even a small error.
Ideally, this would work in the same way as --wavelength-estimate, by
using a static value from the geometry file if it's given. However,
this is rather complicated to implement because of the way all the units
stuff is implemented. Therefore, this is left as an improvement for the
future.
|
|
|
|
This give FromFile its own private command-lien option processing, like
the other indexers. It removes the ability to auto-generate the
solution filename, but I don't think there's a way to do that without
breaking abstractions.
|
|
|
|
|
|
This is a more general replacement for --pinkIndexer-thread-count.
|
|
This is a more sensible non-indexer-specific and non-Xray-specific
replacement for --pinkIndexer-override-photon-energy
|
|
|
|
|
|
|
|
|
|
|
|
This easily gives us the stdout.log and stderr.log needed for monitoring
the job.
|
|
Another one missed out before.
|
|
Whoops - this was missed out before.
This also reduces the precision displayed in the dialog box to reflect
what is actually passed to indexamajig.
|
|
|
|
|
|
|
|
This should help avoid them getting out of sync. Again.
|
|
This ensures that the display matches the parameters that were last
used.
|
|
|
|
This simplifies the backends somewhat, and makes them look more similar
- e.g. there is now only one routine to find out how far along a merging
job is. It has the added bonus of adding a log file for local jobs,
which we would've had to add soon anyway.
|
|
Like with merging, this makes the required job name more prominent.
|
|
Because shortly we will have merging_result as well
|
|
|
|
|
|
This seems to give a more compact and logical layout
|
|
|
|
|
|
|
|
Because we now have new_merge_job as well.
|
|
Commented out debug message is no longer relevant
|