Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-30 | Add excitation error to Millepede data (local-only measurement) | Thomas White | |
2023-08-30 | Fussiness | Thomas White | |
2023-08-29 | Meson: Simplify Millepede build system | Thomas White | |
There are no dependencies, only a subproject via wrap. | |||
2023-08-29 | Automatically add top-level group for single-panel detectors | Thomas White | |
2023-08-24 | Use built-in Mille writer instead of wrapping C++ version | Thomas White | |
2023-07-28 | Tweak sigmas | Thomas White | |
2023-07-28 | align_detector: Decode labels and apply geometry corrections | Thomas White | |
2023-07-28 | Don't attempt to write Mille data without geometry groups | Thomas White | |
2023-07-28 | Unconditionally compile crystfel-mille.c | Thomas White | |
We need mille_label() for align_detector, even if we don't have Millepede. Some of this complexity can be removed later by re-implementing "mille()". The build system and wrapper code is already longer than a pure C implementation would be. | |||
2023-07-28 | Initialise det->top_group | Thomas White | |
2023-07-28 | data_template_free: Free the groups as well | Thomas White | |
2023-07-28 | detgeom_free: Free the groups as well | Thomas White | |
2023-07-28 | Fix some memory leaks | Thomas White | |
2023-07-28 | Adjust refinement weights and restraints | Thomas White | |
2023-07-28 | Fix sigmas | 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 | Avoid repetitive code | Thomas White | |
2023-07-28 | Fix incorrectly-sized array | Thomas White | |
2023-07-28 | Implement data_template_group_info() | Thomas White | |
2023-07-28 | Re-define geometry group labelling scheme | Thomas White | |
The old version was totally broken. The serial numbers have to contain the complete hierarchy information, otherwise they aren't unique. | |||
2023-07-28 | Rotation centre coordinates need to be in metres (not pixels) | Thomas White | |
2023-07-28 | Add rotation gradients for Mille | Thomas White | |
2023-07-28 | Add detgeom_group_center | 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 | Move rotate2d to utils | 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 | Add show_vector() | Thomas White | |
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 | Initial conversion of Millepede code to fs/ss gradients | Thomas White | |
2023-07-28 | Put residual into metres | Thomas White | |
2023-07-28 | Remove z-component and x/y tracking | Thomas White | |
2023-07-28 | Add detgeom_translate_detector_m | 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 | detgeom: Add panel group center coordinates | Thomas White | |
2023-07-28 | Avoid segfault if geometry file doesn't have groups | Thomas White | |
2023-07-28 | Fix horribly confusing rotation labels | Thomas White | |
2023-07-28 | z-rotation gradients | Thomas White | |
2023-07-28 | indexamajig: Set all group translation gradients | Thomas White | |
2023-07-28 | detgeom: Add references from children to parents | Thomas White | |
This allows us to start from the panel and work upwards to the top-level group, which makes hierarchical gradient calculation much easier. |