Back to Ruview

ruv-neural-graph

rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/README.md

0.7.03.3 KB
Original Source

ruv-neural-graph

Brain connectivity graph construction from neural signals with graph-theoretic analysis and spectral properties.

Overview

ruv-neural-graph builds brain connectivity graphs from multi-channel neural time series data and connectivity matrices. It provides graph-theoretic metrics (efficiency, clustering, centrality), spectral graph properties (Laplacian, Fiedler value), brain atlas definitions, petgraph interoperability, and temporal dynamics tracking for brain topology research.

Features

  • Graph construction (constructor): Build BrainGraph instances from connectivity matrices and multi-channel time series data via BrainGraphConstructor
  • Brain atlases (atlas): Built-in Desikan-Killiany 68-region atlas with support for loading custom atlas definitions
  • Graph metrics (metrics): Global efficiency, local efficiency, clustering coefficient, betweenness centrality, degree distribution, modularity, graph density, small-world index
  • Spectral analysis (spectral): Graph Laplacian, normalized Laplacian, Fiedler value (algebraic connectivity), spectral gap
  • Petgraph bridge (petgraph_bridge): Bidirectional conversion between BrainGraph and petgraph Graph types
  • Temporal dynamics (dynamics): TopologyTracker for monitoring graph property evolution over time

Usage

rust
use ruv_neural_graph::{
    BrainGraphConstructor, load_atlas, AtlasType,
    global_efficiency, clustering_coefficient, modularity,
    fiedler_value, graph_laplacian,
    to_petgraph, from_petgraph,
    TopologyTracker,
};

// Construct a brain graph from a connectivity matrix
let constructor = BrainGraphConstructor::new();
let graph = constructor.from_matrix(&connectivity_matrix, 0.3, atlas)?;

// Compute graph-theoretic metrics
let efficiency = global_efficiency(&graph);
let clustering = clustering_coefficient(&graph);
let mod_score = modularity(&graph);

// Spectral properties
let laplacian = graph_laplacian(&graph);
let fiedler = fiedler_value(&graph);

// Convert to petgraph for additional algorithms
let pg = to_petgraph(&graph);
let brain_graph = from_petgraph(&pg);

// Track topology over time
let mut tracker = TopologyTracker::new();
tracker.update(&graph);

API Reference

ModuleKey Types / Functions
constructorBrainGraphConstructor
atlasload_atlas, AtlasType
metricsglobal_efficiency, local_efficiency, clustering_coefficient, betweenness_centrality, modularity, small_world_index
spectralgraph_laplacian, normalized_laplacian, fiedler_value, spectral_gap
petgraph_bridgeto_petgraph, from_petgraph
dynamicsTopologyTracker

Integration

Depends on ruv-neural-core for BrainGraph and atlas types, and on ruv-neural-signal for connectivity computation. Feeds graphs into ruv-neural-mincut for topology partitioning and into ruv-neural-viz for visualization. Uses petgraph for underlying graph data structures.

License

MIT OR Apache-2.0