コード例 #1
0
scene = Scene(inset=False, screenshots_folder="paper/screenshots", root=True)
scene.root._needs_silhouette = False
scene.root.alpha(0.5)

# add brain regions
pag = scene.add_brain_region("PAG", alpha=0.4, silhouette=False, color=pagcol)
scm = scene.add_brain_region("SCm", alpha=0.3, silhouette=False, color=scmcol)

# add neuron mesh
neuron = scene.add("paper/data/yulins_neuron.stl")
neuron.c(neuroncol)

# add sphere at soma location
soma_pos = [9350.51912036, 2344.33986638, 5311.18297796]
point = scene.add(Point(soma_pos, color=neuroncol, radius=25))
scene.add_silhouette(point, lw=1, color="k")
scene.add_silhouette(neuron, lw=1, color="k")

# slice scene repeatedly to cut out region of interest
p = [9700, 1, 800]
plane = scene.atlas.get_plane(pos=p, plane="frontal")
scene.slice(plane, actors=[scm, pag, scene.root])

p = [11010, 5000, 5705]
plane = scene.atlas.get_plane(pos=p, norm=[0, -1, 0])
scene.slice(plane, actors=[scene.root])

# render
scene.render(zoom=9, camera=cam)
scene.screenshot(name="single_neuron")
scene.close()
コード例 #2
0
# create scene and makes sure root has silhouette
scene = Scene(inset=INSET, screenshots_folder="paper/screenshots")
scene.root._needs_silhouette = True
scene.root._silhouette_kwargs["lw"] = 1

# add meshes from file
files = [
    "paper/data/CC_134_2_ch1inj.obj",
    "paper/data/CC_134_1_ch1inj.obj",
]
colors = [
    inj1col,
    inj2col,
]
injections = [scene.add(f, color=c) for f, c in zip(files, colors)]
scene.add_silhouette(*injections, lw=2)

# add brain regions
scm = scene.add_brain_region("SCm",
                             alpha=0.4,
                             silhouette=False,
                             color=blue_grey_darker)
pag = scene.add_brain_region("PAG",
                             alpha=0.3,
                             silhouette=False,
                             color=blue_grey)

# make brain region as wireframe
scm.wireframe()
pag.wireframe()
コード例 #3
0
from brainrender import Scene
from brainrender import settings
from brainrender.atlas_specific import GeneExpressionAPI

settings.SHOW_AXES = False

scene = Scene(inset=False)

gene = "Gpr161"
geapi = GeneExpressionAPI()
expids = geapi.get_gene_experiments(gene)
data = geapi.get_gene_data(gene, expids[1])

gene_actor = geapi.griddata_to_volume(data, min_quantile=99, cmap="inferno")
act = scene.add(gene_actor)

ca1 = scene.add_brain_region("CA1", alpha=0.2, color="skyblue")
ca3 = scene.add_brain_region("CA3", alpha=0.5, color="salmon")


scene.add_silhouette(act)

scene.render(zoom=1.6)
コード例 #4
0
print("[bold red]Running: ", Path(__file__).name)

# define camera parmeters
cam = {
    "pos": (5792, 431, 36893),
    "viewup": (0, -1, 0),
    "clippingRange": (39051, 53300),
    "focalPoint": (5865, 4291, -8254),
    "distance": 45311,
}

# make scene
scene = Scene(inset=INSET, screenshots_folder="paper/screenshots")
scene.add_brain_region("TH", alpha=0.2, silhouette=False, color=thcol)

# load cell coordinates and add as a Points actor
coords = np.load("paper/data/cell-detect-paper-cells.npy")
cells = scene.add(Points(coords, radius=30, colors=salmon))

# add a silhouette around the cells
scene.add_silhouette(cells, lw=1)

# slice scene with a sagittal plane
scene.slice("sagittal")

# render and save screenshotq
scene.render(interactive=True, camera="sagittal", zoom=2.6)
scene.screenshot(name="cellfinder_cells")
scene.close()
コード例 #5
0
    screenshots_folder="paper/screenshots",
    atlas_name="mpin_zfish_1um",
)
scene.root.alpha(0.2)

# get neurons data
api = MpinMorphologyAPI()
neurons_ids = api.get_neurons_by_structure(837)
neurons = api.load_neurons(neurons_ids)

# create neurons meshes
neurons = [
    neuron.create_mesh(soma_radius=0.75, neurite_radius=1)
    for neuron in neurons
][:N]

# color neurons parts and add to scene
for (neu_dict, neu) in track(neurons, total=N):
    col = choice((c1, c2))
    neuron = scene.add(neu_dict["axon"], alpha=1, color=col)

    soma = scene.add(
        Point(neu_dict["soma"].centerOfMass(), color=col, radius=8, alpha=1)
    )
    scene.add_silhouette(soma)

# render
scene.render(zoom=1.7, camera=cam)
scene.screenshot(name="zfish_neurons")
scene.close()
コード例 #6
0
k = int(len(probes_locs) / 374.0)
for i in range(k):
    points = probes_locs[i * 374:(i + 1) * 374]

    color = "#adadac"
    alpha = 1
    LW = 1

    spheres = Points(
        points[["ccf_ap", "ccf_dv", "ccf_lr"]].values,
        colors=color,
        alpha=alpha,
        radius=30,
    )
    spheres = scene.add(spheres, names="probe")
    scene.add_silhouette(spheres, lw=LW)

# --------------------------------- Animation -------------------------------- #
anim = Animation(scene, "videos", "probes", size=None)
fps = 30

anim.add_keyframe(
    0,
    duration=7,
    callback=spiker,
    zoom=1.9,
    cam1=cameras["three_quarters"],
    cam2=cam0,
    end=int(fps * 7),
    prev=0,
)
コード例 #7
0
    "viewup": (1, -1, -1),
    "clippingRange": (1773, 4018),
    "focalPoint": (478, 210, -296),
    "distance": 2759,
}

# load cluster data and get cell coordinates
cluster_data = h5py.File("paper/data/zfish_rois_clusters.h5", "r")
cluster_ids = cluster_data["cluster_ids"][:]
roi_coords = cluster_data["coords"][:]

# create scene
scene = Scene(
    inset=INSET,
    screenshots_folder="paper/screenshots",
    atlas_name="mpin_zfish_1um",
)

# add cells colored by cluster
colors = [c1, c2, c3]
for i, col in enumerate(colors):
    rois_in_cluster = roi_coords[cluster_ids == i, :]
    coords = pd.DataFrame(rois_in_cluster, columns=["x", "y", "z"]).values

    pts = scene.add(Points(coords, colors=col, radius=2, alpha=1))
    scene.add_silhouette(pts, lw=1)

# render
scene.render(camera=cam, zoom=2.5)
scene.screenshot(name="zfish_functional_clusters")
コード例 #8
0
ファイル: probes.py プロジェクト: deepakasaragod/BrainRender
            alpha = 1
            sil = 0.5
        else:
            continue

        # render channels as points
        spheres = Points(
            points[["ccf_ap", "ccf_dv", "ccf_lr"]].values,
            colors=color,
            alpha=alpha,
            radius=30,
        )
        spheres = scene.add(spheres)

        if SILHOUETTE and sil:
            scene.add_silhouette(spheres, lw=sil)

# Add brain regions
visp, lgd = scene.add_brain_region(
    "VISp",
    "LGd",
    hemisphere="right",
    alpha=0.3,
    silhouette=False,
    color=blue_grey_dark,
)
visa = scene.add_brain_region(
    "VISa",
    hemisphere="right",
    alpha=0.2,
    silhouette=False,