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.
|
|
Strongly negative peaks can occur if there are unmasked bad pixels.
These cause the refinement to diverge badly. This change stabilises the
refinement such that it works even in these cases. But of course, the
real solution is to mask out those pixels.
Negative intensity peaks are unlikely to show up "for real" in the peak
search results (because we look for strong peaks!). However, if the
intensity is negative, we aren't even sure that the peak exists at all
and have no reason to assume it should be close to the Bragg condition.
|
|
|
|
|
|
|
|
|
|
|
|
These FP calls seem to be slower than expected. Using only one doubles
the speed.
|
|
|
|
|
|
|
|
Previously, a placeholder was put in the queue ("ZMQdata //" or
"ASAPOdata //"), and replaced by image_read_data_block. Instead, the
"final" placeholder can be put in the queue already.
Note that ASAP::O, at least, will replace this placeholder with a
filename delivered by the data transport.
|
|
With online processing, we might end up with a very long stream. It
should not be so easily deleted if indexamajig is restarted!
|
|
|
|
This number has to be at least 2x as high as the number of detector
panels because, when using HDF5 and a bad pixel map, each panel will
have an H5Dopen2 and H5Dread block inside create-badmap.
|
|
|
|
Use of numbers (rather than booleans) in this routine is deprecated in
recent meson versions.
|
|
Unfortunately, the complicated series of nested printf()s doesn't work
well from multiple processes.
|
|
Improvements:
- Recursive, so we can see how things are working at different levels
- Everything is profiled, even if not explicitly labelled
- No possibility of losing time
- Detects mistakes if routines aren't wrapped correctly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
CrystFEL hasn't written any version other than 2.3 since before 2015.
Supporting the old versions is getting difficult because of slabbiness
assumptions, so it's time to get rid of it.
|
|
|
|
|
|
|
|
No other code path under image_expand_frames() actually opens the file,
because HDF5s are currently the only format supporting multiple frames.
The aim of the existence check is to give a better error message
(compared to the HDF5 backtrace splurge), but it doesn't need to be done
so early. In fact, checking so early had the side-effect of breaking
indexamajig --wait-for-file.
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/65
|
|
|
|
|
|
The reciprocal space distance limit has been set as one third of the
smallest inter-Bragg spacing.
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/38
|
|
refinement
|
|
Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/1
|
|
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/27
|
|
|
|
This got missed out by accident in the conversion to DataTemplate, but
absolutely no-one noticed. In the meantime, my views on how the
geometry files should work have changed somewhat. I don't want to
maintain the extra complexity here when it isn't even clear that it will
eliminate the need to re-refine geometry for each camera length.
This commit just takes the rail direction stuff out of the documentation
and the geometry file parser.
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/50
|
|
|
|
|
|
Previously, the combination of reflection_new and add_refl_to_list gave
a way to side-step the usual check that the indices were not larger
than 512. This causes corruption of the RefList, so much be avoided.
|
|
|
|
|
|
Closes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/52
|