Transforming neurological medicine from reactive treatment to proactive prevention.
CTEntropy is a computational framework designed to detect neurological disorders in their earliest stages, before irreversible damage occurs. Inspired by the urgent need for early chronic traumatic encephalopathy (CTE) detection in athletes and military personnel, this platform uses novel symbolic entropy analysis of brain signals to identify subtle neural complexity changes that precede clinical symptoms.
The Crisis: Millions suffer from neurological conditions like CTE, Alzheimer's, and addiction-related brain changes that remain undetectable until devastating damage has occurred. CTE affects 87% of former NFL players but can only be diagnosed post-mortem, leaving families without answers and preventing early intervention.
Our Solution: Information-theoretic analysis of neural signals to detect complexity changes that may occur months or years before traditional symptoms appear.
Chronic Traumatic Encephalopathy (CTE):
- Affects millions of athletes and military personnel
- Currently requires post-mortem brain tissue analysis for diagnosis
- No opportunity for early intervention or family counseling
- Progressive condition that begins with subtle neural changes years before symptoms
Alzheimer's Disease:
- 30-50% of neurons lost before clinical symptoms appear
- Current treatments largely ineffective due to late-stage detection
- Early neural complexity changes may be detectable years before diagnosis
Addiction-Related Brain Changes:
- Neural alterations begin within weeks of substance use
- Current approaches rely on behavioral symptoms appearing months later
- Early detection could enable targeted prevention interventions
1. Neural Complexity Monitoring
- Detects subtle changes in brain signal complexity that may precede clinical symptoms
- Uses information-theoretic measures sensitive to early-stage neural network alterations
- Establishes individual baselines for personalized monitoring over time
2. Longitudinal Assessment Capability
- Enables repeated measurements to track neural changes over months or years
- Critical for detecting progressive conditions like CTE in their earliest stages
- Provides objective measures for intervention timing and effectiveness
3. Individual Sensitivity
- Creates personalized neural complexity profiles rather than population comparisons
- Detects individual changes that may be masked in group-level analyses
- Essential for early detection where changes may be subtle and person-specific
4. Accessible Technology
- Uses standard EEG equipment available in clinical settings
- Could be deployed in sports medicine facilities and military medical centers
- Non-invasive and relatively inexpensive compared to advanced neuroimaging
CTEntropy applies Shannon entropy principles to neural signal analysis:
H(X) = -Σ p(xi) log2 p(xi)
Where neural signals are transformed into symbolic sequences, and entropy quantifies the unpredictability of neural dynamics. This approach captures:
- Neural Complexity: Higher entropy indicates more complex, less predictable neural patterns
- Information Content: Quantifies the information-carrying capacity of neural signals
- Dynamic Range: Measures the variability in neural state transitions
- Temporal Structure: Reveals patterns in neural signal organization over time
| Traditional EEG Analysis | CTEntropy Approach |
|---|---|
| Frequency-domain decomposition | Information-theoretic complexity |
| Fixed frequency bands | Adaptive symbolic representation |
| Population-based statistics | Individual entropy signatures |
| Condition-specific protocols | Unified multi-condition framework |
| Linear signal processing | Non-linear dynamics quantification |
Epilepsy Research
- Quantifies entropy changes during ictal and interictal periods
- Provides objective measures of seizure-related neural complexity alterations
- Enables investigation of entropy patterns as seizure predictors
Substance Use Disorder Studies
- Characterizes neural complexity changes associated with addiction
- Investigates entropy signatures of altered reward processing
- Explores potential for early detection of addiction vulnerability
Neurodegenerative Disease Research
- Tracks entropy changes during disease progression
- Provides sensitive measures of neural network degradation
- Enables longitudinal monitoring of therapeutic interventions
git clone https://github.com/Betti-Labs/CTEntropy.git
cd CTEntropy
pip install -r requirements.txtnumpy>=1.21.0 # Numerical computing
scipy>=1.7.0 # Scientific computing
scikit-learn>=1.0.0 # Machine learning
mne>=1.0.0 # EEG data processing
pandas>=1.3.0 # Data manipulation
matplotlib>=3.4.0 # Visualization
from ctentropy_platform.core.entropy import SymbolicEntropyCalculator
import numpy as np
# Initialize entropy calculator
calculator = SymbolicEntropyCalculator(window_size=50, overlap=0.5)
# Calculate entropy for EEG signal
eeg_signal = np.loadtxt('eeg_data.txt') # Your EEG data
entropies = calculator.calculate(eeg_signal)
# Analyze entropy characteristics
mean_entropy = np.mean(entropies)
entropy_variability = np.std(entropies)
entropy_trend = np.polyfit(range(len(entropies)), entropies, 1)[0]
print(f"Mean entropy: {mean_entropy:.3f}")
print(f"Entropy variability: {entropy_variability:.3f}")
print(f"Entropy trend: {entropy_trend:.6f}")# Analyze entropy across multiple temporal scales
scales = [25, 50, 100] # Window sizes in samples
entropy_profiles = {}
for scale in scales:
calc = SymbolicEntropyCalculator(window_size=scale)
entropy_profiles[f'scale_{scale}'] = calc.calculate(eeg_signal)
# Compare entropy characteristics across scales
for scale, entropies in entropy_profiles.items():
print(f"{scale}: μ={np.mean(entropies):.3f}, σ={np.std(entropies):.3f}")from clinical_ctentropy_system import ClinicalCTEntropySystem
# Initialize research system
system = ClinicalCTEntropySystem(
facility_name="Research Laboratory",
physician_name="Principal Investigator"
)
# Analyze research subject
result = system.analyze_patient_eeg(
eeg_signal=eeg_data,
sampling_rate=256.0,
patient_id="SUBJECT_001",
user_id="RESEARCHER"
)
# Extract entropy features
entropy_features = result['diagnosis']['features_analyzed']
condition_prediction = result['diagnosis']['condition']
confidence_level = result['diagnosis']['confidence']PhysioNet EEG Motor Movement Dataset
- 109 healthy subjects, eyes-open and eyes-closed conditions
- Demonstrates entropy differences between cognitive states
- Validates methodology on well-characterized dataset
UCI EEG Database (Alcoholism Study)
- 122 subjects (alcoholic and control groups)
- Significant entropy differences between groups (p < 0.001)
- 86.7% classification accuracy using entropy features
CHB-MIT Scalp EEG Database
- Pediatric epilepsy recordings with seizure annotations
- Entropy changes during ictal periods (p < 0.000001)
- Large effect size (Cohen's d = 3.394) for seizure detection
# Run comprehensive validation
python validate_clinical_system.py
# Test detection capabilities on synthetic signals
python test_real_detection.py
# Execute unit test suite
python -m pytest tests/ -v| Condition | Mean Entropy | Std Deviation | Temporal Pattern |
|---|---|---|---|
| Healthy Controls | 3.785 ± 0.129 | Stable | Consistent variability |
| Epilepsy | 3.312 ± 0.140 | Reduced | Periodic disruptions |
| Alcoholism | 3.413 ± 0.105 | Altered | Modified dynamics |
- Condition-Specific Patterns: Each neurological condition exhibits characteristic entropy signatures
- Individual Variability: Substantial inter-subject differences within condition groups
- Temporal Dynamics: Entropy patterns change over time in condition-specific ways
- Multi-Scale Consistency: Entropy differences persist across multiple temporal scales
Symbolic Transformation
def symbolic_transform(signal, window_size):
"""Convert continuous signal to symbolic representation"""
spectrum = np.abs(fft(signal[:window_size]))
normalized_spectrum = spectrum / np.sum(spectrum)
return normalized_spectrumEntropy Calculation
def calculate_entropy(probability_distribution):
"""Compute Shannon entropy of probability distribution"""
# Remove zero probabilities to avoid log(0)
p_nonzero = probability_distribution[probability_distribution > 0]
return -np.sum(p_nonzero * np.log2(p_nonzero))- Computational Complexity: O(n log n) per window due to FFT computation
- Memory Requirements: Linear scaling with signal length
- Processing Speed: ~1000 samples/second on standard hardware
- Numerical Stability: Robust handling of edge cases and artifacts
- HIPAA Compliance: Full encryption and audit logging for patient data
- Data Security: Cryptographic protection of sensitive information
- Audit Trail: Comprehensive logging of all data access and processing
- Anonymization: Patient identity protection throughout analysis pipeline
Note: This software is designed for research purposes. Clinical application requires:
- Regulatory approval from appropriate authorities (FDA, CE marking, etc.)
- Prospective clinical trials with appropriate controls
- Validation on diverse patient populations
- Integration with existing clinical workflows
- Physician training and certification programs
We welcome collaboration from:
- Neuroscientists: Theoretical development and validation
- Clinicians: Clinical application and validation studies
- Engineers: Technical development and optimization
- Statisticians: Advanced analytical methods and validation
- Regulatory Experts: Clinical translation and approval processes
- Enhanced Entropy Methods: Implementation of additional entropy measures
- Real-Time Processing: Optimization for clinical real-time applications
- Multi-Modal Integration: Combination with other neuroimaging modalities
- Longitudinal Analysis: Tools for tracking changes over time
- Population Studies: Large-scale validation across diverse populations
If you use CTEntropy in your research, please cite:
@software{ctentropy2025,
title={CTEntropy: A Symbolic Entropy Framework for Neurological Signal Analysis},
author={Betti Labs Research Team},
year={2025},
url={https://github.com/Betti-Labs/CTEntropy},
note={Research software for entropy-based EEG analysis}
}This project is licensed under the MIT License. See LICENSE file for details.
Research Disclaimer: This software is intended for research purposes only. It has not been approved for clinical diagnosis or treatment decisions. Always consult qualified healthcare professionals for medical advice.
- Research Inquiries: Open an issue
- Collaboration: Contact Betti Labs research team
- Technical Support: See documentation and issue tracker
CTEntropy represents ongoing research in computational neuroscience and biomedical signal processing. We encourage scientific collaboration and welcome contributions from the research community.