aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/image-hdf5.c
AgeCommit message (Collapse)Author
2021-09-17Handle headers from in-memory HDF5sThomas White
2021-09-17Handle in-memory HDF5sThomas White
2021-09-17Avoid pointless passing of image/eventThomas White
2021-09-07image_hdf5_read_header_to_cache: Remove double free on error pathThomas White
2021-07-23image_hdf5_write: Avoid weird pass-by-referenceThomas White
2021-07-23FormattingThomas White
2021-07-22Clean up shadowed variablesThomas White
2021-07-21image_hdf5_read_peaks_cxi: Fix error checksThomas White
2021-07-21Add missing cleanup on error pathsThomas White
2021-06-22Add string terminator for fixed-length HDF5 strings from arraysThomas White
2021-06-21Restore HDF5 string handlingThomas White
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/36
2021-05-28Pass errors back when retrieving values for wavelength etcThomas White
Big improvement on just sending NAN back. Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/37
2021-05-17Resolve FIXMEs and TODOsThomas White
Prompted by the article linked below, for each FIXME/TODO I've either referenced an issue in the tracker, or removed it if it's not worth fixing. https://schleiss.io/plotting-source-code-todos-for-open-source-projects
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-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-01Implement loading of saturation mapThomas 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-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-09Add the ability to use multiple bad pixel masks at onceThomas White
2021-03-05Mass update of copyright dates in source code commentsThomas White
2020-09-16image_hdf5_read: Don't call image_freeThomas White
You didn't allocate it, so you don't free it.
2020-09-16Fix incorrect logic in HDF5 expansionThomas White
2020-09-07Catch another "NULL" event -> //Thomas White
2020-08-04Add image_write()Thomas White
This is a one-to-one transfer of the old hdf5_write_image()
2020-07-30Add missing config.h includesThomas White
2020-07-30Eliminate duplicate symbolsThomas White
This makes searching easier, and also permits Meson's unity build mode.
2020-07-29Fix a couple of memory bugs in event expansionThomas White
2020-07-29const-cleaningThomas White
2020-07-29Move image structure creation up to image_read()Thomas White
2020-07-29Add missing newlinesThomas White
2020-07-29Handle scalar values for HDF5 headersThomas White
2020-07-29Set default event ID when reading from HDF5 with NULL eventThomas White
2020-07-29Avoid segfault if there are no panels in DataTemplateThomas White
Obviously, this should never happen.
2020-07-29Recognise .cxi extension as HDF5Thomas White
2020-07-29Improve error messageThomas White
2020-07-29is_hdf5_file: Only check extensionThomas White
It seems that H5Fis_hdf5 doesn't close the file. So, we rapidly run out of file descriptors. Also, opening each file just to enumerate single-frame files seems like a waste of time.
2020-07-29Avoid event enumeration if only one event is possibleThomas White
The enumeration works in this case, of course, but is a waste of a not insignificant amount of time.
2020-07-29Factorise num_path_placeholdersThomas White
2020-07-29Improve error message when peak list is not given in DataTemplateThomas White
2020-07-29Make sure all HDF5 resources are freedThomas White
2020-07-29Improve error messageThomas White
2020-07-29Handle event expansion even for single-event filesThomas White
2020-07-29Implement dimension part of event expansion, and clean up testsThomas White
2020-07-29Path part of event expansionThomas White
2020-07-29Fix image_hdf5_read_peaks_cxiThomas White
2020-07-29image_hdf5_get_value without 'struct event'Thomas White
2020-07-29substitute_path: Special case for no placeholdersThomas White
2020-07-29Remove events.c, part 2Thomas White
New event parsing, done at the last minute in image-hdf5.c
2020-07-29Remove events.c, part 1Thomas White
2020-07-29Tidy upThomas White
Regarding check_path_existence: This was a very complicated procedure, for not very much gain. The attempt to open a dataset for real, which invariably follows, can still fail after this check.