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 db1ef93ca..2961a5db0 100644 --- a/src/js/views/modal_views.js +++ b/src/js/views/modal_views.js @@ -292,8 +292,11 @@ 'datasetName': data.meta.datasetName, 'pixel_size_x': data.pixel_size.valueX, 'pixel_size_y': data.pixel_size.valueY, + 'pixel_size_z': data.pixel_size.valueZ, 'pixel_size_x_unit': data.pixel_size.unitX, + 'pixel_size_z_unit':data.pixel_size.unitZ, 'pixel_size_x_symbol': data.pixel_size.symbolX, + 'pixel_size_z_symbol': data.pixel_size.symbolZ, 'deltaT': data.deltaT, }; self.newImg = newImg; @@ -347,8 +350,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; @@ -380,6 +383,26 @@ } else { json.comp.sizeT = true; } + + // special message for sizeZ + if (json.selImg.sizeZ != json.newImg.sizeZ) { + // check if any existing images have theZ > new.sizeZ + var tooSmallZ = false; + sel.forEach(function(o){ + if (o.get('theZ') > json.newImg.sizeZ) tooSmallZ = true; + }); + if (tooSmallZ) { + json.messages.push({"text": "New Image has fewer Z slices than needed. Check after update.", + "status": "danger"}); + } else { + json.messages.push({"text":"Mismatch of Z slices: should be OK.", + "status": "success"}); + } + json.comp.sizeZ = false; + } else { + json.comp.sizeZ = true; + } + // compare channels json.comp.channels = json.ok(true); var selC = json.selImg.channels,