Skip to content

Commit 68ceb82

Browse files
committed
Add new parametric image types and update translations; enhance documentation for image generation options
1 parent 90b519a commit 68ceb82

6 files changed

Lines changed: 103 additions & 16 deletions

File tree

CHANGELOG.md

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

77
💥 New features and enhancements:
88

9+
* **New parametric image types**: Added five new parametric image generation options in the "New image" menu
10+
* **Checkerboard**: Alternating square pattern ideal for camera calibration, spatial frequency analysis, and MTF testing. Configure square size, offset position, and light/dark values
11+
* **Sinusoidal grating**: Frequency response testing pattern with independent spatial frequencies in X and Y directions, adjustable phase, amplitude, and DC offset. Essential for optical testing and MTF measurements
12+
* **Ring pattern**: Concentric circular rings for radial analysis and PSF testing. Adjustable ring period, width, center position, and amplitude range
13+
* **Siemens star**: Resolution testing pattern with radial spokes for angular frequency analysis. Configure number of spokes (spoke pairs), inner/outer radius to create hole or solid center, and intensity range
14+
* **2D sinc**: Cardinal sine function for PSF modeling and diffraction pattern simulation. Parameters include amplitude, center position, scale factor (sigma), and DC offset
15+
916
* **Group short IDs now distinguish between panels**: Group identifiers are now panel-specific to avoid ambiguity in cross-panel operations
1017
* Signal Panel groups use `gs` prefix (e.g., `gs001`, `gs002`, ...)
1118
* Image Panel groups use `gi` prefix (e.g., `gi001`, `gi002`, ...)

