From 199418bc243cda5ed57522a30b9435e7169cfa63 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 7 Jan 2021 10:30:06 -0500 Subject: [PATCH 1/4] avoid name conflicts between fastImage and fast zsmooth --- src/traces/image/plot.js | 10 +++++----- test/jasmine/tests/image_test.js | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/traces/image/plot.js b/src/traces/image/plot.js index 4c35540e5a6..6c3c9c7551f 100644 --- a/src/traces/image/plot.js +++ b/src/traces/image/plot.js @@ -26,8 +26,8 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { var plotGroup = d3.select(this); var cd0 = cd[0]; var trace = cd0.trace; - var fastImage = supportsPixelatedImage && !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear'; - trace._fastImage = fastImage; + var realImage = supportsPixelatedImage && !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear'; + trace._realImage = realImage; var z = cd0.z; var x0 = cd0.x0; @@ -73,7 +73,7 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { } // Reduce image size when zoomed in to save memory - if(!fastImage) { + if(!realImage) { var extra = 0.5; // half the axis size left = Math.max(-extra * xa._length, left); right = Math.min((1 + extra) * xa._length, right); @@ -138,7 +138,7 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { var style = (trace.zsmooth === false) ? constants.pixelatedStyle : ''; - if(fastImage) { + if(realImage) { var xRange = Lib.simpleMap(xa.range, xa.r2l); var yRange = Lib.simpleMap(ya.range, ya.r2l); @@ -194,7 +194,7 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { canvas = drawMagnifiedPixelsOnCanvas(function(i, j) {return z[j][i];}); href = canvas.toDataURL('image/png'); } else if(trace._hasSource) { - if(fastImage) { + if(realImage) { href = trace.source; } else { var context = trace._canvas.el.getContext('2d'); diff --git a/test/jasmine/tests/image_test.js b/test/jasmine/tests/image_test.js index 5058443d91e..6bc780f47d6 100644 --- a/test/jasmine/tests/image_test.js +++ b/test/jasmine/tests/image_test.js @@ -410,7 +410,7 @@ describe('image plot', function() { var mockCopy = Lib.extendDeep({}, mock); Plotly.newPlot(gd, mockCopy) .then(function(gd) { - expect(gd.calcdata[0][0].trace._fastImage).toBeTruthy(); + expect(gd.calcdata[0][0].trace._realImage).toBeTruthy(); }) .then(done, done.fail); }); @@ -424,11 +424,11 @@ describe('image plot', function() { var mockCopy = Lib.extendDeep({}, mock); Plotly.newPlot(gd, mockCopy) .then(function(gd) { - expect(gd.calcdata[0][0].trace._fastImage).toBe(true); + expect(gd.calcdata[0][0].trace._realImage).toBe(true); return Plotly.relayout(gd, attr[0], attr[1]); }) .then(function(gd) { - expect(gd.calcdata[0][0].trace._fastImage).toBe(false, 'when ' + attr[0] + ' is ' + attr[1]); + expect(gd.calcdata[0][0].trace._realImage).toBe(false, 'when ' + attr[0] + ' is ' + attr[1]); }) .then(done, done.fail); }); From 8743c6a5df38d7e42693da39b1ebf1eb67e4ca69 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 7 Jan 2021 10:36:40 -0500 Subject: [PATCH 2/4] fixup download image when zsmooth is set to fast --- src/traces/image/plot.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/traces/image/plot.js b/src/traces/image/plot.js index 6c3c9c7551f..8094ee5124b 100644 --- a/src/traces/image/plot.js +++ b/src/traces/image/plot.js @@ -26,7 +26,9 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { var plotGroup = d3.select(this); var cd0 = cd[0]; var trace = cd0.trace; - var realImage = supportsPixelatedImage && !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear'; + var realImage = trace.zsmooth === 'fast' || ( + supportsPixelatedImage && !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear' + ); trace._realImage = realImage; var z = cd0.z; From 03b9ef309cb0001d781c1b512a03a71059a2be14 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 7 Jan 2021 14:59:57 -0500 Subject: [PATCH 3/4] add image test for image trace with zsmooth --- .../image_source_axis_reverse_zsmooth.png | Bin 0 -> 96187 bytes .../image_source_axis_reverse_zsmooth.json | 64 ++++++++++++++++++ test/jasmine/tests/mock_test.js | 2 + 3 files changed, 66 insertions(+) create mode 100644 test/image/baselines/image_source_axis_reverse_zsmooth.png create mode 100644 test/image/mocks/image_source_axis_reverse_zsmooth.json diff --git a/test/image/baselines/image_source_axis_reverse_zsmooth.png b/test/image/baselines/image_source_axis_reverse_zsmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..65e806416316d84d7478efcacb63e87bc6528cef GIT binary patch literal 96187 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≦Ovf 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/image_source_axis_reverse_zsmooth.json b/test/image/mocks/image_source_axis_reverse_zsmooth.json new file mode 100644 index 00000000000..e4b69c3dc33 --- /dev/null +++ b/test/image/mocks/image_source_axis_reverse_zsmooth.json @@ -0,0 +1,64 @@ +{ + "data": [ + { + "zsmooth": "fast", + "colormodel": "rgba", + "type": "image", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAlCAYAAAAA7LqSAAADmklEQVR4nO2XUWhTVxjHfyfdmKMN1oelK9QSLUVY2RWHrEKtLw66KQX30Ifpg0qxz31wb8O0UNjL1I3h09iDAy000D0Z0DJhEdslBXN7SwZBJmmbErKwNuU2UXDes4d4r700bib33KflD+Ge8+We78sv3/fdcy401VRTTTXVVFMIvxwnEhG5c97fP+lbLPARZHz8qBwY+AAA0zTp69MA/4B8cTo+flRq2n4MY42dMMFgEICRkZ+Uxw2odgigafudq2majn3nWLV8ATGMNdf44cPfd9lVyxeQwcF3MIw1gsEgY2OLzM9fYmDgPebnLzlQquVLj1y//pFcWan+R1eujLm+KxYTHDr0o/K4b6l2GI2efPnY3eTUqSMUiwmgBQDD+ANNC6sOCSgurUxmVAKUSpfp6tpHLJYiFksBL4AXaFr45Vy9lGUkkxmVhpEll9ukra1q6+raB+D68d3d76oK6ZKSjGQyozIWS5HLbVIujwCQyz0jHL4LVIHsT3f3r0xNfS3/zV8jUlpaNsT6eoS2tq/Q9TnSaZOZmRAzMyFKpcvo+hz5fEE5jGcQOxt2GeXzBQC2t6fY3p5y3bu+HnFsqmE8gdh9AThlZGtr67kzDoU6CIU6nPnGxioXLnzD0NCXLC7+rQTGE4jd3MePJ9H1OQBu3PjW2SO2tp6TTvfQ2dnhWjc9PSvs++2rVyl7aun6XTY2Vl22dLqHw4erp97Ozg6WlnqIRqfFqzVqIMADiL3x7cyGrb1733bGds8ArvK6f/+HRkPXVMNHhWj0pMzlNkkmw46tvT1NofAUTXtfPnnyrKbvgwf3yImJpPIznufSOns2C8Dt22EKhafMzq6KfL7XKpfZ1cStrUEeP/YasbY8Hd6KxS/kvXvfkc3eQdO+Z3j4kTh27BMrELCoVCpYlvUqkBBIKWltrb5cLSz8ojQrnpzZEOHwaYaHHwkAISSVSgWAlpYWDCMZMIxkwLIshBAIoXxTBzyA3Lr1p8xm7zA4+DnnzoUEwNWrnzkpEEKQSi04/peXFwMA5XKZoSGT8+c/tHZ7bVwNgcTjJQfixIl2AXDt2qeWlILe3iKAC8LW0lIicOZMdXzggNrDY90g8XhJPnjwswsCqiVlmn8hhETXf3ut38nJhC9vpXU5fR2ErWy2ws2by//pc2WlXE/YN9Ibg9gQ4fDpmhCgvlx8UTxekvF4qeYjJxLptyYmPq6reS9e7Kt7zf9C/wDLc4opp/2WUgAAAABJRU5ErkJggg==" + }, + { + "zsmooth": "fast", + "colormodel": "rgba", + "type": "image", + "xaxis": "x2", + "yaxis": "y2", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAlCAYAAAAA7LqSAAADmklEQVR4nO2XUWhTVxjHfyfdmKMN1oelK9QSLUVY2RWHrEKtLw66KQX30Ifpg0qxz31wb8O0UNjL1I3h09iDAy000D0Z0DJhEdslBXN7SwZBJmmbErKwNuU2UXDes4d4r700bib33KflD+Ge8+We78sv3/fdcy401VRTTTXVVFMIvxwnEhG5c97fP+lbLPARZHz8qBwY+AAA0zTp69MA/4B8cTo+flRq2n4MY42dMMFgEICRkZ+Uxw2odgigafudq2majn3nWLV8ATGMNdf44cPfd9lVyxeQwcF3MIw1gsEgY2OLzM9fYmDgPebnLzlQquVLj1y//pFcWan+R1eujLm+KxYTHDr0o/K4b6l2GI2efPnY3eTUqSMUiwmgBQDD+ANNC6sOCSgurUxmVAKUSpfp6tpHLJYiFksBL4AXaFr45Vy9lGUkkxmVhpEll9ukra1q6+raB+D68d3d76oK6ZKSjGQyozIWS5HLbVIujwCQyz0jHL4LVIHsT3f3r0xNfS3/zV8jUlpaNsT6eoS2tq/Q9TnSaZOZmRAzMyFKpcvo+hz5fEE5jGcQOxt2GeXzBQC2t6fY3p5y3bu+HnFsqmE8gdh9AThlZGtr67kzDoU6CIU6nPnGxioXLnzD0NCXLC7+rQTGE4jd3MePJ9H1OQBu3PjW2SO2tp6TTvfQ2dnhWjc9PSvs++2rVyl7aun6XTY2Vl22dLqHw4erp97Ozg6WlnqIRqfFqzVqIMADiL3x7cyGrb1733bGds8ArvK6f/+HRkPXVMNHhWj0pMzlNkkmw46tvT1NofAUTXtfPnnyrKbvgwf3yImJpPIznufSOns2C8Dt22EKhafMzq6KfL7XKpfZ1cStrUEeP/YasbY8Hd6KxS/kvXvfkc3eQdO+Z3j4kTh27BMrELCoVCpYlvUqkBBIKWltrb5cLSz8ojQrnpzZEOHwaYaHHwkAISSVSgWAlpYWDCMZMIxkwLIshBAIoXxTBzyA3Lr1p8xm7zA4+DnnzoUEwNWrnzkpEEKQSi04/peXFwMA5XKZoSGT8+c/tHZ7bVwNgcTjJQfixIl2AXDt2qeWlILe3iKAC8LW0lIicOZMdXzggNrDY90g8XhJPnjwswsCqiVlmn8hhETXf3ut38nJhC9vpXU5fR2ErWy2ws2by//pc2WlXE/YN9Ibg9gQ4fDpmhCgvlx8UTxekvF4qeYjJxLptyYmPq6reS9e7Kt7zf9C/wDLc4opp/2WUgAAAABJRU5ErkJggg==" + }, + { + "zsmooth": "fast", + "colormodel": "rgba", + "type": "image", + "xaxis": "x3", + "yaxis": "y3", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAlCAYAAAAA7LqSAAADmklEQVR4nO2XUWhTVxjHfyfdmKMN1oelK9QSLUVY2RWHrEKtLw66KQX30Ifpg0qxz31wb8O0UNjL1I3h09iDAy000D0Z0DJhEdslBXN7SwZBJmmbErKwNuU2UXDes4d4r700bib33KflD+Ge8+We78sv3/fdcy401VRTTTXVVFMIvxwnEhG5c97fP+lbLPARZHz8qBwY+AAA0zTp69MA/4B8cTo+flRq2n4MY42dMMFgEICRkZ+Uxw2odgigafudq2majn3nWLV8ATGMNdf44cPfd9lVyxeQwcF3MIw1gsEgY2OLzM9fYmDgPebnLzlQquVLj1y//pFcWan+R1eujLm+KxYTHDr0o/K4b6l2GI2efPnY3eTUqSMUiwmgBQDD+ANNC6sOCSgurUxmVAKUSpfp6tpHLJYiFksBL4AXaFr45Vy9lGUkkxmVhpEll9ukra1q6+raB+D68d3d76oK6ZKSjGQyozIWS5HLbVIujwCQyz0jHL4LVIHsT3f3r0xNfS3/zV8jUlpaNsT6eoS2tq/Q9TnSaZOZmRAzMyFKpcvo+hz5fEE5jGcQOxt2GeXzBQC2t6fY3p5y3bu+HnFsqmE8gdh9AThlZGtr67kzDoU6CIU6nPnGxioXLnzD0NCXLC7+rQTGE4jd3MePJ9H1OQBu3PjW2SO2tp6TTvfQ2dnhWjc9PSvs++2rVyl7aun6XTY2Vl22dLqHw4erp97Ozg6WlnqIRqfFqzVqIMADiL3x7cyGrb1733bGds8ArvK6f/+HRkPXVMNHhWj0pMzlNkkmw46tvT1NofAUTXtfPnnyrKbvgwf3yImJpPIznufSOns2C8Dt22EKhafMzq6KfL7XKpfZ1cStrUEeP/YasbY8Hd6KxS/kvXvfkc3eQdO+Z3j4kTh27BMrELCoVCpYlvUqkBBIKWltrb5cLSz8ojQrnpzZEOHwaYaHHwkAISSVSgWAlpYWDCMZMIxkwLIshBAIoXxTBzyA3Lr1p8xm7zA4+DnnzoUEwNWrnzkpEEKQSi04/peXFwMA5XKZoSGT8+c/tHZ7bVwNgcTjJQfixIl2AXDt2qeWlILe3iKAC8LW0lIicOZMdXzggNrDY90g8XhJPnjwswsCqiVlmn8hhETXf3ut38nJhC9vpXU5fR2ErWy2ws2by//pc2WlXE/YN9Ibg9gQ4fDpmhCgvlx8UTxekvF4qeYjJxLptyYmPq6reS9e7Kt7zf9C/wDLc4opp/2WUgAAAABJRU5ErkJggg==" + }, + { + "zsmooth": "fast", + "colormodel": "rgba", + "type": "image", + "xaxis": "x4", + "yaxis": "y4", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAlCAYAAAAA7LqSAAADmklEQVR4nO2XUWhTVxjHfyfdmKMN1oelK9QSLUVY2RWHrEKtLw66KQX30Ifpg0qxz31wb8O0UNjL1I3h09iDAy000D0Z0DJhEdslBXN7SwZBJmmbErKwNuU2UXDes4d4r700bib33KflD+Ge8+We78sv3/fdcy401VRTTTXVVFMIvxwnEhG5c97fP+lbLPARZHz8qBwY+AAA0zTp69MA/4B8cTo+flRq2n4MY42dMMFgEICRkZ+Uxw2odgigafudq2majn3nWLV8ATGMNdf44cPfd9lVyxeQwcF3MIw1gsEgY2OLzM9fYmDgPebnLzlQquVLj1y//pFcWan+R1eujLm+KxYTHDr0o/K4b6l2GI2efPnY3eTUqSMUiwmgBQDD+ANNC6sOCSgurUxmVAKUSpfp6tpHLJYiFksBL4AXaFr45Vy9lGUkkxmVhpEll9ukra1q6+raB+D68d3d76oK6ZKSjGQyozIWS5HLbVIujwCQyz0jHL4LVIHsT3f3r0xNfS3/zV8jUlpaNsT6eoS2tq/Q9TnSaZOZmRAzMyFKpcvo+hz5fEE5jGcQOxt2GeXzBQC2t6fY3p5y3bu+HnFsqmE8gdh9AThlZGtr67kzDoU6CIU6nPnGxioXLnzD0NCXLC7+rQTGE4jd3MePJ9H1OQBu3PjW2SO2tp6TTvfQ2dnhWjc9PSvs++2rVyl7aun6XTY2Vl22dLqHw4erp97Ozg6WlnqIRqfFqzVqIMADiL3x7cyGrb1733bGds8ArvK6f/+HRkPXVMNHhWj0pMzlNkkmw46tvT1NofAUTXtfPnnyrKbvgwf3yImJpPIznufSOns2C8Dt22EKhafMzq6KfL7XKpfZ1cStrUEeP/YasbY8Hd6KxS/kvXvfkc3eQdO+Z3j4kTh27BMrELCoVCpYlvUqkBBIKWltrb5cLSz8ojQrnpzZEOHwaYaHHwkAISSVSgWAlpYWDCMZMIxkwLIshBAIoXxTBzyA3Lr1p8xm7zA4+DnnzoUEwNWrnzkpEEKQSi04/peXFwMA5XKZoSGT8+c/tHZ7bVwNgcTjJQfixIl2AXDt2qeWlILe3iKAC8LW0lIicOZMdXzggNrDY90g8XhJPnjwswsCqiVlmn8hhETXf3ut38nJhC9vpXU5fR2ErWy2ws2by//pc2WlXE/YN9Ibg9gQ4fDpmhCgvlx8UTxekvF4qeYjJxLptyYmPq6reS9e7Kt7zf9C/wDLc4opp/2WUgAAAABJRU5ErkJggg==" + } + ], + "layout": { + "grid": { + "rows": 2, + "columns": 2, + "pattern": "independent" + }, + "width": 600, + "height": 600, + "margin": { + "t": 35, + "l": 35, + "b": 35, + "r": 35 + }, + "xaxis2": { + "autorange": "reversed" + }, + "yaxis3": { + "range": [ + "8", + "32" + ] + }, + "yaxis4": { + "autorange": true + }, + "xaxis4": { + "autorange": "reversed" + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index 3749ed5429e..2b41dcf51f2 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -655,6 +655,7 @@ var list = [ 'image_non_numeric', 'image_opacity', 'image_source_axis_reverse', + 'image_source_axis_reverse_zsmooth', 'image_with_gaps', 'image_with_heatmap', 'image_zmin_zmax', @@ -1746,6 +1747,7 @@ figs['image_colormodel'] = require('@mocks/image_colormodel'); figs['image_non_numeric'] = require('@mocks/image_non_numeric'); figs['image_opacity'] = require('@mocks/image_opacity'); figs['image_source_axis_reverse'] = require('@mocks/image_source_axis_reverse'); +figs['image_source_axis_reverse_zsmooth'] = require('@mocks/image_source_axis_reverse_zsmooth'); figs['image_with_gaps'] = require('@mocks/image_with_gaps'); figs['image_with_heatmap'] = require('@mocks/image_with_heatmap'); figs['image_zmin_zmax'] = require('@mocks/image_zmin_zmax'); From f83e2876fbc82b1e0fe8b7c1fe01165592e83d1b Mon Sep 17 00:00:00 2001 From: Antoine Roy-Gobeil Date: Mon, 11 Jan 2021 17:22:50 -0500 Subject: [PATCH 4/4] When image's zsmooth is 'fast', only use a real image if it has source --- src/traces/image/plot.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/traces/image/plot.js b/src/traces/image/plot.js index 8094ee5124b..45cca6ef363 100644 --- a/src/traces/image/plot.js +++ b/src/traces/image/plot.js @@ -26,8 +26,9 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) { var plotGroup = d3.select(this); var cd0 = cd[0]; var trace = cd0.trace; - var realImage = trace.zsmooth === 'fast' || ( - supportsPixelatedImage && !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear' + var realImage = ( + ((trace.zsmooth === 'fast') || (trace.zsmooth === false && supportsPixelatedImage)) && + !trace._hasZ && trace._hasSource && xa.type === 'linear' && ya.type === 'linear' ); trace._realImage = realImage;