Skip to content

Commit f5b15a2

Browse files
authored
Merge pull request #541 from will-moore/tile_request_active_channels_only
Only add channel to tile request string if active
2 parents 3c4c747 + 865e56b commit f5b15a2

1 file changed

Lines changed: 31 additions & 28 deletions

File tree

src/viewers/viewer/source/Image.js

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -280,45 +280,48 @@ const OmeroImage = function(options) {
280280

281281
// maps parameter (incl. inverted)
282282
var maps = [];
283-
// add channel param
284-
url += 'c=';
283+
var channels = [];
284+
285285
var channelsLength = this.channels_info_.length;
286286
for (var c=0; c<channelsLength;c++) {
287+
let ch = "";
287288
var channelInfo = this.channels_info_[c];
288-
if (c != 0) url += ',';
289+
290+
// We ONLY include active channels in URL parameters to reduce query length
291+
if (!channelInfo['active']) continue;
289292

290293
// amend url with channel info
291-
url += (!channelInfo['active'] ? "-" : "") + (c + 1);
292-
url += "|" + channelInfo['start'] + ":" + channelInfo['end'];
293-
url += "$" + channelInfo['color']; // color info
294+
ch += (!channelInfo['active'] ? "-" : "") + (c + 1);
295+
ch += "|" + channelInfo['start'] + ":" + channelInfo['end'];
296+
ch += "$" + channelInfo['color']; // color info
294297

295298
var m = {};
296-
if (channelInfo['active']) {
297-
m["inverted"] = { "enabled" :
298-
typeof channelInfo['inverted'] === 'boolean' &&
299-
channelInfo['inverted']
300-
}
299+
m["inverted"] = { "enabled" :
300+
typeof channelInfo['inverted'] === 'boolean' &&
301+
channelInfo['inverted']
302+
}
301303

302-
// Only need to include family if different from default
303-
var family = channelInfo['family'];
304-
var family_not_default = (family !== "linear" ||
305-
(family === "linear" && this.saved_channels_info_[c]["family"] !== "linear"));
306-
if (typeof family === 'string' &&
307-
family !== "" &&
308-
family_not_default &&
309-
typeof channelInfo['coefficient'] === 'number' &&
310-
!isNaN(channelInfo['coefficient'])) {
311-
m["quantization"] = {
312-
"family": family,
313-
};
314-
// Only need coefficient if family is not 'linear' or 'logarithmic'
315-
if (family !== 'linear' && family !== 'logarithmic') {
316-
m["quantization"]["coefficient"] = channelInfo['coefficient'];
317-
}
318-
}
304+
// Only need to include family if different from default
305+
var family = channelInfo['family'];
306+
var family_not_default = (family !== "linear" ||
307+
(family === "linear" && this.saved_channels_info_[c]["family"] !== "linear"));
308+
if (typeof family === 'string' &&
309+
family !== "" &&
310+
family_not_default &&
311+
typeof channelInfo['coefficient'] === 'number' &&
312+
!isNaN(channelInfo['coefficient'])) {
313+
m["quantization"] = {
314+
"family": family,
315+
};
316+
// Only need coefficient if family is not 'linear' or 'logarithmic'
317+
if (family !== 'linear' && family !== 'logarithmic') {
318+
m["quantization"]["coefficient"] = channelInfo['coefficient'];
319+
}
319320
}
321+
channels.push(ch);
320322
maps.push(m);
321323
}
324+
url += "c=" + channels.join(",");
322325
url += "&maps=" + JSON.stringify(maps);
323326
url += '&m=' + this.image_model_;
324327
url += '&p=' + this.image_projection_;

0 commit comments

Comments
 (0)