datalab/gui/actionhandler.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,6 +1413,11 @@ def create_new_object_actions(self):
14131413
(_("Uniform distribution"), sio.UniformDistribution2DParam),
14141414
(_("Gaussian"), sio.Gauss2DParam),
14151415
(_("Ramp"), sio.Ramp2DParam),
1416+
(_("Checkerboard"), sio.Checkerboard2DParam),
1417+
(_("Sinusoidal grating"), sio.SinusoidalGrating2DParam),
1418+
(_("Ring pattern"), sio.Ring2DParam),
1419+
(_("Siemens star"), sio.SiemensStar2DParam),
1420+
(_("2D sinc"), sio.Sinc2DParam),
14161421
):
14171422
self.new_action(
14181423
label,

datalab/locale/fr/LC_MESSAGES/datalab.po

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ msgid ""
66
msgstr ""
77
"Project-Id-Version: datalab\n"
88
"Report-Msgid-Bugs-To: p.raybaut@codra.fr\n"
9-
"POT-Creation-Date: 2025-11-10 10:38+0100\n"
9+
"POT-Creation-Date: 2025-11-10 10:57+0100\n"
1010
"PO-Revision-Date: 2025-05-22 15:46+0200\n"
1111
"Last-Translator: Christophe Debonnel <c.debonnel@codra.fr>\n"
1212
"Language: fr\n"
@@ -526,6 +526,21 @@ msgstr "images"
526526
msgid "Ramp"
527527
msgstr "Rampe"
528528

529+
msgid "Checkerboard"
530+
msgstr "Damier"
531+
532+
msgid "Sinusoidal grating"
533+
msgstr "Réseau sinusoïdal"
534+
535+
msgid "Ring pattern"
536+
msgstr "Motif en anneau"
537+
538+
msgid "Siemens star"
539+
msgstr "Étoile de Siemens"
540+
541+
msgid "2D sinc"
542+
msgstr "Sinc 2D"
543+
529544
msgid "Create ROI grid"
530545
msgstr "Créer une grille de ROI"
531546

doc/features/image/menu_file.rst

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,26 @@ Create a new image from various models
3636
- :math:`z[i] = 0`
3737
* - Empty
3838
- Data is directly taken from memory as it is
39-
* - Uniform distribution
40-
- :math:`y[i]` is normally distributed with configurable mean and standard deviation
39+
* - Normal distribution
40+
- :math:`z[i]` is normally distributed with configurable mean and standard deviation
4141
* - Poisson distribution
42-
- :math:`y[i]` is Poisson distributed with configurable mean
42+
- :math:`z[i]` is Poisson distributed with configurable mean
4343
* - Uniform distribution
44-
- :math:`y[i]` is uniformly distributed between two configurable bounds
44+
- :math:`z[i]` is uniformly distributed between two configurable bounds
4545
* - 2D Gaussian
4646
- :math:`z = A \cdot \exp\left(-\dfrac{\left(\sqrt{\left(x-x_0\right)^2+\left(y-y_0\right)^2}-\mu\right)^2}{2\sigma^2}\right)`
4747
* - 2D Ramp
4848
- :math:`z = A (x - x_0) + B (y - y_0) + C`
49+
* - Checkerboard
50+
- Alternating square pattern for calibration and spatial frequency analysis
51+
* - Sinusoidal grating
52+
- :math:`z = A \sin(2\pi(f_x \cdot x + f_y \cdot y) + \varphi) + C`
53+
* - Ring pattern
54+
- Concentric circular rings for radial analysis
55+
* - Siemens star
56+
- Radial spoke pattern for resolution testing
57+
* - 2D sinc
58+
- :math:`z = A \cdot \mathrm{sinc}\left(\dfrac{\sqrt{(x-x_0)^2+(y-y_0)^2}}{\sigma}\right) + C`
4959

5060
.. _open_image:
5161

doc/locale/fr/LC_MESSAGES/changelog.po

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: DataLab \n"
99
"Report-Msgid-Bugs-To: \n"
10-
"POT-Creation-Date: 2025-11-09 19:35+0100\n"
10+
"POT-Creation-Date: 2025-11-10 10:53+0100\n"
1111
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313
"Language: fr\n"
@@ -30,6 +30,24 @@ msgstr "DataLab Version 1.0.0"
3030
msgid "💥 New features and enhancements:"
3131
msgstr "💥 Nouvelles fonctionnalités et améliorations :"
3232

33+
msgid "**New parametric image types**: Added five new parametric image generation options in the \"New image\" menu"
34+
msgstr "**Nouveaux types d'images paramétriques** : Ajout de cinq nouvelles options de génération d'images paramétriques dans le menu \"Nouvelle image\""
35+
36+
msgid "**Checkerboard**: Alternating square pattern ideal for camera calibration, spatial frequency analysis, and MTF testing. Configure square size, offset position, and light/dark values"
37+
msgstr "**Damier** : Motif carré alterné idéal pour la calibration de la caméra, l'analyse de la fréquence spatiale et les tests MTF. Configurez la taille des carrés, la position de décalage et les valeurs claires/sombres."
38+
39+
msgid "**Sinusoidal grating**: Frequency response testing pattern with independent spatial frequencies in X and Y directions, adjustable phase, amplitude, and DC offset. Essential for optical testing and MTF measurements"
40+
msgstr "**Grille sinusoïdale** : Motif de test de réponse en fréquence avec des fréquences spatiales indépendantes dans les directions X et Y, phase, amplitude et décalage DC réglables. Essentiel pour les tests optiques et les mesures MTF."
41+
42+
msgid "**Ring pattern**: Concentric circular rings for radial analysis and PSF testing. Adjustable ring period, width, center position, and amplitude range"
43+
msgstr "**Motif en anneau** : Anneaux circulaires concentriques pour l'analyse radiale et les tests PSF. Période d'anneau, largeur, position centrale et plage d'amplitude réglables."
44+
45+
msgid "**Siemens star**: Resolution testing pattern with radial spokes for angular frequency analysis. Configure number of spokes (spoke pairs), inner/outer radius to create hole or solid center, and intensity range"
46+
msgstr "**Étoile de Siemens** : Motif de test de résolution avec des rayons radiaux pour l'analyse de la fréquence angulaire. Configurez le nombre de rayons (paires de rayons), le rayon intérieur/extérieur pour créer un centre vide ou plein, et la plage d'intensité."
47+
48+
msgid "**2D sinc**: Cardinal sine function for PSF modeling and diffraction pattern simulation. Parameters include amplitude, center position, scale factor (sigma), and DC offset"
49+
msgstr "**Sinc 2D** : Fonction sinus cardinal pour la modélisation de la PSF et la simulation de motifs de diffraction. Les paramètres incluent l'amplitude, la position centrale, le facteur d'échelle (sigma) et le décalage DC."
50+
3351
msgid "**Group short IDs now distinguish between panels**: Group identifiers are now panel-specific to avoid ambiguity in cross-panel operations"
3452
msgstr "**Les identifiants courts de groupe distinguent désormais les panneaux** : Les identifiants de groupe sont désormais spécifiques au panneau afin d'éviter toute ambiguïté dans les opérations inter-panneaux"
3553

doc/locale/fr/LC_MESSAGES/features/image/menu_file.po

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: DataLab \n"
1010
"Report-Msgid-Bugs-To: \n"
11-
"POT-Creation-Date: 2025-10-27 18:12+0100\n"
11+
"POT-Creation-Date: 2025-11-10 10:53+0100\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language: fr\n"
@@ -67,20 +67,23 @@ msgstr "Vide"
6767
msgid "Data is directly taken from memory as it is"
6868
msgstr "Données mémoire en l'état"
6969

70-
msgid "Uniform distribution"
71-
msgstr "Distribution uniforme"
70+
msgid "Normal distribution"
71+
msgstr "Distribution normale"
7272

73-
msgid ":math:`y[i]` is normally distributed with configurable mean and standard deviation"
74-
msgstr ":math:`y[i]` est normalement distribué avec une moyenne et un écart type configurables"
73+
msgid ":math:`z[i]` is normally distributed with configurable mean and standard deviation"
74+
msgstr ":math:`z[i]` est distribué normalement avec une moyenne et un écart type configurables"
7575

7676
msgid "Poisson distribution"
7777
msgstr "Distribution de Poisson"
7878

79-
msgid ":math:`y[i]` is Poisson distributed with configurable mean"
80-
msgstr ":math:`y[i]` est distribué selon une loi de Poisson avec une moyenne configurable"
79+
msgid ":math:`z[i]` is Poisson distributed with configurable mean"
80+
msgstr ":math:`z[i]` est distribué selon Poisson avec une moyenne configurable"
81+
82+
msgid "Uniform distribution"
83+
msgstr "Distribution uniforme"
8184

82-
msgid ":math:`y[i]` is uniformly distributed between two configurable bounds"
83-
msgstr ":math:`y[i]` est uniformément distribué entre deux bornes configurables"
85+
msgid ":math:`z[i]` is uniformly distributed between two configurable bounds"
86+
msgstr ":math:`z[i]` est uniformément distribué entre deux limites configurables"
8487

8588
msgid "2D Gaussian"
8689
msgstr "Gaussienne 2D"
@@ -94,6 +97,36 @@ msgstr "Rampe 2D"
9497
msgid ":math:`z = A (x - x_0) + B (y - y_0) + C`"
9598
msgstr ""
9699

100+
msgid "Checkerboard"
101+
msgstr "Damier"
102+
103+
msgid "Alternating square pattern for calibration and spatial frequency analysis"
104+
msgstr "Motif carré alterné pour l'étalonnage et l'analyse de fréquence spatiale"
105+
106+
msgid "Sinusoidal grating"
107+
msgstr "Réseau sinusoïdal"
108+
109+
msgid ":math:`z = A \\sin(2\\pi(f_x \\cdot x + f_y \\cdot y) + \\varphi) + C`"
110+
msgstr ""
111+
112+
msgid "Ring pattern"
113+
msgstr "Motif en anneau"
114+
115+
msgid "Concentric circular rings for radial analysis"
116+
msgstr "Anneaux circulaires concentriques pour l'analyse radiale"
117+
118+
msgid "Siemens star"
119+
msgstr "Étoile de Siemens"
120+
121+
msgid "Radial spoke pattern for resolution testing"
122+
msgstr "Motif en rayons pour les tests de résolution"
123+
124+
msgid "2D sinc"
125+
msgstr "Sinc 2D"
126+
127+
msgid ":math:`z = A \\cdot \\mathrm{sinc}\\left(\\dfrac{\\sqrt{(x-x_0)^2+(y-y_0)^2}}{\\sigma}\\right) + C`"
128+
msgstr ""
129+
97130
msgid "Open image"
98131
msgstr "Ouvrir une image"
99132

@@ -333,4 +366,3 @@ msgstr "Etape 3 : Afficher la représentation graphique"
333366

334367
msgid "The third step shows a graphical representation of the imported data. You can use the `Finish` button to import the data into DataLab workspace."
335368
msgstr "La troisième étape montre une représentation graphique des données importées. Vous pouvez utiliser le bouton « Terminer » pour importer les données dans l'espace de travail de DataLab."
336-

0 commit comments

Comments
 (0)