Repository navigation
Keyboard Shortcuts and Navigation
github-actions[bot] edited this page Oct 9, 2026
·
7 revisions
The cmat_webviewer GUI is designed for high-efficiency nuclear spectroscopy with comprehensive keyboard shortcuts and intuitive mouse interactions inspired by the classic GASPware cmat and xtrackn workflows.
| Action | Shortcut / Gesture | Target Panel | Description |
|---|---|---|---|
| Box Zoom | Click & Drag |
2D Matrix | Zoom into selected rectangular region of the 2D coincidence matrix |
| 1D Energy Zoom | Click & Drag |
1D Spectrum | Zoom into selected energy/channel range on the X axis (synchronizes 2D viewport & orthogonal 1D projection) |
| 2D Wheel Zoom | Mouse Wheel |
2D Matrix | Zoom In / Out centered on the current crosshair position in discrete increments |
| 1D Y-Axis Zoom | Mouse Wheel |
1D Spectrum | Dynamic vertical zoom In / Out on counts scale (preserves zero baseline while adjusting maximum) |
| 1D X-Axis Zoom | Shift + Mouse Wheel |
1D Spectrum | Zoom In / Out horizontally centered at the cursor position |
| Full Zoom Out (2D) | Double Click |
2D Matrix | Fully zoom out both the 2D matrix and both 1D spectra to the full 4096×4096 matrix view |
| Full Zoom Out (1D) | Double Click |
1D Spectrum | Reset horizontal and vertical zoom for the clicked 1D projection only (preserves coincidence gates) |
| Adjust Panel Width | Click & Drag Divider |
Split Bar | Adjust relative width ratio between 2D matrix and 1D projections (double-click divider to reset) |
| Action | Shortcut | Target Panel | Description |
|---|---|---|---|
| 2D Coincidence Peak Fit |
Ctrl / Cmd + Click or V
|
2D Matrix | True 2D coincidence peak fit (Gaussian, RadWare, or Hypermet) with Gamba & Morhác 4-component background decomposition (=. |
| 1D Peak / Multiplet Fit |
Ctrl / Cmd + Click or V
|
1D Spectrum | Fit single 1D peak or coupled multiplet cluster with full parameter covariance error propagation. Uses background regions B if set. Fits remain persistently on display. |
| Automatic 2D Coincidence Peak Search |
P or p
|
2D Matrix | 4-stage hybrid coincidence peak search with Compton scattering ridge and diagonal cross-talk rejection. Refines 2D centroids, widths, and net volumes with Gamba decomposition and logs results to file if logging is active. |
| Automatic 1D Peak Search |
P or p
|
1D Spectrum | Automatically detect candidate photopeaks in the focused 1D projection (Continuous Wavelet Transform CWT, Prominence, or Mariscotti methods). |
| Add / Remove Manual Peak Marker |
G or g
|
1D Spectrum | Add a manual peak marker at the cursor with parabolic sub-channel centroid refinement (or delete existing marker if hovering within 1.2 channels). |
| Set Fit / Integration Region |
R or r
|
1D Spectrum | Press once to set left limit ( |
| Set 1D Background Windows |
B or b
|
1D Spectrum | Define discrete left and right baseline sample intervals for 1D peak fitting (V) and integration (I). |
| Integrate Peak Area |
I or i
|
1D Spectrum | Numerically integrate peak area over Region R, subtracting linear or polynomial background (B or boundary wings). |
| Fit All Visible Peaks |
H or h
|
1D Spectrum | Automatically fit all visible candidate photopeaks on display using the Peak-Aware Continuum baseline engine (averages noise grass without clipping bias). |
| Clear Peak Fits & Markers |
= or +
|
Global | Clear all active persistent 1D and 2D fits, fit curves, centroid labels, integration results, and peak search markers. |
| Action | Shortcut | Target Panel | Description |
|---|---|---|---|
| Set Coincidence Peak Gate |
W or w
|
1D Spectrum | Press once to set left limit (w instead saves the banana polygons to the server working directory. |
| Set Coincidence Background Gate |
X or x
|
1D Spectrum | Set left and right limits for background slices ( |
| Draw Peak Banana ROI (2D / 3D) | a |
2D Matrix | Add 2D peak polygon ROI (W, gold) vertex at the cursor: in 2D computes area & net counts; in 3D projects counts onto 3rd axis. First a starts drawing; the polygon auto-closes (last vertex connects to the first); Enter applies. |
| Draw Bg Banana ROI (2D / 3D) | b |
2D Matrix | Add 2D background polygon ROI (B, magenta) vertex at the cursor: area-normalized subtraction from peak banana in 2D and 3D. First b starts drawing; the polygon auto-closes; Enter applies; b in 1D sets the background region. |
| Clear Active Gates & Bananas |
Z or z
|
Global | Clear all active 1D coincidence gates and 2D Banana gates/ROIs, restoring full projections. |
| Cycle Matrix (Bananas follow) |
[ / ]
|
Global | Switch active matrix; active Banana ROIs are re-applied and re-reported on the new matrix. |
| Action | Shortcut | Target Panel | Description |
|---|---|---|---|
| Pan 1D Channels (Horizontal) |
← / →
|
1D Focus | Pan 1D spectrum left / right (Shift for 2× speed). |
| Pan 1D Counts (Vertical) |
↑ / ↓
|
1D Focus | Adjust vertical counts scale (↑ magnify, ↓ compress). |
| Set Left Limit ( |
Left Arrow (←) |
2D Focus | Place Left limit marker at cursor X coordinate. |
| Set Right Limit ( |
Right Arrow (→) |
2D Focus | Place Right limit marker at cursor X coordinate. |
| Set Down Limit ( |
Down Arrow (↓) |
2D Focus | Place Lower limit marker at cursor Y coordinate. |
| Set Up Limit ( |
Up Arrow (↑) |
2D Focus | Place Upper limit marker at cursor Y coordinate. |
| Pan 2D View | Shift + Arrows |
2D Focus | Pan visible 2D matrix view in steps determined by Scroll Sensitivity setting. |
| Expand to Limits |
E or e
|
2D Matrix | Zoom into the rectangular region bounded by active limit markers. |
| Full Matrix View |
F or f
|
Global | Reset zoom to the full |
| Action | Shortcut | Target Panel | Description |
|---|---|---|---|
| Contextual Scale Cycle |
L or l
|
Focused Panel | Cycle intensity/counts scale of panel currently under cursor: • 2D: Log • 1D: Linear |
| 2D Linear Scale | 1 |
2D Matrix | Switch 2D matrix colormap scaling directly to Linear. |
| 2D Power ( |
2 |
2D Matrix | Switch 2D matrix colormap scaling directly to Power (Square Root). |
| 2D Logarithmic Scale | 4 |
2D Matrix | Switch 2D matrix colormap scaling directly to Logarithmic. |
| Cycle Colormap |
C or c
|
2D Matrix | Cycle forward through colormaps: Turbo |
| Toggle Sidebar Menu |
M or m
|
Global | Expand or collapse the left control sidebar to maximize canvas space. |
| Action | Shortcut / Button | Description |
|---|---|---|
| Previous / Next Matrix |
[ / ]
|
Switch active matrix to previous/next loaded file while locking viewport coordinates, coincidence gates, and auto-refitted peak fits. |
| Browse Server Files |
Ctrl + O or 📂
|
Open interactive server filesystem browser modal to navigate folders and load .cmat files. |
| Export 2D Vector PDF |
Print PDF (2D footer) |
Export publication-grade vector PDF of visible 2D matrix with Times New Roman typography, calibrated keV axes, colorbar, 2D fit ellipses, and fit labels. |
| Export 1D Vector PDF |
Print PDF (1D header) |
Export publication-grade vector PDF of active 1D spectrum with stepped histogram, calibrated keV axis, continuous fit curves, baselines, and labeled centroids. |
| Save Configuration |
Save Config (Sidebar) |
Save active UI parameters, calibrations, and colormaps to python-cmat-config.txt in working directory. |
| Keyboard Shortcuts Help | ? |
Display interactive keyboard shortcut and help reference overlay. |
| Quit Viewer |
Q or q
|
Close browser window and terminate the terminal server process. |
| Action | Shortcut / Button | Description |
|---|---|---|
| Open lifetime fit for Det 1/X |
⏱️ Half-Life Fit in the Det 1 header |
Open the popup for the currently visible X histogram. |
| Open lifetime fit for Det 2/Y |
⏱️ Half-Life Fit in the Det 2 header |
Open the popup for the currently visible Y histogram. |
| Refresh web spectrum | 📥 Pull from WebViewer |
Re-fetch the current histogram bins, gates, calibration, and visible X range. |
| Zoom fit spectrum X |
Shift + Mouse Wheel or Click & Drag
|
Change the visible X range; fit bounds follow automatically. |
| Zoom fit spectrum Y | Mouse Wheel |
Change the displayed counts scale. |
| Pan fit spectrum | Middle-button drag | Pan the visible X range without changing the zoom level. |
| Reset fit spectrum view | Double Click |
Restore the full spectrum view. |
| Toggle linear/log display |
L or l
|
Toggle the Half-Life popup plot between linear and logarithmic Y scales. |
| Mirror reversed spectrum | ⇄ Mirror Spectrum |
Convert a left-decay spectrum to a positive/right-decay working orientation. |
| Step parameter value |
▲ / ▼ or focused ArrowUp / ArrowDown
|
Change the selected parameter; centroid steps by 0.1%, other parameters by 5%. |
| Center/fix parameter | Fix checkbox | Fix the parameter and make its current value the new slider center; unfixing restores adjustment around that center. |
python-cmat © 2026. Released under the MIT License. Return to GitHub Repository
Interactive 2D & 3D Matrix Analysis & Spectroscopy
- Home
- Interactive Web Viewer
- 3D Matrix Analysis & Web Viewer
- Keyboard Shortcuts & Controls
- ROOT Files & Live Histograms
- ENSDF Isotope Identification
- Spectroscopy Commands & Macros
- Configuration Guide
- Python API & CLI Tools