Summary
The Linear calibration entry (x' = a·x + b) is missing from the Processing → Axis transformation submenu of the Signal panel. The feature itself still works (it remains registered in the signal processor and is accessible via the API / context menu), but users have no way to invoke it from the main menu bar.
The Image panel is not affected — its "Axis transformation" submenu still exposes the calibration entry correctly.
Root cause
Regression introduced in commit 9661b0d2 — "Computing registry mechanism: a step further, still a lot to do" (2025-05-11), when the menu was migrated from explicit new_action(...) calls to the new action_for(...) registry mechanism.
During that migration:
- The Image panel's
"Axis transformation" block correctly received self.action_for("calibration").
- The Signal panel's equivalent block was rebuilt with only
reverse_x, polar2cartesian and cartesian2polar — the calibration entry was inadvertently dropped.
Subsequent commits touching this block did not restore it:
b8a392b9 — renamed polar2cartesian → to_cartesian
c0e37919 — "Reorganize DataLab menus", added transpose
49d03bc6 — added replace_x_by_other_y and xy_mode
The regression has therefore been present for ~11 months.
Fix
Add the missing entry in SignalActionHandler (Signal panel), datalab/gui/actionhandler.py, in the "Axis transformation" submenu:
with self.new_menu(_("Axis transformation")):
self.action_for("transpose")
self.action_for("reverse_x")
self.action_for("replace_x_by_other_y")
self.action_for("xy_mode")
self.action_for("calibration", separator=True) # <-- restored
self.action_for("to_cartesian", separator=True)
self.action_for("to_polar")
Summary
The Linear calibration entry (
x' = a·x + b) is missing from the Processing → Axis transformation submenu of the Signal panel. The feature itself still works (it remains registered in the signal processor and is accessible via the API / context menu), but users have no way to invoke it from the main menu bar.The Image panel is not affected — its "Axis transformation" submenu still exposes the calibration entry correctly.
Root cause
Regression introduced in commit
9661b0d2— "Computing registry mechanism: a step further, still a lot to do" (2025-05-11), when the menu was migrated from explicitnew_action(...)calls to the newaction_for(...)registry mechanism.During that migration:
"Axis transformation"block correctly receivedself.action_for("calibration").reverse_x,polar2cartesianandcartesian2polar— the calibration entry was inadvertently dropped.Subsequent commits touching this block did not restore it:
b8a392b9— renamedpolar2cartesian→to_cartesianc0e37919— "Reorganize DataLab menus", addedtranspose49d03bc6— addedreplace_x_by_other_yandxy_modeThe regression has therefore been present for ~11 months.
Fix
Add the missing entry in
SignalActionHandler(Signal panel),datalab/gui/actionhandler.py, in the"Axis transformation"submenu: