signalJourney Examples¶
Welcome to the signalJourney examples! These examples demonstrate how to document signal processing pipelines using the signalJourney specification. Each example includes a detailed breakdown of the JSON structure and showcases different features of the format.
Example Categories¶
📚 Schema Examples¶
These examples are found in the schema/examples/
directory and demonstrate core signalJourney features with implementations in both MNE-Python and EEGLAB:
Pipeline Type | MNE-Python Implementation | EEGLAB Implementation | Key Features |
---|---|---|---|
Basic Preprocessing | MNE-Python | EEGLAB | File I/O, step dependencies, quality metrics |
ICA Decomposition | MNE-Python | EEGLAB | Multi-output steps, artifact removal, variables |
Time-Frequency Analysis | MNE-Python | EEGLAB | Wavelet decomposition, baseline correction |
Source Localization | MNE-Python | EEGLAB | Forward modeling, inverse solutions |
Connectivity Analysis | MNE-Python | EEGLAB | Cross-channel analysis, network metrics |
🔬 Real-World Examples¶
Production pipelines demonstrating advanced signalJourney features:
Pipeline | Software | Description | Key Features |
---|---|---|---|
NEMAR Pipeline | EEGLAB/MATLAB | Complete EEG preprocessing for OpenNeuro datasets | 12-step workflow, inline data, extension schemas |
Implementation Comparison¶
Software-Specific Features¶
MNE-Python Examples:
- Object-oriented API (epochs.filter()
, raw.set_eeg_reference()
)
- HDF5 and FIF file formats
- Advanced source modeling (BEM, forward solutions)
- Integration with scipy/numpy ecosystem
EEGLAB Examples:
- Pop-up function interface (pop_loadset
, pop_eegfiltnew
)
- .set/.fdt file formats
- ICLabel automated component classification
- MATLAB ecosystem integration
Learning Path Recommendations¶
🎯 For Beginners¶
- Start with Basic Preprocessing (MNE-Python or EEGLAB)
- Understand signalJourney structure and common patterns
- Learn about quality metrics and parameter documentation
🚀 For Intermediate Users¶
- Explore ICA Decomposition examples for multi-output workflows
- Study Time-Frequency Analysis for advanced parameter handling
- Examine Real-World Examples for production pipeline patterns
🔬 For Advanced Users¶
- Analyze Source Localization for complex dependency chains
- Study Connectivity Analysis for cross-channel processing
- Use NEMAR Pipeline as template for your own workflows
Key signalJourney Features Demonstrated¶
Feature | Example Categories | Description |
---|---|---|
Step Dependencies | All examples | dependsOn field linking processing steps |
Quality Metrics | All examples | Step-level and summary quality assessments |
Multi-Output Steps | ICA, Time-Frequency | Steps producing files, variables, and inline data |
Pipeline Provenance | All examples | Links between related processing pipelines |
Extension Schemas | NEMAR Pipeline | Domain-specific metadata and parameters |
Parameter Documentation | All examples | Complete parameter sets for reproducibility |
Software Integration | All examples | Function calls, versions, and dependencies |
Interactive Features¶
Each example page includes:
- 📊 Mermaid flowcharts showing pipeline structure
- 💻 JSON code examples with syntax highlighting
- 📋 Parameter explanations for each processing step
- 🔍 Quality control integration examples
- 🔗 Cross-references to related examples and schemas
Mermaid Diagram Legend¶
The flowcharts use a consistent color scheme to distinguish different types of elements:
flowchart TD
A[Processing Step<br/>Function call] --> B[Another Step<br/>Function call]
%% Input and output files
C["📁 input_file.fif<br/>Input data"] --> A
B --> D["💾 output_file.fif<br/>Processed data"]
%% Inline data (small parameters/values saved in JSON)
A --> E["📊 Inline Data<br/>Small parameters/values"]
%% Quality metrics
B --> F["📈 Quality Metrics<br/>Processing statistics"]
%% Styling
classDef processStep fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef inputFile fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef outputFile fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
classDef inlineData fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef qualityMetric fill:#f9f9f9,stroke:#666,stroke-width:1px
class A,B processStep
class C inputFile
class D outputFile
class E inlineData
class F qualityMetric
Legend: - 🔵 Light Blue: Processing steps (function calls) - 🟠 Orange: Input files - 🟢 Green: Output files (saved results) - 🟣 Purple: Inline data (small parameters/values stored in JSON) - ⚪ Gray: Quality metrics (processing statistics)
Getting Started¶
- Choose your software: Pick MNE-Python or EEGLAB based on your workflow
- Start simple: Begin with Basic Preprocessing to understand the format
- Build complexity: Progress through examples as your needs grow
- Adapt patterns: Use examples as templates for your own pipelines
Each example is designed to be both educational and practical, providing patterns you can adapt for documenting your own signal processing workflows.
JSON Schema Reference¶
All examples validate against the signalJourney JSON schema. For detailed field specifications, see: - Schema Overview - Field Definitions - Validation Guide
Contributing Examples¶
Have a pipeline you'd like to document as an example? See our contributing guide for how to add new examples to the collection.