From 0105cbfba809be4197fead37f12038fe5185ab86 Mon Sep 17 00:00:00 2001 From: Robert Gibboni Date: Thu, 14 Jan 2016 14:12:08 -0800 Subject: [PATCH] Can update brain data in viewer launched with webshow. client = cortex.webshow(data) returns client, a JSMixer object with a method addData, client.addData(data1=volume) will add that data to the viewer --- cortex/webgl/resources/js/mriview_utils.js | 5 +++++ cortex/webgl/view.py | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cortex/webgl/resources/js/mriview_utils.js b/cortex/webgl/resources/js/mriview_utils.js index 9df345700..f2d6a1c22 100644 --- a/cortex/webgl/resources/js/mriview_utils.js +++ b/cortex/webgl/resources/js/mriview_utils.js @@ -29,6 +29,11 @@ var mriview = (function(module) { module.MultiView.prototype = Object.create(jsplot.GridFigure.prototype); module.MultiView.prototype.constructor = module.MultiView; module.MultiView.prototype.addData = function(dataviews) { + + if (dataviews.images !== undefined) { + dataviews = dataset.fromJSON(dataviews) + } + var data = {}, subj, view; for (var i = 0; i < dataviews.length; i++) { view = dataviews[i]; diff --git a/cortex/webgl/view.py b/cortex/webgl/view.py index 83db638b9..d6aa31f1b 100644 --- a/cortex/webgl/view.py +++ b/cortex/webgl/view.py @@ -222,7 +222,7 @@ def show(data, types=("inflated",), recache=False, cmap='RdBu_r', layout=None, stims[sname] = view.attrs['stim'] package = Package(data) - metadata = json.dumps(package.metadata()) + metadata = package.metadata() images = package.images subjects = list(package.subjects) @@ -306,7 +306,7 @@ def get(self): else: dl = [] print(disp_layers+dl) - generated = html.generate(data=metadata, + generated = html.generate(data=json.dumps(metadata), colormaps=colormaps, default_cmap=cmap, python_interface=True, @@ -432,9 +432,10 @@ def get_view(self,subject,name): def addData(self, **kwargs): Proxy = serve.JSProxy(self.send, "window.viewers.addData") - new_meta, new_ims = _convert_dataset(Dataset(**kwargs), path='/data/', fmt='%s_%d.png') - metadata.update(new_meta) - images.update(new_ims) + data = dataset.Dataset(**kwargs) + package = Package(data) + metadata.update(package.metadata()) + images.update(package.images) return Proxy(metadata) # Would like this to be here instead of in setState, but did