Skip to content

Commit d9481c8

Browse files
committed
Merge branch 'release'
2 parents de910e7 + 284b097 commit d9481c8

File tree

124 files changed

+2250
-2160
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+2250
-2160
lines changed

.github/copilot-instructions.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,6 @@ proxy.calc("moving_average", sigima.params.MovingAverageParam.create(n=5))
337337
- `proxy.add_signal()`, `proxy.add_image()`: Create objects
338338
- `proxy.calc()`: Run processor methods
339339
- `proxy.get_object()`: Retrieve data
340-
- `proxy.delete_object()`: Remove objects
341340

342341
### 6. Remote Control API
343342

@@ -583,6 +582,35 @@ DataLab development uses a **multi-root workspace** (`.code-workspace` file) wit
583582
2. Use `.env` file to point to local development versions
584583
3. Test changes in both Sigima unit tests AND DataLab integration tests
585584

585+
## Release Notes Guidelines
586+
587+
**Location**: `doc/release_notes/release_1.00.md`
588+
589+
**Writing Style**: Focus on **user impact**, not implementation details.
590+
591+
**Good release note** (user-focused):
592+
- ✅ "Fixed syntax errors when using f-strings with nested quotes in macros"
593+
- ✅ "Fixed corrupted Unicode characters in macro console output on Windows"
594+
- ✅ "Fixed 'Lock LUT range' setting not persisting after closing Settings dialog"
595+
596+
**Bad release note** (implementation-focused):
597+
- ❌ "Removed `code.replace('"', "'")` that broke f-strings"
598+
- ❌ "Changed QTextCodec.codecForLocale() to codecForName(b'UTF-8')"
599+
- ❌ "Added missing `ima_def_keep_lut_range` option in configuration"
600+
601+
**Structure**:
602+
- **What went wrong**: Describe the symptom users experienced
603+
- **When it occurred**: Specify the context/scenario
604+
- **What's fixed**: Explain the benefit, not the implementation
605+
606+
**Example**:
607+
```markdown
608+
**Macro execution:**
609+
610+
* Fixed syntax errors when using f-strings with nested quotes in macros (e.g., `f'text {func("arg")}'` now works correctly)
611+
* Fixed corrupted Unicode characters in macro console output on Windows - special characters like ✅, 💡, and → now display correctly instead of showing garbled text
612+
```
613+
586614
## Key Files Reference
587615

588616
| File | Purpose |
@@ -598,6 +626,7 @@ DataLab development uses a **multi-root workspace** (`.code-workspace` file) wit
598626
| `sigima/proc/image/processing.py` | Image computation functions |
599627
| `scripts/run_with_env.py` | Environment loader (loads `.env`) |
600628
| `.env` | Local PYTHONPATH for development |
629+
| `doc/release_notes/release_1.00.md` | Release notes for version 1.0.x |
601630

602631
## Getting Help
603632

