Skip to content

"Linear calibration" missing from Signal panel's "Axis transformation" menu #312

Description

@PierreRaybaut

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 polar2cartesianto_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")

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions