From ee4e3f3a58c41913bab52af4cd257fc9d8c329da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Wed, 13 Sep 2023 15:59:16 +0200 Subject: [PATCH 01/79] add the input box --- omero_figure/templates/figure/index.html | 4 +- package-lock.json | 3536 +++++++++++++++++++- src/js/views/right_panel_view.js | 5 +- src/templates/channel_slider_template.html | 3 + 4 files changed, 3538 insertions(+), 10 deletions(-) diff --git a/omero_figure/templates/figure/index.html b/omero_figure/templates/figure/index.html index 6eae81088..9e5e5a310 100644 --- a/omero_figure/templates/figure/index.html +++ b/omero_figure/templates/figure/index.html @@ -1070,12 +1070,12 @@
Example Label
From a8fea4679c1062aa88557a7c5bb72e48fb424281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Wed, 27 Sep 2023 08:32:59 +0200 Subject: [PATCH 17/79] fix bug on value type ; convert string to int --- src/js/views/right_panel_view.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/views/right_panel_view.js b/src/js/views/right_panel_view.js index 08409f1e7..e17113229 100644 --- a/src/js/views/right_panel_view.js +++ b/src/js/views/right_panel_view.js @@ -631,11 +631,11 @@ min: 100, value: self.zoom_avg, slide: function(event, ui) { - self.update_img_css(ui.value, 0, 0); - $('#vp_zoom_value').val(ui.value); + self.update_img_css(parseInt(ui.value), 0, 0); + $('#vp_zoom_value').val(parseInt(ui.value)); }, stop: function( event, ui ) { - self.zoom_avg = ui.value; + self.zoom_avg = parseInt(ui.value); var to_save = {'zoom': ui.value}; if (ui.value === 100) { to_save.dx = 0; @@ -714,7 +714,7 @@ } // get the current entered value - var value = event.target.value; + var value = parseInt(event.target.value); if (isNaN(value)) { return; } From 9559d19a2b95ff4ea10f354a30866aacf918591c Mon Sep 17 00:00:00 2001 From: William Moore Date: Wed, 27 Sep 2023 20:23:39 +0100 Subject: [PATCH 18/79] Use same logic for theZ and theT for setId() --- src/js/models/panel_model.js | 6 ++++-- src/js/views/modal_views.js | 9 ++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/js/models/panel_model.js b/src/js/models/panel_model.js index 7e3c02a67..8d2495e0d 100644 --- a/src/js/models/panel_model.js +++ b/src/js/models/panel_model.js @@ -90,7 +90,6 @@ var newData = {'imageId': data.imageId, 'name': data.name, 'sizeZ': data.sizeZ, - 'theZ': data.theZ, 'sizeT': data.sizeT, 'orig_width': data.orig_width, 'orig_height': data.orig_height, @@ -106,10 +105,13 @@ 'deltaT': data.deltaT, }; - // theT is not changed unless we have to... + // theT and theZ are not changed unless we have to... if (this.get('theT') >= newData.sizeT) { newData.theT = newData.sizeT - 1; } + if (this.get('theZ') >= newData.sizeZ) { + newData.theZ = newData.sizeZ - 1; + } // Make sure dx and dy are not outside the new image if (Math.abs(this.get('dx')) > newData.orig_width/2) { diff --git a/src/js/views/modal_views.js b/src/js/views/modal_views.js index cceff120b..21d3dc1f7 100644 --- a/src/js/views/modal_views.js +++ b/src/js/views/modal_views.js @@ -349,8 +349,8 @@ json.selThumbSrc = WEBGATEWAYINDEX + "render_thumbnail/" + json.selImg.imageId + "/"; // minor attributes ('info' only) - var attrs = ["sizeZ", "orig_width", "orig_height"], - attrName = ['Z size', 'Width', 'Height']; + var attrs = ["orig_width", "orig_height"], + attrName = ['Width', 'Height']; if (this.newImg) { json.newImg = this.newImg; @@ -391,16 +391,15 @@ if (o.get('theZ') > json.newImg.sizeZ) tooSmallZ = true; }); if (tooSmallZ) { - json.messages.push({"text": "New Image has fewer slices than needed. Check after update.", + json.messages.push({"text": "New Image has fewer Z slices than needed. Check after update.", "status": "danger"}); } else { - json.messages.push({"text":"Mismatch of slices: should be OK.", + json.messages.push({"text":"Mismatch of Z slices: should be OK.", "status": "success"}); } json.comp.sizeZ = false; } else { json.comp.sizeZ = true; - json.newImg['theZ'] = json.selImg['theZ'] } // compare channels From 472aa0ee3e0e3a1c0ab1ae1cf863b83f2124c5e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 28 Sep 2023 08:12:51 +0200 Subject: [PATCH 19/79] remove parseInt from slide and stop functions --- src/js/views/right_panel_view.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/views/right_panel_view.js b/src/js/views/right_panel_view.js index e17113229..e5e2c764a 100644 --- a/src/js/views/right_panel_view.js +++ b/src/js/views/right_panel_view.js @@ -631,11 +631,11 @@ min: 100, value: self.zoom_avg, slide: function(event, ui) { - self.update_img_css(parseInt(ui.value), 0, 0); - $('#vp_zoom_value').val(parseInt(ui.value)); + self.update_img_css(ui.value, 0, 0); + $('#vp_zoom_value').val(ui.value); }, - stop: function( event, ui ) { - self.zoom_avg = parseInt(ui.value); + stop: function(event, ui) { + self.zoom_avg = ui.value; var to_save = {'zoom': ui.value}; if (ui.value === 100) { to_save.dx = 0; From 01cffd070449836d58ac97504829b2c36e10e716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Fri, 29 Sep 2023 08:11:58 +0200 Subject: [PATCH 20/79] Handle look and feel --- omero_figure/static/figure/css/figure.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/omero_figure/static/figure/css/figure.css b/omero_figure/static/figure/css/figure.css index 332b65788..ad108bb5c 100644 --- a/omero_figure/static/figure/css/figure.css +++ b/omero_figure/static/figure/css/figure.css @@ -233,6 +233,11 @@ height: 14px; border-radius: 5px; } + #vp_zoom_value { + float: right; + width: 50px; + margin-top: 5px; + } .toggle_channel { border-radius: 6px 6px 6px 6px; margin: 2px; From e86749e612b9ac9227ca741127f1831752b891b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Mon, 2 Oct 2023 10:45:15 +0200 Subject: [PATCH 21/79] Add right vertical choice in drop-down list --- src/js/views/right_panel_view.js | 2 +- src/templates/labels_form_inner_template.html | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/js/views/right_panel_view.js b/src/js/views/right_panel_view.js index c91641e52..53dca6857 100644 --- a/src/js/views/right_panel_view.js +++ b/src/js/views/right_panel_view.js @@ -507,7 +507,7 @@ render: function() { var self = this, - positions = {'top':{}, 'bottom':{}, 'left':{}, 'leftvert':{}, 'right':{}, + positions = {'top':{}, 'bottom':{}, 'left':{}, 'leftvert':{}, 'right':{},'rightvert':{}, 'topleft':{}, 'topright':{}, 'bottomleft':{}, 'bottomright':{}}; this.models.forEach(function(m){ // group labels by position diff --git a/src/templates/labels_form_inner_template.html b/src/templates/labels_form_inner_template.html index efb061fc7..a0298f252 100644 --- a/src/templates/labels_form_inner_template.html +++ b/src/templates/labels_form_inner_template.html @@ -74,7 +74,7 @@ <% } %> From 33bde73061ed0ef1b6085cac6a1a6f41e5b1a5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 9 Nov 2023 14:34:12 +0100 Subject: [PATCH 52/79] Add zoom label on figure --- src/js/models/panel_model.js | 7 +++++++ src/js/views/panel_view.js | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/js/models/panel_model.js b/src/js/models/panel_model.js index 7e3c02a67..72df926f2 100644 --- a/src/js/models/panel_model.js +++ b/src/js/models/panel_model.js @@ -104,6 +104,7 @@ 'pixel_size_x_unit': data.pixel_size_x_unit, 'pixel_size_z_unit': data.pixel_size_z_unit, 'deltaT': data.deltaT, + 'zoom':data.zoom, }; // theT is not changed unless we have to... @@ -334,6 +335,12 @@ return (isNegative ? '-' : '') + text; }, + get_zoom_label_text: function() { + var text = "" + this.get('zoom') + " %" + return text; + }, + + get_name_label_text: function(property, format) { var text = ""; if (property === "image") { diff --git a/src/js/views/panel_view.js b/src/js/views/panel_view.js index ca9f1599f..49265570c 100644 --- a/src/js/views/panel_view.js +++ b/src/js/views/panel_view.js @@ -228,6 +228,8 @@ label_value = self.model.get_view_label_text(prop_nf[0], format, precision); } else if (['channels', 'c'].includes(prop_nf[0])) { label_value = self.model.get_channels_label_text(); + } else if (['zoom'].includes(prop_nf[0])) { + label_value = self.model.get_zoom_label_text(); } //If label_value hasn't been created (invalid prop_nf[0]) From 2b4539d06bbeea95cb675bd071abbce311893699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 9 Nov 2023 14:40:07 +0100 Subject: [PATCH 53/79] Modify Figure-to-pdf script --- omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py b/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py index a4652c9ff..1cc703b10 100644 --- a/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py +++ b/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py @@ -1299,6 +1299,8 @@ def draw_labels(self, panel, page): label_value.append(channel["label"]) label_value = " ".join(label_value) + elif prop_nf[0] in ["zoom"]: + label_value = str(panel["zoom"]) + " %" new_text.append(label_value if label_value else item.group()) last_idx = item.end() From 1eabc040f61f4a687bfc6b831d161529154868d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 9 Nov 2023 14:43:41 +0100 Subject: [PATCH 54/79] Add documentation in teh tips --- omero_figure/templates/figure/index.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/omero_figure/templates/figure/index.html b/omero_figure/templates/figure/index.html index 6eae81088..4a5d4cfe2 100644 --- a/omero_figure/templates/figure/index.html +++ b/omero_figure/templates/figure/index.html @@ -605,6 +605,11 @@

Dynamic properties

Dataset ID: [dataset.id] Dataset ID: 1654 + + Zoom + [zoom] % + 100 % +

Legend

The figure legend will be included in the PDF info page when the figure is From 804c456c3ef34350515ddb6210eda5a320bab6cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 9 Nov 2023 14:59:49 +0100 Subject: [PATCH 55/79] Suppress the extra space --- omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py b/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py index 1cc703b10..b01e80bc8 100644 --- a/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py +++ b/omero_figure/scripts/omero/figure_scripts/Figure_To_Pdf.py @@ -1299,7 +1299,7 @@ def draw_labels(self, panel, page): label_value.append(channel["label"]) label_value = " ".join(label_value) - elif prop_nf[0] in ["zoom"]: + elif prop_nf[0] in ["zoom"]: label_value = str(panel["zoom"]) + " %" new_text.append(label_value if label_value else item.group()) last_idx = item.end() From c191664aee01c833bb127842be53cf9db581ed1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Dornier?= Date: Thu, 9 Nov 2023 15:30:12 +0100 Subject: [PATCH 56/79] Add radio button to choose all or single key --- omero_figure/templates/figure/index.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/omero_figure/templates/figure/index.html b/omero_figure/templates/figure/index.html index 6eae81088..41a0d312e 100644 --- a/omero_figure/templates/figure/index.html +++ b/omero_figure/templates/figure/index.html @@ -698,8 +698,14 @@