.vscode/tasks.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,42 @@
230230
"sphinx-build",
231231
],
232232
},
233+
{
234+
"label": "cleanup-doc-translations",
235+
"command": "${command:python.interpreterPath}",
236+
"args": [
237+
"scripts/run_with_env.py",
238+
"${command:python.interpreterPath}",
239+
"-m",
240+
"guidata.utils.translations",
241+
"cleanup-doc",
242+
"--directory",
243+
".",
244+
],
245+
"options": {
246+
"cwd": "${workspaceFolder}",
247+
"statusbar": {
248+
"hide": true,
249+
},
250+
},
251+
"group": {
252+
"kind": "build",
253+
"isDefault": false,
254+
},
255+
"presentation": {
256+
"clear": true,
257+
"echo": true,
258+
"focus": false,
259+
"panel": "dedicated",
260+
"reveal": "always",
261+
"showReuseMessage": true,
262+
},
263+
"type": "shell",
264+
"dependsOrder": "sequence",
265+
"dependsOn": [
266+
"sphinx-intl update",
267+
],
268+
},
233269
{
234270
"label": "sphinx-intl build",
235271
"command": "${command:python.interpreterPath}",
@@ -296,7 +332,7 @@
296332
"type": "shell",
297333
"dependsOrder": "sequence",
298334
"dependsOn": [
299-
"sphinx-intl update",
335+
"cleanup-doc-translations",
300336
],
301337
},
302338
{

CHANGELOG.md

Lines changed: 0 additions & 1441 deletions
This file was deleted.

datalab/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# this module is imported more than once, e.g. when running tests)
2525
pass
2626

27-
__version__ = "1.0.2"
27+
__version__ = "1.0.3"
2828
__docurl__ = __homeurl__ = "https://datalab-platform.com/"
2929
__supporturl__ = "https://github.com/DataLab-Platform/DataLab/issues/new/choose"
3030

datalab/adapters_metadata/common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def append(self, adapter: BaseResultAdapter, obj: SignalObj | ImageObj) -> None:
8888
if "roi_index" in df.columns:
8989
i_roi = int(df.iloc[i_row_res]["roi_index"])
9090
roititle = ""
91-
if i_roi >= 0:
91+
if i_roi >= 0 and obj.roi is not None:
9292
roititle = obj.roi.get_single_roi_title(i_roi)
9393
ylabel += f"|{roititle}"
9494
self.ylabels.append(ylabel)
@@ -365,7 +365,7 @@ def resultadapter_to_html(
365365
num_cols = max_display_cols
366366

367367
# Calculate number of cells (rows × columns)
368-
num_rows = len(adapter.result)
368+
num_rows = len(df)
369369
num_cells = num_rows * num_cols
370370

371371
# Check if truncation is needed BEFORE calling to_html()

datalab/config.py

Lines changed: 86 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,8 @@ def reset():
487487

488488
ROI_LINE_COLOR = "#5555ff"
489489
ROI_SEL_LINE_COLOR = "#9393ff"
490+
MARKER_LINE_COLOR = "#A11818"
491+
MARKER_TEXT_COLOR = "#440909"
490492

491493
PLOTPY_DEFAULTS = {
492494
"plot": {
@@ -508,53 +510,111 @@ def reset():
508510
"selected_curve_symbol/alpha": 0.3,
509511
"selected_curve_symbol/size": 5,
510512
"marker/curve/text/textcolor": "black",
511-
"marker/cross/text/textcolor": "black",
513+
# Cross marker style (shown when pressing Alt key on plot)
514+
"marker/cross/symbol/marker": "Cross",
515+
"marker/cross/symbol/edgecolor": MAIN_FG_COLOR,
516+
"marker/cross/symbol/facecolor": "#ff0000",
517+
"marker/cross/symbol/alpha": 1.0,
518+
"marker/cross/symbol/size": 8,
519+
"marker/cross/text/font/family": "default",
520+
"marker/cross/text/font/size": 8,
521+
"marker/cross/text/font/bold": False,
522+
"marker/cross/text/font/italic": False,
523+
"marker/cross/text/textcolor": "#000000",
524+
"marker/cross/text/background_color": "#ffffff",
512525
"marker/cross/text/background_alpha": 0.7,
526+
"marker/cross/line/style": "DashLine",
527+
"marker/cross/line/color": MARKER_LINE_COLOR,
528+
"marker/cross/line/width": 1.0,
529+
"marker/cross/markerstyle": "Cross",
530+
"marker/cross/spacing": 7,
513531
# Cursor line and symbol style
514532
"marker/cursor/line/style": "SolidLine",
515-
"marker/cursor/line/color": "#A11818",
533+
"marker/cursor/line/color": MARKER_LINE_COLOR,
516534
"marker/cursor/line/width": 1.0,
517535
"marker/cursor/symbol/marker": "NoSymbol",
518536
"marker/cursor/symbol/size": 11,
519537
"marker/cursor/symbol/edgecolor": MAIN_BG_COLOR,
520538
"marker/cursor/symbol/facecolor": "#ff9393",
521539
"marker/cursor/symbol/alpha": 1.0,
522540
"marker/cursor/sel_line/style": "SolidLine",
523-
"marker/cursor/sel_line/color": "#A11818",
541+
"marker/cursor/sel_line/color": MARKER_LINE_COLOR,
524542
"marker/cursor/sel_line/width": 2.0,
525543
"marker/cursor/sel_symbol/marker": "NoSymbol",
526544
"marker/cursor/sel_symbol/size": 11,
527545
"marker/cursor/sel_symbol/edgecolor": MAIN_BG_COLOR,
528-
"marker/cursor/sel_symbol/facecolor": "#A11818",
546+
"marker/cursor/sel_symbol/facecolor": MARKER_LINE_COLOR,
529547
"marker/cursor/sel_symbol/alpha": 0.8,
530548
"marker/cursor/text/font/size": 9,
531549
"marker/cursor/text/font/family": "default",
532550
"marker/cursor/text/font/bold": False,
533551
"marker/cursor/text/font/italic": False,
534-
"marker/cursor/text/textcolor": "#440909",
552+
"marker/cursor/text/textcolor": MARKER_TEXT_COLOR,
535553
"marker/cursor/text/background_color": "#ffffff",
536554
"marker/cursor/text/background_alpha": 0.7,
537555
"marker/cursor/sel_text/font/size": 9,
538556
"marker/cursor/sel_text/font/family": "default",
539557
"marker/cursor/sel_text/font/bold": False,
540558
"marker/cursor/sel_text/font/italic": False,
541-
"marker/cursor/sel_text/textcolor": "#440909",
559+
"marker/cursor/sel_text/textcolor": MARKER_TEXT_COLOR,
542560
"marker/cursor/sel_text/background_color": "#ffffff",
543561
"marker/cursor/sel_text/background_alpha": 0.7,
562+
# Default annotation text style for segments:
563+
"shape/segment/line/style": "SolidLine",
564+
"shape/segment/line/color": "#00ff55",
565+
"shape/segment/line/width": 1.0,
566+
"shape/segment/sel_line/style": "SolidLine",
567+
"shape/segment/sel_line/color": "#00ff55",
568+
"shape/segment/sel_line/width": 2.0,
569+
"shape/segment/fill/style": "NoBrush",
570+
"shape/segment/sel_fill/style": "NoBrush",
571+
"shape/segment/symbol/marker": "XCross",
572+
"shape/segment/symbol/size": 9,
573+
"shape/segment/symbol/edgecolor": "#00ff55",
574+
"shape/segment/symbol/facecolor": "#00ff55",
575+
"shape/segment/symbol/alpha": 1.0,
576+
"shape/segment/sel_symbol/marker": "XCross",
577+
"shape/segment/sel_symbol/size": 12,
578+
"shape/segment/sel_symbol/edgecolor": "#00ff55",
579+
"shape/segment/sel_symbol/facecolor": "#00ff55",
580+
"shape/segment/sel_symbol/alpha": 0.7,
581+
# Default style for drag shapes: (global annotations style)
582+
"shape/drag/line/style": "SolidLine",
583+
"shape/drag/line/color": "#00ff55",
584+
"shape/drag/line/width": 1.0,
585+
"shape/drag/fill/style": "SolidPattern",
586+
"shape/drag/fill/color": MAIN_BG_COLOR,
587+
"shape/drag/fill/alpha": 0.1,
588+
"shape/drag/symbol/marker": "Rect",
589+
"shape/drag/symbol/size": 3,
590+
"shape/drag/symbol/edgecolor": "#00ff55",
591+
"shape/drag/symbol/facecolor": "#00ff55",
592+
"shape/drag/symbol/alpha": 1.0,
593+
"shape/drag/sel_line/style": "SolidLine",
594+
"shape/drag/sel_line/color": "#00ff55",
595+
"shape/drag/sel_line/width": 2.0,
596+
"shape/drag/sel_fill/style": "SolidPattern",
597+
"shape/drag/sel_fill/color": MAIN_BG_COLOR,
598+
"shape/drag/sel_fill/alpha": 0.1,
599+
"shape/drag/sel_symbol/marker": "Rect",
600+
"shape/drag/sel_symbol/size": 7,
601+
"shape/drag/sel_symbol/edgecolor": "#00ff55",
602+
"shape/drag/sel_symbol/facecolor": "#00ff00",
603+
"shape/drag/sel_symbol/alpha": 0.7,
544604
},
545605
"results": {
546606
# Annotated shape style for result shapes:
547607
# Signals:
548608
"s/annotation/line/style": "SolidLine",
549-
"s/annotation/line/color": MAIN_FG_COLOR,
550-
"s/annotation/line/width": 1,
551-
"s/annotation/fill/style": "SolidPattern",
609+
"s/annotation/line/color": "#00aa00",
610+
"s/annotation/line/width": 2,
611+
"s/annotation/fill/style": "NoBrush",
552612
"s/annotation/fill/color": MAIN_BG_COLOR,
553613
"s/annotation/fill/alpha": 0.1,
554614
"s/annotation/symbol/marker": "XCross",
555615
"s/annotation/symbol/size": 7,
556-
"s/annotation/symbol/edgecolor": MAIN_FG_COLOR,
557-
"s/annotation/symbol/facecolor": MAIN_FG_COLOR,
616+
"s/annotation/symbol/edgecolor": "#00aa00",
617+
"s/annotation/symbol/facecolor": "#00aa00",
558618
"s/annotation/symbol/alpha": 1.0,
559619
"s/annotation/sel_line/style": "DashLine",
560620
"s/annotation/sel_line/color": "#00ff00",
@@ -593,65 +653,65 @@ def reset():
593653
# Marker styles for results:
594654
# Signals:
595655
"s/marker/cursor/line/style": "DashLine",
596-
"s/marker/cursor/line/color": "#ffff00",
656+
"s/marker/cursor/line/color": MARKER_LINE_COLOR,
597657
"s/marker/cursor/line/width": 1.0,
598658
"s/marker/cursor/symbol/marker": "Ellipse",
599659
"s/marker/cursor/symbol/size": 11,
600660
"s/marker/cursor/symbol/edgecolor": MAIN_BG_COLOR,
601-
"s/marker/cursor/symbol/facecolor": "#ffff00",
661+
"s/marker/cursor/symbol/facecolor": MARKER_LINE_COLOR,
602662
"s/marker/cursor/symbol/alpha": 0.7,
603663
"s/marker/cursor/sel_line/style": "DashLine",
604-
"s/marker/cursor/sel_line/color": "#ffff00",
664+
"s/marker/cursor/sel_line/color": MARKER_LINE_COLOR,
605665
"s/marker/cursor/sel_line/width": 2.0,
606666
"s/marker/cursor/sel_symbol/marker": "Ellipse",
607667
"s/marker/cursor/sel_symbol/size": 11,
608-
"s/marker/cursor/sel_symbol/edgecolor": "#ffff00",
609-
"s/marker/cursor/sel_symbol/facecolor": "#ffff00",
668+
"s/marker/cursor/sel_symbol/edgecolor": MARKER_LINE_COLOR,
669+
"s/marker/cursor/sel_symbol/facecolor": MARKER_LINE_COLOR,
610670
"s/marker/cursor/sel_symbol/alpha": 0.7,
611671
"s/marker/cursor/text/font/size": 9,
612672
"s/marker/cursor/text/font/family": "default",
613673
"s/marker/cursor/text/font/bold": False,
614674
"s/marker/cursor/text/font/italic": False,
615-
"s/marker/cursor/text/textcolor": "#440909",
675+
"s/marker/cursor/text/textcolor": MARKER_TEXT_COLOR,
616676
"s/marker/cursor/text/background_color": "#ffffff",
617677
"s/marker/cursor/text/background_alpha": 0.7,
618678
"s/marker/cursor/sel_text/font/size": 9,
619679
"s/marker/cursor/sel_text/font/family": "default",
620680
"s/marker/cursor/sel_text/font/bold": False,
621681
"s/marker/cursor/sel_text/font/italic": False,
622-
"s/marker/cursor/sel_text/textcolor": "#440909",
682+
"s/marker/cursor/sel_text/textcolor": MARKER_TEXT_COLOR,
623683
"s/marker/cursor/sel_text/background_color": "#ffffff",
624684
"s/marker/cursor/sel_text/background_alpha": 0.7,
625685
"s/marker/cursor/markerstyle": "Cross",
626686
# Images:
627687
"i/marker/cursor/line/style": "DashLine",
628-
"i/marker/cursor/line/color": "#ffff00",
688+
"i/marker/cursor/line/color": MARKER_LINE_COLOR,
629689
"i/marker/cursor/line/width": 1.0,
630690
"i/marker/cursor/symbol/marker": "Diamond",
631691
"i/marker/cursor/symbol/size": 11,
632-
"i/marker/cursor/symbol/edgecolor": "#ffff00",
633-
"i/marker/cursor/symbol/facecolor": "#ffff00",
692+
"i/marker/cursor/symbol/edgecolor": MARKER_LINE_COLOR,
693+
"i/marker/cursor/symbol/facecolor": MARKER_LINE_COLOR,
634694
"i/marker/cursor/symbol/alpha": 0.7,
635695
"i/marker/cursor/sel_line/style": "DashLine",
636-
"i/marker/cursor/sel_line/color": "#ffff00",
696+
"i/marker/cursor/sel_line/color": MARKER_LINE_COLOR,
637697
"i/marker/cursor/sel_line/width": 2.0,
638698
"i/marker/cursor/sel_symbol/marker": "Diamond",
639699
"i/marker/cursor/sel_symbol/size": 11,
640-
"i/marker/cursor/sel_symbol/edgecolor": "#ffff00",
641-
"i/marker/cursor/sel_symbol/facecolor": "#ffff00",
700+
"i/marker/cursor/sel_symbol/edgecolor": MARKER_LINE_COLOR,
701+
"i/marker/cursor/sel_symbol/facecolor": MARKER_LINE_COLOR,
642702
"i/marker/cursor/sel_symbol/alpha": 0.7,
643703
"i/marker/cursor/text/font/size": 9,
644704
"i/marker/cursor/text/font/family": "default",
645705
"i/marker/cursor/text/font/bold": False,
646706
"i/marker/cursor/text/font/italic": False,
647-
"i/marker/cursor/text/textcolor": "#440909",
707+
"i/marker/cursor/text/textcolor": MARKER_TEXT_COLOR,
648708
"i/marker/cursor/text/background_color": "#ffffff",
649709
"i/marker/cursor/text/background_alpha": 0.7,
650710
"i/marker/cursor/sel_text/font/size": 9,
651711
"i/marker/cursor/sel_text/font/family": "default",
652712
"i/marker/cursor/sel_text/font/bold": False,
653713
"i/marker/cursor/sel_text/font/italic": False,
654-
"i/marker/cursor/sel_text/textcolor": "#440909",
714+
"i/marker/cursor/sel_text/textcolor": MARKER_TEXT_COLOR,
655715
"i/marker/cursor/sel_text/background_color": "#ffffff",
656716
"i/marker/cursor/sel_text/background_alpha": 0.7,
657717
"i/marker/cursor/markerstyle": "Cross",

0 commit comments

Comments
 (0)