Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-30 | Fussiness | Thomas White | |
2023-08-30 | align_detector: Don't write constraints for fixed parameters | Thomas White | |
This avoids a warning from Millepede, and means we no longer need "skipemptycons" - which will make it easier to spot future problems. | |||
2023-08-30 | align_detector: Add --out-of-plane | Thomas White | |
2023-08-30 | Meson: Update wrap for cJSON | Thomas White | |
2023-08-29 | CI: Fix 'meson' command, add gcc-gfortran | Thomas White | |
Fortran compiler is needed for Millepede. | |||
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-28 | align_detector: stat() portability | Thomas White | |
2023-08-25 | align_detector: Output formatting | Thomas White | |
2023-08-25 | align_detector: Check for mixed-up Mille files | Thomas White | |
2023-08-24 | align_detector: Refine x,y position and z-rotation only | Thomas White | |
2023-08-24 | align_detector: Delete old results file before running pede | Thomas White | |
It doesn't always return an error code. | |||
2023-08-24 | Use built-in Mille writer instead of wrapping C++ version | Thomas White | |
2023-07-28 | align_detector: Friendlier user output | Thomas White | |
2023-07-28 | Tweak sigmas | Thomas White | |
2023-07-28 | Add (undocumented) Millepede option 'skipemptycons' | Thomas White | |
2023-07-28 | Add hierarchy constraints | 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 | align_detector: Begin parsing Pede output | 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 | Add tests/geom_roundtrip | Thomas White | |
2023-07-28 | No overall camera length shift | 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 | Fix top-level group name in examples | Thomas White | |
"all" is better than "top", because the latter suggests some kind of geometrical position | |||
2023-07-28 | Remove tests/plot_gradients | Thomas White | |
2023-07-28 | align_detector: No overall detector rotation | Thomas White | |
2023-07-28 | Avoid repetitive code | Thomas White | |
2023-07-28 | Fix incorrectly-sized array | Thomas White | |
2023-07-28 | align_detector: Set up Millepede steering file for specified refinement level | 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 | Rename tests/gradient_panel_move.c -> tests/gradient_check.c | Thomas White | |
Because it does all types of gradient. | |||
2023-07-28 | Add tests for unit cell parameters | 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 | Unify panel position gradient tests into one file | Thomas White | |