.. SPDX-FileCopyrightText: 2015-2023 Tanguy Fardet SPDX-License-Identifier: CC-BY-SA-4.0 doc/modules/nngt/graph-classes.rst.in Graph classes ============= NNGT provides four main graph classes that provide specific features to work as conveniently as possible with different object types: topological versus space-embedded graphs or neuronal networks. .. autosummary:: nngt.Graph nngt.SpatialGraph nngt.Network nngt.SpatialNetwork A summary of the methods provided by these classes as well as more detailed descriptions are provided below. Unless specified, child classes can use all methods from the parent class (the only exception is :meth:`~nngt.Graph.set_types` which is not available to the :class:`~nngt.Network` subclasses). Summary of the class members and methods ---------------------------------------- Graph +++++ The main class for topological graphs. .. autosummary:: nngt.Graph nngt.Graph.adjacency_matrix nngt.Graph.clear_all_edges nngt.Graph.copy nngt.Graph.delete_edges nngt.Graph.delete_nodes nngt.Graph.edge_attributes nngt.Graph.edge_id nngt.Graph.edge_nb nngt.Graph.edges_array nngt.Graph.from_file nngt.Graph.from_library nngt.Graph.from_matrix nngt.Graph.get_attribute_type nngt.Graph.get_betweenness nngt.Graph.get_degrees nngt.Graph.get_delays nngt.Graph.get_density nngt.Graph.get_edge_attributes nngt.Graph.get_edge_types nngt.Graph.get_edges nngt.Graph.get_node_attributes nngt.Graph.get_nodes nngt.Graph.get_structure_graph nngt.Graph.get_weights nngt.Graph.graph nngt.Graph.graph_id nngt.Graph.has_edge nngt.Graph.is_connected nngt.Graph.is_directed nngt.Graph.is_network nngt.Graph.is_spatial nngt.Graph.is_weighted nngt.Graph.make_network nngt.Graph.make_spatial nngt.Graph.name nngt.Graph.neighbours nngt.Graph.new_edge nngt.Graph.new_edge_attribute nngt.Graph.new_edges nngt.Graph.new_node nngt.Graph.new_node_attribute nngt.Graph.node_attributes nngt.Graph.node_nb nngt.Graph.num_graphs nngt.Graph.set_delays nngt.Graph.set_edge_attribute nngt.Graph.set_name nngt.Graph.set_node_attribute nngt.Graph.set_types nngt.Graph.set_weights nngt.Graph.structure nngt.Graph.to_file nngt.Graph.to_undirected nngt.Graph.type SpatialGraph ++++++++++++ Subclass of :class:`~nngt.Graph` providing additional tools to work with spatial graphs. It works together with the :class:`~nngt.geometry.Shape` object from the :mod:`~nngt.geometry` module. .. autosummary:: nngt.SpatialGraph nngt.SpatialGraph.get_positions nngt.SpatialGraph.set_positions nngt.SpatialGraph.shape Network +++++++ Subclass of :class:`~nngt.Graph` providing additional tools to work with neuronal networks. It works together with the :class:`~nngt.NeuralPop` object. .. autosummary:: nngt.Network nngt.Network.exc_and_inhib nngt.Network.from_gids nngt.Network.get_neuron_type nngt.Network.id_from_nest_gid nngt.Network.nest_gids nngt.Network.neuron_properties nngt.Network.num_networks nngt.Network.population nngt.Network.to_nest nngt.Network.uniform SpatialNetwork ++++++++++++++ Subclass of :class:`~nngt.Graph` providing additional tools to work with spatial neuronal networks. It works together with both :class:`~nngt.NeuralPop` and the :class:`~nngt.geometry.Shape` object from the :mod:`~nngt.geometry` module. .. autosummary:: nngt.SpatialNetwork nngt.SpatialNetwork.exc_and_inhib nngt.SpatialNetwork.from_gids nngt.SpatialNetwork.get_neuron_type nngt.SpatialNetwork.get_positions nngt.SpatialNetwork.id_from_nest_gid nngt.SpatialNetwork.nest_gids nngt.SpatialNetwork.neuron_properties nngt.SpatialNetwork.num_networks nngt.SpatialNetwork.population nngt.SpatialNetwork.set_positions nngt.SpatialNetwork.shape nngt.SpatialNetwork.to_nest nngt.SpatialNetwork.uniform Details ------- .. currentmodule:: nngt .. autoclass:: Graph :inherited-members: :no-undoc-members: .. currentmodule:: nngt .. autoclass:: SpatialGraph :members: :no-undoc-members: .. currentmodule:: nngt .. autoclass:: Network :members: :no-undoc-members: .. currentmodule:: nngt .. autoclass:: SpatialNetwork :members: :no-undoc-members: