117 lines
4.0 KiB
TOML
117 lines
4.0 KiB
TOML
[package]
|
|
name = "rtx-neuro-core"
|
|
version = "1.0.0"
|
|
edition = "2024"
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Unified neuro-imaging super-crate consolidating 16 neuro crates (47K LOC) - MEG/EEG/fMRI analysis platform"
|
|
|
|
[dependencies]
|
|
# Core RustyTorch dependencies
|
|
rtx-tensor = { workspace = true }
|
|
rtx-autograd = { workspace = true }
|
|
|
|
# Neuro-specific crates (conditional on features)
|
|
# rtx-neuro is no longer used - core module is now built-in
|
|
# rtx-neuro-io is now built-in (migrated into this crate)
|
|
# rtx-neuro-signal is now built-in (migrated into this crate)
|
|
# rtx-neuro-forward is now built-in (migrated into this crate)
|
|
# rtx-neuro-inverse is now built-in (migrated into this crate)
|
|
# rtx-neuro-connectivity is now built-in (migrated into this crate)
|
|
# rtx-neuro-anatomy is now built-in (migrated into this crate)
|
|
# rtx-neuro-stats is now built-in (migrated into this crate)
|
|
rtx-neuro-artifacts = { workspace = true, optional = true }
|
|
rtx-neuro-realtime = { workspace = true, optional = true }
|
|
rtx-neuro-lsl = { workspace = true, optional = true }
|
|
rtx-neuro-db = { workspace = true, optional = true }
|
|
rtx-neuro-gnn = { workspace = true, optional = true }
|
|
rtx-neuro-pinn = { workspace = true, optional = true }
|
|
rtx-neuro-fem = { workspace = true, optional = true }
|
|
|
|
# Essential dependencies (always available)
|
|
thiserror = { workspace = true }
|
|
serde = { workspace = true }
|
|
chrono = { workspace = true }
|
|
uuid = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# I/O module dependencies (conditional on io feature)
|
|
byteorder = { workspace = true, optional = true }
|
|
memmap2 = { version = "0.9", optional = true }
|
|
walkdir = { workspace = true, optional = true }
|
|
regex = { workspace = true, optional = true }
|
|
|
|
# Signal processing dependencies (conditional on signal feature)
|
|
rustfft = { version = "6.2", optional = true }
|
|
num-complex = { workspace = true, optional = true }
|
|
rayon = { workspace = true, optional = true }
|
|
|
|
# Forward modeling dependencies (conditional on forward feature)
|
|
nalgebra = { version = "0.33", optional = true }
|
|
|
|
# Connectivity dependencies (conditional on connectivity feature)
|
|
# rustfft and num-complex already included in signal feature
|
|
|
|
# Statistics module dependencies (conditional on stats feature)
|
|
rand = { workspace = true, optional = true }
|
|
statrs = { version = "0.18", optional = true }
|
|
ndarray = { version = "0.16", features = ["rayon"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
tokio-test = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
approx = "0.5"
|
|
|
|
[features]
|
|
default = ["core", "io", "signal"]
|
|
|
|
# Core functionality (now built-in, not dependent on rtx-neuro)
|
|
core = []
|
|
io = ["dep:byteorder", "dep:memmap2", "dep:walkdir", "dep:regex"]
|
|
signal = ["dep:rustfft", "dep:num-complex", "dep:rayon"]
|
|
|
|
# Analysis modules
|
|
# Note: rtx-neuro-forward, rtx-neuro-inverse, rtx-neuro-connectivity, and rtx-neuro-anatomy are now built-in (migrated into this crate)
|
|
forward = ["dep:nalgebra", "dep:rayon"]
|
|
inverse = ["forward", "dep:nalgebra"]
|
|
connectivity = ["signal", "dep:nalgebra"] # Requires signal for FFT, nalgebra for Granger causality
|
|
anatomy = ["dep:nalgebra", "dep:byteorder"] # FreeSurfer file reading requires nalgebra for Vector3, byteorder for binary I/O
|
|
artifacts = ["dep:rtx-neuro-artifacts"]
|
|
stats = ["dep:rand", "dep:rayon", "dep:statrs", "dep:ndarray"] # Statistical analysis now built-in
|
|
|
|
# Real-time and streaming
|
|
realtime = ["dep:rtx-neuro-realtime", "dep:rtx-neuro-lsl"]
|
|
|
|
# Machine learning extensions
|
|
ml = ["dep:rtx-neuro-gnn", "dep:rtx-neuro-pinn", "dep:rtx-neuro-fem"]
|
|
|
|
# Database support
|
|
db = ["dep:rtx-neuro-db"]
|
|
|
|
# Hardware acceleration
|
|
cuda = ["rtx-tensor/cuda"]
|
|
metal = ["rtx-tensor/metal"]
|
|
|
|
# Python bindings (note: rtx-neuro-python excluded from workspace, built separately)
|
|
python = []
|
|
|
|
# Full feature set (all modules)
|
|
full = [
|
|
"core",
|
|
"io",
|
|
"signal",
|
|
"forward",
|
|
"inverse",
|
|
"connectivity",
|
|
"artifacts",
|
|
"stats",
|
|
"anatomy",
|
|
"realtime",
|
|
"ml",
|
|
"db",
|
|
]
|
|
|
|
[lints]
|
|
workspace = true
|