cornerstone
cornerstone copied to clipboard
[Layers API] Layer viewport on setLayerImage call not set, if no options are passed
On setLayerImage
call there is an if statement to check if layer.viewport
exists:
if (!layer.viewport) {
const defaultViewport = getDefaultViewport(enabledElement.canvas, image);
// Override the defaults if any optional viewport settings
// have been specified
if (layer.options && layer.options.viewport) {
layer.viewport = Object.assign(defaultViewport, layer.options.viewport);
}
if (baseLayer.layerId !== layerId) {
rescaleImage(baseLayer, layer);
}
}
So in code above, layer.viewport
is set only if layer has layer.options.viewport
otherwise, it leaves it undefined
.
This cause an error on next drawCompositeImage
execution, as it gets layers to render and requires viewport for calculations
@gohabereg, are you able to author a PR that addresses this issue?
Hi @dannyrb Sure, will do. It's enough to pass default viewport if it's not specified, isn't it?