aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-28align_detector: Friendlier user outputThomas White
2023-07-28Tweak sigmasThomas White
2023-07-28Add (undocumented) Millepede option 'skipemptycons'Thomas White
2023-07-28Add hierarchy constraintsThomas White
2023-07-28align_detector: Decode labels and apply geometry correctionsThomas White
2023-07-28Don't attempt to write Mille data without geometry groupsThomas White
2023-07-28align_detector: Begin parsing Pede outputThomas White
2023-07-28Unconditionally compile crystfel-mille.cThomas 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-28Initialise det->top_groupThomas White
2023-07-28data_template_free: Free the groups as wellThomas White
2023-07-28detgeom_free: Free the groups as wellThomas White
2023-07-28Fix some memory leaksThomas White
2023-07-28Adjust refinement weights and restraintsThomas White
2023-07-28Add tests/geom_roundtripThomas White
2023-07-28No overall camera length shiftThomas White
2023-07-28Fix sigmasThomas White
2023-07-28Fix parameter refinement unitsThomas 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-28Fix top-level group name in examplesThomas White
"all" is better than "top", because the latter suggests some kind of geometrical position
2023-07-28Remove tests/plot_gradientsThomas White
2023-07-28align_detector: No overall detector rotationThomas White
2023-07-28Avoid repetitive codeThomas White
2023-07-28Fix incorrectly-sized arrayThomas White
2023-07-28align_detector: Set up Millepede steering file for specified refinement levelThomas White
2023-07-28Implement data_template_group_info()Thomas White
2023-07-28Re-define geometry group labelling schemeThomas White
The old version was totally broken. The serial numbers have to contain the complete hierarchy information, otherwise they aren't unique.
2023-07-28Rotation centre coordinates need to be in metres (not pixels)Thomas White
2023-07-28Add rotation gradients for MilleThomas White
2023-07-28Add detgeom_group_centerThomas White
2023-07-28Fix iterate() for prediction refinementThomas 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-28Redefine ray vector without trigonometryThomas White
This makes the gradients very simple!
2023-07-28Implement rotation gradients (with test)Thomas White
2023-07-28Move rotate2d to utilsThomas White
2023-07-28Rename tests/gradient_panel_move.c -> tests/gradient_check.cThomas White
Because it does all types of gradient.
2023-07-28Add tests for unit cell parametersThomas White
2023-07-28Separate gradients into "panel" and "physics" partsThomas White
2023-07-28Factorise matrix operationsThomas White
This makes the code much clearer. Note that two opposing sign errors have been fixed in the gradient calculation.
2023-07-28Unify panel position gradient tests into one fileThomas White
2023-07-28Add show_vector()Thomas White
2023-07-28Implement panel x gradientsThomas White
2023-07-28Calculate panel MinvsThomas White
2023-07-28Calculate fs and ss gradients together, SPOT panel number, add matrix hooksThomas White
2023-07-28Add tests/gradient_cell_asxThomas White
2023-07-28Simplified gradient testThomas White
prediction_gradient_check was out of control - it had option processing, as well as bugs of its own! This replaces it with something much simpler.
2023-07-28r_gradient: Re-order parameters to match {fs,ss}_gradientThomas White
2023-07-28Trim the list of geometric parametersThomas White
2023-07-28Don't refine detector at all, in prediction refinementThomas White
Following the advice in https://doi.org/10.1107/S2059798318009191
2023-07-28Remove a #defineThomas White
2023-07-28Reduce scope of rv[]Thomas White
2023-07-28Move gradients to predict-refineThomas White
Makes sense for the _dev and _gradient functions to be in the same place.,
2023-07-28Initial conversion of Millepede code to fs/ss gradientsThomas White