morph_tool.plot.morphology¶
Module for drawing morphologies with synapses.
Functions
|
Draw morphology with synapses. |
- morph_tool.plot.morphology.draw(morphology, synapses)¶
Draw morphology with synapses.
- Parameters:
morphology (Neuron) – a Neuron instance of NeuroM package.
synapses (DataFrame) – synapses dataframe. It is required to have columns from
morph_tool.plot.consts
. See an example for details.
- Returns:
plotly figure
- Return type:
plotly.graph_objects.Figure
- Afferent only synapses example
def example_afferent(): m = nm.load_morphology('dendrogram_plain_example.swc') data = np.array([ [4, 0, 0.81408846, 'additional value'], [6, 2, 0.545983203, 'additional value'], [1, 0, 0.4290702, 'additional value'], ]) columns = [consts.POST_SECTION_ID, consts.POST_SEGMENT_ID, consts.POST_SEGMENT_OFFSET, 'additional_data'] synapses = pd.DataFrame(data, columns=columns) fig = morphology.draw(m, synapses) fig.show()
- Afferent and efferent synapses example
def example_afferent_efferent(): m = nm.load_morphology('dendrogram_plain_example.swc') data = np.array([ [4, 0, 0.81408846, np.nan, np.nan, np.nan], [6, 2, 0.145983203, np.nan, np.nan, np.nan], [np.nan, np.nan, np.nan, 1, 0, 0.4290702], [np.nan, np.nan, np.nan, 1, 0, 0.29180855], [np.nan, np.nan, np.nan, 1, 0, 0.68261607], ]) columns = [consts.POST_SECTION_ID, consts.POST_SEGMENT_ID, consts.POST_SEGMENT_OFFSET, consts.PRE_SECTION_ID, consts.PRE_SEGMENT_ID, consts.PRE_SEGMENT_OFFSET] synapses = pd.DataFrame(data, columns=columns) fig = morphology.draw(m, synapses) fig.show()
- Circuit synapses example
def circuit_example(): """Example that shows how to plot a morphology with synapses from a Sonata circuit. To make this example work, you would need a proper SONATA circuit. """ from bluepysnap import Circuit from bluepysnap.bbp import Synapse circuit = Circuit('/path/to/sonata_circuit_config.json') edge_properties = [ 'afferent_section_id', 'afferent_segment_id', 'afferent_segment_offset', Synapse.U_SYN, Synapse.D_SYN, Synapse.F_SYN, Synapse.G_SYNX, ] morph_id = 110 synapses = circuit.edges['default'].afferent_edges(morph_id, edge_properties) morph_filepath = circuit.nodes['All'].morph.get_filepath(morph_id) m = nm.load_morphology(morph_filepath) fig = morphology.draw(m, synapses) fig.show()