Closed davclark closed 8 years ago
There are three viewers:
Let's do a hands-on demo of all three at today's meeting?
Yes - sounds good !
@r03ert0, I think maybe I got confused about another viewer you showed us that first Thursday meeting. Do you recall what web app you pulled up where you click on a voxel and you get an ordered list of keywords?
That was the coactivation map viewer app. It's here:
https://github.com/r03ert0/CoactivationMap.app
There are 2 parts to it: the map and the viewer.
The map: is a precomputed, zip-compressed archive of co-activation 3D volumes: for each voxel in the brain there's a 3D volume with the number of papers that contain the seed and each brain voxel. In other words, if the seed voxel coords are x1, y1, z1, and the destination voxel coordinates are x2,y2,z2; the map is k=coincidences(x1,y1,z2,x2,y2,z2). Inside the zip-compressed archive there is also a sum.img file that contains the total number of papers that map each brain voxel. Using both maps it is possible to know, for each pair of voxels in the brain, a: the number of papers mapping the first voxel, b: the number of papers mapping the 2nd voxel and k: the number of papers mapping both. Using that information it's possible to compute many stats: correlation, LR, MI, etc. Also in the zip archive is a list of the top keywords associated to each seed voxel. To compute this list I took one by one all the tags in brainspell, and I made for each tag a map adding up all the coordinates in the papers that contained the tag. Next, for each seed voxel in the coactivation map I computed the correlation between its coactivation map and each of the tag maps. I sorted the tags by R^2 and selected the top
The viewer: a very simple, mac-only, viewer for the coactivation map. It shows a brain, lets the user click on the brain image, uncompresses the corresponding coactivation volume from the big zip archive, and computes a LR map (there's code to compute other stats, but for the moment the LR is hard wired). It also displays the list of tags associated to each coactivation volume as links. Clicking on a link launches brainspell, which displays all the papers containing the tag.
it shouldn't be hard to move the coactivation map viewer app to the web, and it would be very useful to be able to select papers by clicking on a brain map in addition to the text search that is actually implemented. The only issue would be the speed. Each individual map is not big, but how could we achieve the same fluidity as in the desktop viewer? Maybe instead of downloading the files one by one there could be a direct websocket communication between server and client? Maybe each volume can be further compressed by using a DCT? (I started to try this, and have code for a 3D discret cos. transform) Maybe there is a smart predictive scheme to incrementally load the volumes the user is most likely to query next given its current position? (for example, start downloading the volumes associated to seed voxels in the currently displayed brain slice; probably download only every other map and display an interpolated image during the time it takes to download the real data?) My ideal solution would be to compress the complete 6D map k(x1,y1,z1,x2,y2,z2) using a 6 dimensional DCT: the coactivation map is very smooth and regular, my guess is that the complete zip archive (2GB) could be easily compressed to a few MB, and the map could be downloaded progressively and refined.
all the best, roberto
On Sat, Oct 17, 2015 at 12:07 AM, Dav Clark notifications@github.com wrote:
@r03ert0 https://github.com/r03ert0, I think maybe I got confused about another viewer you showed us that first Thursday meeting. Do you recall what web app you pulled up where you click on a voxel and you get an ordered list of keywords?
— Reply to this email directly or view it on GitHub https://github.com/BIDS-collaborative/brainspell/issues/5#issuecomment-148847514 .
I hope my previous comment answers the question, I'll close the issue
@r03ert0 gave a demo of this, but I don't see how to access it. Is it a "private" feature?