{"action":"created","issue":{"url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/5450","repository_url":"https://api.github.com/repos/openmicroscopy/openmicroscopy","labels_url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/5450/labels{/name}","comments_url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/5450/comments","events_url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/5450/events","html_url":"https://github.com/openmicroscopy/openmicroscopy/pull/5450","id":251234522,"number":5450,"title":"Rendering engine bulk settings update","user":{"login":"chris-allan","id":487082,"avatar_url":"https://avatars1.githubusercontent.com/u/487082?v=4","gravatar_id":"","url":"https://api.github.com/users/chris-allan","html_url":"https://github.com/chris-allan","followers_url":"https://api.github.com/users/chris-allan/followers","following_url":"https://api.github.com/users/chris-allan/following{/other_user}","gists_url":"https://api.github.com/users/chris-allan/gists{/gist_id}","starred_url":"https://api.github.com/users/chris-allan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chris-allan/subscriptions","organizations_url":"https://api.github.com/users/chris-allan/orgs","repos_url":"https://api.github.com/users/chris-allan/repos","events_url":"https://api.github.com/users/chris-allan/events{/privacy}","received_events_url":"https://api.github.com/users/chris-allan/received_events","type":"User","site_admin":false},"labels":[{"id":12053304,"url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/labels/develop","name":"develop","color":"02e10c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2017-08-18T12:45:58Z","updated_at":"2017-08-25T08:22:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/pulls/5450","html_url":"https://github.com/openmicroscopy/openmicroscopy/pull/5450","diff_url":"https://github.com/openmicroscopy/openmicroscopy/pull/5450.diff","patch_url":"https://github.com/openmicroscopy/openmicroscopy/pull/5450.patch"},"body":"# What this PR does\r\n\r\nThe rendering engine was designed with stateful use in mind. Unfortunately, this means that many remote calls are required to establish initial state. When the rendering engine is used with stateless environments like OMERO.web these remote calls generate excessive overhead on each and every rendering operation.\r\n\r\nThe above is of particular importance when the number of channels is high (>10).\r\n\r\nThis PR allows the remote caller to update a series of settings by passing a single populated RenderingDef via one remote method invocation rather than making a large number of them to achieve the same result.\r\n\r\nDuring testing several performance related improvements were also made to linear quantization. `Math.pow()` is very expensive, especially when `k` is fractional. Attempts have been made to avoid it entirely when `k=1` and other similar situations where `x` is being raised to the power of `1`.\r\n\r\n# Testing this PR\r\n\r\n1. required setup\r\n\r\nOne or more imported images.\r\n\r\n2. actions to perform\r\n\r\nMake method calls both singularly and with the bulk `updateSettings()` and compare the results.\r\n\r\n3. expected observations\r\n\r\nIdentical behaviour to current methods.\r\n\r\n# Related reading\r\n\r\nN/A\r\n\r\n/cc @will-moore, @waxenegger, @dominikl "},"comment":{"url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/comments/324855221","html_url":"https://github.com/openmicroscopy/openmicroscopy/pull/5450#issuecomment-324855221","issue_url":"https://api.github.com/repos/openmicroscopy/openmicroscopy/issues/5450","id":324855221,"user":{"login":"joshmoore","id":88113,"avatar_url":"https://avatars2.githubusercontent.com/u/88113?v=4","gravatar_id":"","url":"https://api.github.com/users/joshmoore","html_url":"https://github.com/joshmoore","followers_url":"https://api.github.com/users/joshmoore/followers","following_url":"https://api.github.com/users/joshmoore/following{/other_user}","gists_url":"https://api.github.com/users/joshmoore/gists{/gist_id}","starred_url":"https://api.github.com/users/joshmoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshmoore/subscriptions","organizations_url":"https://api.github.com/users/joshmoore/orgs","repos_url":"https://api.github.com/users/joshmoore/repos","events_url":"https://api.github.com/users/joshmoore/events{/privacy}","received_events_url":"https://api.github.com/users/joshmoore/received_events","type":"User","site_admin":false},"created_at":"2017-08-25T08:22:51Z","updated_at":"2017-08-25T08:22:51Z","body":"> I have just noticed that the rendering engine is never closed in all the tests\r\n\r\n@jburel : perhaps try to first make the test fail on TearDown due to the rendering engine not being closed? That may be something to add to the base class."}}
{"actor":{"display_login":"joshmoore"}}