Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
'buf' has to be char *, otherwise "buf+len" isn't portable.
'len_read' has to be int, because that's the return type of gzread. If
the value is immediately put into a size_t, the sign information is lost
and we can no longer tell if gzread() failed.
|
|
|
|
|
|
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
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
New event parsing, done at the last minute in image-hdf5.c
|
|
|
|
|
|
|