aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/image-msgpack.c
AgeCommit message (Collapse)Author
2024-02-06Use libcrystfel memory allocation routines everywhereThomas White
2024-02-06image_add_feature: Remove "image" argumentThomas White
It hasn't been needed for ages.
2023-06-06MsgPack: Fix incorrect array index for bad pixel mapThomas White
2023-06-06MsgPack: Complain if geometry file has placeholder dimensions or stacked panelsThomas White
2022-08-18Restructure image data array creationThomas White
This adds a central procedure (image_create_dp_bad_sat) to create all the arrays. Then it's up to the loading procedure to put the values into the arrays. This also makes the loading procedures responsible for marking NaN/inf pixels in the bad pixel map. This avoids an additional sweep through the image data, and makes it possible to skip the NaN/inf check altogether if the image data comes, as it often does, in format which can't represent NaN/inf anyway. Finally, it removes quite a lot of duplicated code.
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
2021-05-12Fix build without MsgPack (again)Thomas White
2021-05-12Fix build without MsgPackThomas White
2021-05-12Rework header caching layerThomas White
This clears up multiple layering violations which were starting to get in the way. It enables "string" headers to be stored directly, and it will make it much simpler to add new header types in the future. Along the way, this changes all the floating point header stuff to use double precision. This is needed for EuXFEL event IDs. Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/34
2021-05-12MsgPack: Fix a silly copy/paste errorThomas White
2021-05-07MsgPack: Warn if dtempl->peak_list is NULLThomas White
2021-05-07MsgPack: Use the right pointer for "bin" keysThomas White
2021-05-07MsgPack: Use top-level object directly if it is a mapThomas White
2021-04-29MsgPack: Handle floating-point data, fix array readThomas White
2021-04-29MsgPack: Handle strings if they can be converted to integersThomas White
2021-04-28MsgPack: Remove warning about multiple objectsThomas White
If this happens once, it'll probably happen every frame. This makes things very noisy.
2021-04-27Rename libcrystfel's config.h to libcrystfel-config.hThomas White
This removes the big potential for confusion, which has happened several times (see e.g. 095cbebaf6). It also fixes in-tree builds with CMake (but seriously, always use out-of-tree builds). Fixes #2.
2021-04-23Fix build without MsgPackThomas White
2021-04-23MsgPack: Implement peak list loadingThomas White
2021-04-23MsgPack: More build system fixesThomas White
The changes in b22f6f524 were incorrect. config.h should never be included from libcrystfel headers, because that will include the main CrystFEL program config.h instead.
2021-04-23MsgPack: improve an error messageThomas White
2021-04-23MsgPack: Implement extraction of image dataThomas White
2021-04-20MsgPack: Implement decoding numeric valuesThomas White
2021-04-20MsgPack: Improve a warning messageThomas White
2021-04-19Unify loading of image data and header valuesThomas White
This moves the entry point for loading MsgPack data to a new function, image_read_data_block. Inside image.c, the image structure can be created using exactly the same functions as for data files.
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-03-05Mass update of copyright dates in source code commentsThomas White
2020-07-29Unify creation of blank image data arraysThomas White
2020-07-29Remove events.c, part 1Thomas White
2020-07-29Remove unused includesThomas White
2020-07-29Convert image-msgpack.c to DataTemplate/detgeomThomas White
2020-07-29Move MessagePack stuff to separate fileThomas White
Note the nicer separation: ZMQ is in indexamajig only, whereas MessagePack becomes something generally accessible through libcrystfel.