Skip to content

Commit c371a34

Browse files
committed
Merge branch 'develop' into feature/03-brickwall
# Conflicts: # doc/api/objects.rst # doc/locale/fr/LC_MESSAGES/changelog.po # doc/locale/fr/LC_MESSAGES/features/signal/menu_processing.po
2 parents 12ba3ce + 0028f84 commit c371a34

File tree

82 files changed

+4145
-1602
lines changed

Some content is hidden

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

82 files changed

+4145
-1602
lines changed

.vscode/settings.json

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
{
22
"[bat]": {
3-
"files.encoding": "cp850",
3+
"files.encoding": "cp850"
44
},
5+
"[python]": {
6+
"editor.defaultFormatter": "charliermarsh.ruff"
7+
},
8+
"[restructuredtext]": {
9+
"editor.wordWrap": "on"
10+
},
11+
"editor.codeActionsOnSave": {
12+
"source.organizeImports.ruff": "explicit"
13+
},
14+
"editor.formatOnSave": true,
515
"editor.rulers": [
616
88
717
],
@@ -12,19 +22,10 @@
1222
},
1323
"files.trimFinalNewlines": true,
1424
"files.trimTrailingWhitespace": true,
15-
"editor.formatOnSave": true,
1625
"python.analysis.autoFormatStrings": true,
17-
"python.testing.unittestEnabled": false,
26+
"python.testing.pytestArgs": [],
1827
"python.testing.pytestEnabled": true,
1928
"python.testing.pytestPath": "pytest",
20-
"python.testing.pytestArgs": [],
21-
"[python]": {
22-
"editor.defaultFormatter": "charliermarsh.ruff"
23-
},
24-
"editor.codeActionsOnSave": {
25-
"source.organizeImports.ruff": "explicit"
26-
},
27-
"[restructuredtext]": {
28-
"editor.wordWrap": "on"
29-
},
29+
"python.testing.unittestEnabled": false,
30+
"terminal.integrated.tabs.description": "${workspaceFolder}",
3031
}

