gallantlab / pycortex

Pycortex is a python-based toolkit for surface visualization of fMRI data
https://gallantlab.github.io/pycortex
BSD 2-Clause "Simplified" License
586 stars 137 forks source link

Major WebGL refactor #48

Closed jamesgao closed 6 years ago

jamesgao commented 10 years ago

I'm starting a major webview refactor right now. To give an overview of what will happen:

  1. Monolithic mriview.js file will be split into three components
  2. Dataset.js will now represent some volumetric data in space, regardless of the cut surface
  3. A new file mriview_surface.js will represent a surface visualization
  4. Additional volumetric slicing options will simply use options in dataset.js to display

This refactor will allow two important things:

  1. Simple integration into jsplot: mriview axes are now just standard threejs axes, with objects simply added to the scene. This will allow additional 3D plots in the same space as the brain
  2. Additional volumetric displays will be easier to implement, for example MIP and individual slice planes

Some additional points:

Some things I haven't worked out yet:

jamesgao commented 9 years ago

After more than a year on hiatus, I think this issue is just about ready to be closed. The new glrework branch has a completely redone UI interface making it fully extensible. Also, the overlay system has been completely reworked to allow custom styling, multiple display layers, and an improved label system (less blinky).

Some things left to do before it's merged in as master:

  1. Orthographic camera
  2. Better UI for the dataset and colormap selection
  3. Voxel line / sampling selection

Some wish list items:

  1. Multiview support
  2. Picking deferral (to send pick events to all objects in scene)
  3. Other volumetric displays -- I have some stub code in mriview_surface.js which I need to reimplement for slice planes, volume renderings, etc.
chrisgorgo commented 9 years ago

Are there any API changes I should look into?

On Thu, Jan 15, 2015 at 1:42 PM, James Gao notifications@github.com wrote:

After more than a year on hiatus, I think this issue is just about ready to be closed. The new glrework branch has a completely redone UI interface making it fully extensible. Also, the overlay system has been completely reworked to allow custom styling, multiple display layers, and an improved label system (less blinky).

Some things left to do before it's merged in as master:

  1. Orthographic camera
  2. Better UI for the dataset and colormap selection
  3. Voxel line / sampling selection

Some wish list items:

  1. Multiview support
  2. Picking deferral (to send pick events to all objects in scene)
  3. Other volumetric displays -- I have some stub code in mriview_surface.js which I need to reimplement for slice planes, volume renderings, etc.

— Reply to this email directly or view it on GitHub https://github.com/gallantlab/pycortex/issues/48#issuecomment-70167446.

jamesgao commented 9 years ago

No, there are no changes in the backend. Dataset objects still work the same way, only the generated pages look different. I'll give you a warning before I merge anything, so you can make sure your pipeline works correctly with the new code!

Oh, two new features I forgot to mention -- Oculus Rift and Leap Motion compatibility!

chrisgorgo commented 9 years ago

No. F**king. Way.

On Thu Jan 15 2015 at 2:31:19 PM James Gao notifications@github.com wrote:

No, there are no changes in the backend. Dataset objects still work the same way, only the generated pages look different. I'll give you a warning before I merge anything, so you can make sure your pipeline works correctly with the new code!

Oh, two new features I forgot to mention -- Oculus Rift and Leap Motion compatibility!

— Reply to this email directly or view it on GitHub https://github.com/gallantlab/pycortex/issues/48#issuecomment-70175145.