Everything rendered in
brainrender is first used to create an instance of
Actor class. 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.
While a general
Actor class can be used to render any type of data that can be used to create a
vedo Mesh object, several specific
Actor classes are provided for more conveniently loading commonly used data types.
brainrender.actors.Neuron is used to render neurons morphology (e.g. downloaded with
morphapi or from a
brainrender.actors.Points is used to render anything that can be represented as a set of points (e.g. labelled cells from
Points can load data directly from a
.npy file or a numpy array of coordinates can be passed to it.
brainrender.actors.Streamlines is used to render streamlines tractography data. It expects the data as a
pandas DataFrame and can load data from a
brainrender.actors.Volume renders volumetric data (e.g. gene expression) from a numpy array or from a
Other actor classes like
Ruler can be used to render other types of data.
In all cases an
actor instance can be created by passing the data to be rendered to the dedicated
Actor class. For instance, to render the position of labelled cells, a Nx3 numpy array with the cells coordinates has to be passed to the
Points class to create an actor representing the cells' locations. Some actors can also load data directly from file.
While the provided
Actor classes 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.add method and pass to it the actors you would like to see added to your rendering.