Example rendering data over surface#

[1]:
%%capture

import matplotlib.pyplot as plt

from cerebro import cerebro_brain_utils as cbu
from cerebro import cerebro_brain_viewer as cbv

my_brain_viewer = cbv.Cerebro_brain_viewer(
    offscreen=True,
    background_color=(1, 1, 1, 0),
    null_color=(0.9, 0.9, 0.9, 0.5),
    no_color=(0.6, 0.6, 0.6, 0.1),
)

# render a surface
surface = "pial"
surface_model = my_brain_viewer.load_template_GIFTI_cortical_surface_models(
    surface
)

cifti_space = my_brain_viewer.visualize_cifti_space(
    volumetric_structures="all", volume_rendering="spheres_peeled"
)

# render data over surface
dscalar_file = cbu.get_data_file(
    f"templates/HCP/dscalars/hcp.gradients.dscalar.nii"
)
dscalar_layer = my_brain_viewer.add_cifti_dscalar_layer(
    dscalar_file=dscalar_file, colormap=plt.cm.Greys
)

# render data over surface
dscalar_file2 = cbu.get_data_file(
    f"templates/HCP/dscalars/S1200.curvature_MSMAll.32k_fs_LR.dscalar.nii"
)
dscalar_layer2 = my_brain_viewer.add_cifti_dscalar_layer(
    dscalar_file=dscalar_file2, opacity=0.5
)
Jupyter environment detected. Enabling Open3D WebVisualizer.
[Open3D INFO] WebRTC GUI backend enabled.
[Open3D INFO] WebRTCWindowSystem: HTTP handshake server disabled.
Known pipe types:
  glxGraphicsPipe
(4 aux display modules not yet loaded.)
Xlib:  extension "XFree86-DGA" missing on display ":0".
pixdim[1,2,3] should be non-zero; setting 0 dims to 1
[2]:
# Make the render in a separate cell to capture image for gallery

fig, ax = plt.subplots(figsize=(10, 10))
ax.axis("off")
my_brain_viewer.offscreen_draw_to_matplotlib_axes(ax)
../../_images/notebook_examples_notebook_example_2_0.png