def test_scene_slice(): s = Scene() s.add_brain_region("TH") s.slice("frontal") ret = s.slice("frontal",) assert ret is None s.slice("sagittal", close_actors=True) s = Scene() th = s.add_brain_region("TH") plane = s.atlas.get_plane(pos=[1999, 1312, 3421], norm=[1, -1, 2]) s.slice(plane, actors=th) ret = s.slice(plane, actors=[th, s.root],) s.render(interactive=False) del s
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()
# Explicitly initiliase a scene with the screenshot folder set # If the screenshot folder is not set, by default screenshots # Will save to the current working directory screenshot_folder = "./examples/screenshots" scene = Scene( title=f"Screenshots will be saved to {screenshot_folder}", inset=True, screenshots_folder=screenshot_folder, ) # Add some actors to the scene scene.add_brain_region("TH", alpha=0.2, silhouette=True, color=salmon) scene.add_brain_region("VISp", alpha=0.4, silhouette=False, color=[50, 2, 155]) scene.slice("sagittal") # Set up a camera. Can use string, such as "sagittal". # During render runtime, press "c" to print the current camera parameters. camera = { "pos": (8777, 1878, -44032), "viewup": (0, -1, 0), "clippingRange": (24852, 54844), "focalPoint": (7718, 4290, -3507), "distance": 40610, } zoom = 1.5 # If you only want a screenshot and don't want to move the camera # around the scene, set interactive to False. scene.render(interactive=False, camera=camera, zoom=zoom)
from brainrender import Scene from rich import print from myterial import orange from pathlib import Path print(f"[{orange}]Running example: {Path(__file__).name}") # Create a brainrender scene scene = Scene(title="slice") # Add brain regions th = scene.add_brain_region("TH") # You can specify color, transparency... mos, ca1 = scene.add_brain_region("MOs", "CA1", alpha=0.2, color="green") # Slice actors with frontal plane scene.slice("frontal", actors=[th]) # Slice with a custom plane plane = scene.atlas.get_plane(pos=mos.centerOfMass(), norm=(1, 1, 0)) scene.slice(plane, actors=[mos, ca1]) # Render! scene.render()
"clippingRange": (34734, 54273), "focalPoint": (7150, 3510, -5283), "distance": 42972, } # create scene scene = Scene(inset=INSET, screenshots_folder="paper/screenshots") scene.root._needs_silhouette = True scene.root._silhouette_kwargs["lw"] = 1 scene.root.alpha(0.5) # get streamlines data streams = get_streamlines_for_region("MOp") # add Streamlines actors s = scene.add(Streamlines(streams[0], color=streamlinescol, alpha=1)) # add brain regions th = scene.add_brain_region("TH", alpha=0.45, silhouette=False, color=blue_grey) # slice scene scene.slice("horizontal", actors=[scene.root]) # render scene.render(camera=cam, zoom=2) scene.screenshot(name="streamlines") scene.close()