.vscode/tasks.json

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,37 @@
121121
},
122122
"type": "shell",
123123
},
124+
{
125+
"label": "🚀 Pytest",
126+
"command": "${command:python.interpreterPath}",
127+
"args": [
128+
"scripts/run_with_env.py",
129+
"${command:python.interpreterPath}",
130+
"-m",
131+
"pytest",
132+
"--ff",
133+
],
134+
"options": {
135+
"cwd": "${workspaceFolder}",
136+
"env": {
137+
// "DEBUG": "1", // ☣️ Debug mode will reset .ini settings
138+
"UNATTENDED": "1",
139+
},
140+
},
141+
"group": {
142+
"kind": "build",
143+
"isDefault": true,
144+
},
145+
"presentation": {
146+
"echo": true,
147+
"reveal": "always",
148+
"focus": false,
149+
"panel": "dedicated",
150+
"showReuseMessage": true,
151+
"clear": true,
152+
},
153+
"type": "shell",
154+
},
124155
{
125156
"label": "sphinx-build",
126157
"command": "${command:python.interpreterPath}",
@@ -253,10 +284,10 @@
253284
"cwd": "${workspaceFolder}",
254285
},
255286
"presentation": {
256-
"clear": false,
287+
"clear": true,
257288
"echo": true,
258289
"focus": false,
259-
"panel": "shared",
290+
"panel": "dedicated",
260291
"reveal": "always",
261292
"showReuseMessage": true,
262293
},
@@ -288,10 +319,10 @@
288319
"cwd": "${workspaceFolder}",
289320
},
290321
"presentation": {
291-
"clear": false,
322+
"clear": true,
292323
"echo": true,
293324
"focus": false,
294-
"panel": "shared",
325+
"panel": "dedicated",
295326
"reveal": "always",
296327
"showReuseMessage": true,
297328
},
@@ -301,37 +332,6 @@
301332
"sphinx-intl build",
302333
],
303334
},
304-
{
305-
"label": "🚀 Pytest",
306-
"command": "${command:python.interpreterPath}",
307-
"args": [
308-
"scripts/run_with_env.py",
309-
"${command:python.interpreterPath}",
310-
"-m",
311-
"pytest",
312-
"--ff",
313-
],
314-
"options": {
315-
"cwd": "${workspaceFolder}",
316-
"env": {
317-
// "DEBUG": "1", // ☣️ Debug mode will reset .ini settings
318-
"UNATTENDED": "1",
319-
},
320-
},
321-
"group": {
322-
"kind": "build",
323-
"isDefault": true,
324-
},
325-
"presentation": {
326-
"echo": true,
327-
"reveal": "always",
328-
"focus": false,
329-
"panel": "dedicated",
330-
"showReuseMessage": true,
331-
"clear": true,
332-
},
333-
"type": "shell",
334-
},
335335
{
336336
"label": "🛠️ Generate doc assets",
337337
"command": "${command:python.interpreterPath} -m guidata.utils.genreqs all && ${command:python.interpreterPath} doc/update_validation_status.py",

CHANGELOG.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ See DataLab [roadmap page](https://datalab-platform.com/en/contributing/roadmap.
66

77
💥 New features and enhancements:
88

9+
* New common signal/image feature:
10+
* Generate new signal or image: Poisson noise.
11+
* Add noise to the selected signals or images.
12+
* Gaussian, Poisson or uniform noise can be added.
13+
* This closes [Issue #201](https://github.com/DataLab-Platform/DataLab/issues/201).
14+
915
* New ROI (Region of Interest) management features:
1016
* New "ROI" menu, between "Edit" and "Operations" menus
1117
* This menu provides quick access to ROI creation, editing, and deletion tools.
@@ -26,10 +32,10 @@ See DataLab [roadmap page](https://datalab-platform.com/en/contributing/roadmap.
2632
* Preview the ROI grid before creating it
2733

2834
* New image processing features:
29-
* New "Gaussian frequency filter" feature:
30-
* This feature allows to filter an image in the frequency domain using a Gaussian filter
31-
* It is implemented in the `sigima.proc.image.freq_fft` function (requires Sigima v0.3)
32-
* This closes [Issue #205](https://github.com/DataLab-Platform/DataLab/issues/205) - Add Gaussian frequency filter for images
35+
* New "Frequency domain Gaussian filter" feature:
36+
* This feature allows to filter an image in the frequency domain using a Gaussian filter.
37+
* It is implemented in the `sigima.proc.image.frequency_domain_gaussian_filter` function (requires Sigima v0.3).
38+
* This closes [Issue #205](https://github.com/DataLab-Platform/DataLab/issues/205) - Add Gaussian frequency filter for images.
3339
* New "Erase area" feature:
3440
* This feature allows to erase an area in an image as defined by a region of interest
3541
* It is implemented in the `sigima.proc.image.erase` function (requires Sigima v0.3)
@@ -43,13 +49,17 @@ See DataLab [roadmap page](https://datalab-platform.com/en/contributing/roadmap.
4349

4450
* New signal processing features:
4551
* Zero padding:
46-
* Enhanced to support both prepending and appending zeros.
52+
* Enhanced feature to support both prepending and appending zeros.
4753
* Partial implementation of [Issue #216](https://github.com/DataLab-Platform/DataLab/issues/216).
4854
* Default strategy is now "Next power of 2".
4955
* Ideal frequency domain filter ("Brick wall filter"):
5056
* It is implemented in `sigima.proc.signal.frequency_filter` (requires Sigima v0.3).
5157
* This closes [Issue #215](https://github.com/DataLab-Platform/DataLab/issues/215) - Filters / Brickwall filter (Signal).
5258

59+
* New signal analysis features:
60+
* Bandwidth at -3dB:
61+
* Enhanced to support passband bandwidth in addition to baseband bandwidth.
62+
5363
* New 2D ramp image generator.
5464
* This closes [Issue #203](https://github.com/DataLab-Platform/DataLab/issues/203).
5565

DataLab-Platform.code-workspace

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "."
5+
},
6+
{
7+
"path": "../Sigima"
8+
},
9+
{
10+
"path": "../PlotPy"
11+
},
12+
{
13+
"path": "../guidata"
14+
}
15+
],
16+
"settings": {
17+
"python.analysis.autoFormatStrings": true
18+
}
19+
}

DataLab.bat

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
1+
12
@echo off
3+
setlocal EnableDelayedExpansion
4+
5+
REM Store script directory in a variable (outside IF block for batch compatibility)
6+
set SCRIPT_DIR=%~dp0
7+
28
REM Check if a Python executable path is provided as an argument
39
if "%1" == "" (
4-
echo Error: Python executable path must be provided as an argument.
5-
echo Usage: DataLab.bat path\to\python.exe
6-
exit /b 1
10+
REM If not, try to use .venv\Scripts\pythonw.exe in the current directory
11+
set PYTHON_EXE=!SCRIPT_DIR!.venv\Scripts\pythonw.exe
12+
if not exist "!PYTHON_EXE!" (
13+
echo Error: Python executable path must be provided as an argument.
14+
echo Usage: DataLab.bat path\to\python.exe
15+
exit /b 1
16+
)
717
) else (
818
REM Use the provided Python executable path
919
set PYTHON_EXE=%1
1020
)
21+
1122
REM Validate that the provided Python executable exists
12-
if not exist %PYTHON_EXE% (
23+
if not exist "%PYTHON_EXE%" (
1324
echo Error: The specified Python executable does not exist: %PYTHON_EXE%
1425
exit /b 2
1526
)

datalab/adapters_metadata/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright (c) DataLab Platform Developers, BSD 3-Clause license, see LICENSE file.
2+
3+
"""
4+
Adapters for Sigima's TableResult and GeometryResult, providing features
5+
for storing and retrieving those objects as metadata for DataLab's signal
6+
and image objects.
7+
"""
8+
9+
from .geometry_adapter import GeometryAdapter
10+
from .table_adapter import TableAdapter
11+
12+
__all__ = ["GeometryAdapter", "TableAdapter"]

0 commit comments

Comments
 (0)