aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
AgeCommit message (Collapse)Author
2021-04-19Move file_exists to utils (and eliminate several duplicates)Thomas White
2021-04-16Remove requirement for data path to contain "/"Thomas White
For data formats other than HDF5, the location can be anything.
2021-04-16Meson: Update and fix MsgPack/ZMQ dependenciesThomas White
2021-04-15Separate ZMQ from MessagePack, switch to pub/sub socketThomas White
Indexamajig uses only ZMQ, to receive streaming data, while libcrystfel uses only msgpack to implement another type of image format. The two of these are eventually tied together in process_image, which does this: if ( have_zmq_data ) interpret_zmq_data_as_msgpack; - however, they would be easy to split up if we wanted to do something else (CBF data over ZMQ, anyone?). This commit also switches the ZMQ connector to use a pub/sub socket instead of a request/reply one. This matches changes in OnDA. At the moment, the MessagePack image reader simply dumps the object to disk.
2021-04-01Implement loading of saturation mapThomas White
2021-04-01FromFile indexer, stream2sol.py: Remove space escapingThomas White
This isn't necessary after all, for the same reason that im-sandbox doesn't need escaping: it can count off the fields where spaces aren't allowed, and anything left is the filename. I was over-thinking things.
2021-03-31FromFile indexer, stream2sol.py: Handle spaces in filenameThomas White
2021-03-31FromFile indexer, stream2sol.py: Add/update copyright commentsThomas White
2021-03-30Add header caching layerThomas White
This simultaneously implements --copy-header/--copy-hdf5-field and gives access to metadata (e.g. detector position or wavelength) when loading from a stream with header-specified values.
2021-03-26Add str_integration_methodThomas White
2021-03-25indexamajig: Add --camera-length-estimateThomas White
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.
2021-03-25Add detgeom_mean_camera_lengthThomas White
2021-03-25PinkIndexer: fix conversion of detector shiftThomas White
2021-03-25FussinessThomas White
The FIXMEs have both already been fixed.
2021-03-25Avoid updating detector geometry structure during prediction refinementThomas White
This makes the behaviour consistent with the prediction itself, and removes another bit of mutable state.
2021-03-23Use crystal's detector shift during predictionThomas White
Previously, this was handled by updating the detector, but this could easily lead to strange double accounting.
2021-03-23Don't automatically set --no-refine --no-check-peaks with PinkIndexerThomas White
See c876486b for rationale.
2021-03-23CMake: ensure RPATH is always set for libcrystfelThomas White
This helps with finding dependencies installed in non-system locations.
2021-03-23CMake: formatting, use pkg_check_modules instead of pkg_search_moduleThomas White
2021-03-22Allow HDF5 path substitution when there are too many placeholder valuesThomas White
This allows, for example, masks which have fewer % signs in their HDF5 locations than the main data.
2021-03-22FromFile indexer: Fix prototypeThomas White
2021-03-19Merge branch 'tom/fromfile'Thomas White
2021-03-19FromFile indexer: add copyright noticeThomas White
There is presumably an MPSD that also needs to be added.
2021-03-19FromFile indexer: Take account of working directoryThomas White
2021-03-19FromFile indexer: New parser and simplification of codeThomas White
Significant change: the solution file must now come with the lattice type, centering and (if applicable) unique axis information at the end of each line, e.g. 'cI' (cubic I), 'mAb' (monoclinic A, unique axis b).
2021-03-19Fix mode of uthash.hThomas White
2021-03-19FromFile indexer: Option processingThomas White
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.
2021-03-17Add missing conversion to pixels for detector_shift_{x,y}Thomas White
2021-03-17Factorise panel in create_detgeomThomas White
2021-03-16Move MTZ and XDS export to libcrystfelThomas White
2021-03-12FromFile indexer: Add skeleton cleanup procedureThomas White
2021-03-12FromFile indexer: Update for new event ID in image structureThomas White
2021-03-12FromFile indexer: Remove unnecessary casting/memsetThomas White
2021-03-12FromFile indexer: Remove getcwd()Thomas White
It's only used for some error messages, and it doesn't compile anyway.
2021-03-12FromFile indexer: Remove update_detectorThomas White
Everything should use the per-crystal detector shift now.
2021-03-12FromFile indexer: Add missing semicolonsThomas White
2021-03-12FromFile indexer: Strip trailing whitespace and sort out formattingThomas White
2021-03-12Clean up after mergeThomas White
2021-03-12FromFile indexer: Move to libcrystfel/src/indexersThomas White
Also adds to meson.build
2021-03-12Merge branch 'pascal/electrons'Thomas White
2021-03-11indexamajig: Use static wavelength from DataTemplate as estimateThomas White
If the geometry file contains a literal wavelength, then let's use it. That's better than nagging the user for a --wavelength-estimate.
2021-03-11Add some warningsThomas White
2021-03-11indexamajig: Add --max-indexer-threadsThomas White
This is a more general replacement for --pinkIndexer-thread-count.
2021-03-11PinkIndexer: Allocate peak lists when indexingThomas White
There doesn't seem to be any point in allocating them earlier, except to make space for some nice bugs.
2021-03-11PinkIndexer: Remove unnecessary castThomas White
2021-03-11PinkIndexer: Remove wide bandwidth stuffThomas White
This will return later in a more centralised form, if we decide to work further on wide bandwidth.
2021-03-11PinkIndexer: Use fake camera length for detector refinementThomas White
... and calculate the real value afterwards, checking that the detector is really flat enough for it to work.
2021-03-11PinkIndexer: Remove custom indexing checksThomas White
These conflict badly with CrystFEL's own checks, creating a horrible user and developer experience. Later, if we want to handle wide bandwidth beams, we will improve the central CrystFEL checks to support it.
2021-03-11Re-enable PinkIndexerThomas White
2021-03-11detgeom_transform_coords: Take an additional detector shiftThomas White
This allows the refined detector position to be used in a lot of places.