Everything rendered in
brainrenderis first used to create an instance of
Actorclass. This class handles the 3D mesh data for the object to be rendered and provides a few useful methods for the behind-the-scenes work necessary to render your data.
Before rendering data in brainrender you should ensure that they are registered to a reference atlas. Check how to use your data in brainrender.
While a general
Actorclass can be used to render any type of data that can be used to create a
vedo Meshobject, several specific
Actorclasses are provided for more conveniently loading commonly used data types.
brainrender.actors.Neuronis used to render neurons morphology (e.g. downloaded with
morphapior from a
brainrender.actors.Pointsis used to render anything that can be represented as a set of points (e.g. labelled cells from
Pointscan load data directly from a
.npyfile or a numpy array of coordinates can be passed to it.
brainrender.actors.Streamlinesis used to render streamlines tractography data. It expects the data as a
pandas DataFrameand can load data from a
brainrender.actors.Volumerenders volumetric data (e.g. gene expression) from a numpy array or from a
- Other actor classes like
Rulercan be used to render other types of data.
In all cases an
actorinstance can be created by passing the data to be rendered to the dedicated
Actorclass. For instance, to render the position of labelled cells, a Nx3 numpy array with the cells coordinates has to be passed to the
Pointsclass to create an actor representing the cells' locations. Some actors can also load data directly from file.
Some types of actors (e.g.
Neuron)are generally used to visualize several instances of the same neuron at once. For these actors we also provide helper functions that facilitate the generation of multiple instances of the same actor class.
While the provided
Actorclasses should support the vast majority of users' needs, occasionally you might need to render an unsupported type of data: read here to learn how.
Rendering actors is as simple as can be: just use the
Scene.addmethod and pass to it the actors you would like to see added to your rendering.