Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-07-28 | Fix some memory leaks | Thomas White | |
2023-07-28 | Adjust refinement weights and restraints | Thomas White | |
2023-07-28 | Fix parameter refinement units | Thomas White | |
The *parameters* will be in metres, radians, m^-1 for translation, rotation and cell parameters respectively. The *residuals*, however, are in pixels. | |||
2023-07-28 | Rotation centre coordinates need to be in metres (not pixels) | Thomas White | |
2023-07-28 | Fix iterate() for prediction refinement | Thomas White | |
I was confused when I wrote acd0de4e4a21, and completely broke the maths. To fix it, I copied the guts of iterate() back from the old version and re-created the intermediate steps - switching x/y to fs/ss, calculating fs/ss gradients together and the hooks for Minv. | |||
2023-07-28 | Redefine ray vector without trigonometry | Thomas White | |
This makes the gradients very simple! | |||
2023-07-28 | Implement rotation gradients (with test) | Thomas White | |
2023-07-28 | Separate gradients into "panel" and "physics" parts | Thomas White | |
2023-07-28 | Factorise matrix operations | Thomas White | |
This makes the code much clearer. Note that two opposing sign errors have been fixed in the gradient calculation. | |||
2023-07-28 | Implement panel x gradients | Thomas White | |
2023-07-28 | Calculate panel Minvs | Thomas White | |
2023-07-28 | Calculate fs and ss gradients together, SPOT panel number, add matrix hooks | Thomas White | |
2023-07-28 | r_gradient: Re-order parameters to match {fs,ss}_gradient | Thomas White | |
2023-07-28 | Trim the list of geometric parameters | Thomas White | |
2023-07-28 | Don't refine detector at all, in prediction refinement | Thomas White | |
Following the advice in https://doi.org/10.1107/S2059798318009191 | |||
2023-07-28 | Remove a #define | Thomas White | |
2023-07-28 | Reduce scope of rv[] | Thomas White | |
2023-07-28 | Move gradients to predict-refine | Thomas White | |
Makes sense for the _dev and _gradient functions to be in the same place., | |||
2023-07-28 | Put residual into metres | Thomas White | |
2023-07-28 | Remove z-component and x/y tracking | Thomas White | |
2023-07-28 | Initial re-parameterisation of prediction refinement with fs/ss coordinates | Thomas White | |
The gradients need to be updated. | |||
2023-07-28 | z-rotation gradients | Thomas White | |
2023-07-28 | indexamajig: Set all group translation gradients | Thomas White | |
2023-07-28 | Move Mille stuff to separate file | Thomas White | |
2023-07-28 | Remove excitation error terms | Thomas White | |
2023-07-28 | Add clen refinement | Thomas White | |
2023-07-28 | Add profiling for Mille | Thomas White | |
2023-07-28 | Set sensible sigma values for Mille | Thomas White | |
2023-07-28 | Add Millepede measurements | Thomas White | |
2023-07-28 | indexamajig: Hooks for Mille | Thomas White | |
2022-07-12 | Zero-weight negative intensity peaks in prediction refinement | Thomas White | |
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. | |||
2022-06-09 | pair_peaks: Use fabs instead of abs for floating point values | Thomas White | |
2021-11-15 | pair_peaks: Use reciprocal space distance instead of pixel distance | Thomas White | |
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 | |||
2021-11-15 | Ensure that crystal doesn't end up with invalid reflist after prediction ↵ | Thomas White | |
refinement | |||
2021-10-22 | pair_peaks: Skip reflections if the indices are too large | Thomas White | |
2021-05-17 | Resolve FIXMEs and TODOs | Thomas 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-04-27 | Rename libcrystfel's config.h to libcrystfel-config.h | Thomas 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-03-25 | Avoid updating detector geometry structure during prediction refinement | Thomas White | |
This makes the behaviour consistent with the prediction itself, and removes another bit of mutable state. | |||
2021-03-23 | Use crystal's detector shift during prediction | Thomas White | |
Previously, this was handled by updating the detector, but this could easily lead to strange double accounting. | |||
2021-03-11 | detgeom_transform_coords: Take an additional detector shift | Thomas White | |
This allows the refined detector position to be used in a lot of places. | |||
2021-03-05 | Mass update of copyright dates in source code comments | Thomas White | |
2020-12-07 | Get rid of ImageFeature->rx,ry,rz | Thomas White | |
These needed to be kept up to date with a call to map_all_peaks every time anything changed - wavelength, detector position etc. Not doing so has already led to bugs in another branch, and probably already causes problems on this branch. This patch eliminates the rx,ry,rz completely. Anyone who needs reciprocal space coordinates for a peak is now responsible for calling detgeom_transform_coords themselves. | |||
2020-08-18 | Formatting/comments | Thomas White | |
2020-08-18 | predict-refine: Remove out-of-bounds GSL vector access | Thomas White | |
We got away with this because the GSL error handler is turned off in indexamjig.c, and invalid accesses are defined to return 0. However, these accesses should have been removed when the clen refinement was disabled in predict-refine | |||
2020-07-29 | Convert predict-refine to detgeom | Thomas White | |
2020-07-29 | Convert stream to DataTemplate | Thomas White | |
2020-07-29 | Convert prediction gradients to detgeom | Thomas White | |
2020-07-29 | ImageFeatureList: Store panel number, not pointer | Thomas White | |
This makes the conversion to DataTemplate/detgeom MUCH easier. | |||
2020-01-10 | Mass update of copyright dates | Thomas White | |
2019-12-13 | pair_peaks: Don't attempt to pair 000 | Thomas White | |
Normally the beam centre is masked out or not on the detector. However, when it is, pairing with 000 causes gradients to come out as NaN and the prediction refinement to fail. |