Skip to content

Commit aca9487

Browse files
authored
Merge pull request #16 from NeurodataWithoutBorders/port-tools
Add new tools documentation and update menu structure for analysis and acquisition tools
2 parents 65d3410 + 811b902 commit aca9487

File tree

80 files changed

+1367
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1367
-2
lines changed

archetypes/tools.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: "{{ replace .Name "-" " " | title }}"
3+
description: ""
4+
category: ""
5+
image: ""
6+
source_url: ""
7+
docs_url: ""
8+
weight: 100
9+
---
10+
11+
## Description
12+
13+
## Installation
14+
15+
```bash
16+
# Installation command here
17+
```
18+
19+
## Usage
20+
21+
```python
22+
# Usage example here
23+
```
24+
25+
## Additional Information

assets/css/style.css

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ h6 {
423423
}
424424

425425
.content li::marker {
426-
color: #d17128 !important;
426+
color: #374151 !important;
427427
}
428428

429429
.content img[src$="#center"] {
@@ -1051,4 +1051,84 @@ ol.custom-ordered-list li::before {
10511051
.contactP a {
10521052
color: #171b26 !important;
10531053
text-decoration: none !important;
1054-
}
1054+
}
1055+
1056+
/* Tool Grid */
1057+
.tool-grid {
1058+
display: grid;
1059+
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
1060+
gap: 2rem;
1061+
margin: 2rem 0;
1062+
}
1063+
1064+
.tool-card {
1065+
background: #fff;
1066+
border: 1px solid #ebebeb;
1067+
border-radius: 8px;
1068+
overflow: hidden;
1069+
transition: all 0.3s ease;
1070+
height: 100%;
1071+
}
1072+
1073+
.tool-card:hover {
1074+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
1075+
transform: translateY(-2px);
1076+
}
1077+
1078+
.tool-image {
1079+
height: 180px;
1080+
overflow: hidden;
1081+
display: flex;
1082+
align-items: center;
1083+
justify-content: center;
1084+
background: #f5f5f5;
1085+
}
1086+
1087+
.tool-image img {
1088+
max-width: 100%;
1089+
max-height: 100%;
1090+
object-fit: contain;
1091+
padding: 1rem;
1092+
}
1093+
1094+
.tool-content {
1095+
padding: 1.5rem;
1096+
}
1097+
1098+
.tool-content h3 {
1099+
margin: 0 0 1rem 0;
1100+
font-size: 1.25rem;
1101+
}
1102+
1103+
.tool-content p {
1104+
margin: 0 0 1rem 0;
1105+
color: #585c67;
1106+
}
1107+
1108+
.tool-links {
1109+
display: flex;
1110+
gap: 1rem;
1111+
margin-top: 1rem;
1112+
}
1113+
1114+
.tool-links a {
1115+
padding: 0.5rem 1rem;
1116+
border-radius: 4px;
1117+
text-decoration: none !important;
1118+
font-weight: 500;
1119+
font-size: 0.875rem;
1120+
background-color: #114B7C;
1121+
color: white !important;
1122+
}
1123+
1124+
.tool-links a:hover {
1125+
opacity: 0.9;
1126+
color: white !important;
1127+
text-decoration: none !important;
1128+
}
1129+
1130+
@media (max-width: 768px) {
1131+
.tool-grid {
1132+
grid-template-columns: 1fr;
1133+
}
1134+
}

config/_default/menus.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ main:
2525
weight: 1
2626
url: "nwb-software/"
2727
parent: "Software & Tools"
28+
- name: "NWB Tools"
29+
weight: 2
30+
url: "tools/"
31+
parent: "Software & Tools"
32+
- name: "Acquisition Tools"
33+
weight: 3
34+
url: "tools/acquisition/"
35+
parent: "Software & Tools"
36+
- name: "Analysis Tools"
37+
weight: 4
38+
url: "tools/analysis/"
39+
parent: "Software & Tools"
2840

2941
# Community
3042
- name: "Community"

content/tools/_index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: "NWB Tools"
3+
description: "A collection of tools for working with NWB data"
4+
---
5+
6+
This page is a collection of tools we are cataloging as a convenience reference for NWB users. This is not a comprehensive list of NWB tools. Many of these tools are built and supported by other groups, and are in active development.
7+
8+
## Tool Categories
9+
10+
- [Acquisition and Control Tools]({{< ref "tools/acquisition" >}}) - Tools for data acquisition and experimental control
11+
- [Analysis and Visualization Tools]({{< ref "tools/analysis" >}}) - Tools for data analysis, visualization, and exploration
12+
13+
**Disclaimer:** Reference herein to any specific product, process, or service by its trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement, recommendation, or favoring by the NWB development team, United States Government or any agency thereof, or The Regents of the University of California. Use of the NeurodataWithoutBorders name for endorsements is prohibited.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: "Acquisition and Control Tools"
3+
description: "Tools for data acquisition and experimental control"
4+
---
5+
6+
## Acquiring Electrophysiology Data
7+
8+
{{< tool-grid category="electrophysiology" >}}
9+
10+
## Controlling and Recording Behavioral Tasks
11+
12+
{{< tool-grid category="behavior" >}}
13+
14+
## Brain Data Modeling and Simulation
15+
16+
{{< tool-grid category="modeling" >}}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: "ArControl"
3+
description: "An Arduino based digital signals control system for animal behavioral platforms and Optogenetic TTL pulses, with tools for converting data to NWB format."
4+
category: "behavior"
5+
image: "/images/tools/arcontrol/arcontrol_logo.png"
6+
source_url: "https://github.com/chenxinfeng4/ArControl"
7+
weight: 40
8+
---
9+
10+
## Description
11+
12+
ArControl is an Arduino based digital signals control system. It is particularly useful for establishing animal behavioral platforms (like Skinner boxes), controlling devices to deliver stimulation, and monitoring behavioral responses. ArControl is also effective for generating Optogenetic TTL pulses.
13+
14+
![ArControl Logo](/images/tools/arcontrol/arcontrol_logo.png)
15+
16+
## Features
17+
18+
- Arduino-based digital signal control
19+
- Behavioral platform control (e.g., Skinner box)
20+
- Stimulation delivery control
21+
- Behavioral response monitoring
22+
- Optogenetic TTL pulse generation
23+
24+
## NWB Integration
25+
26+
While ArControl does not currently support recording data directly in NWB format, it provides tools for converting ArControl data to NWB:
27+
28+
- [NWB Conversion Tool](https://github.com/chenxinfeng4/ArControl-convert2-nwb)
29+
- [Conversion Demo Notebook](https://github.com/chenxinfeng4/ArControl-convert2-nwb/blob/main/playground/demo_convert.ipynb)
30+
31+
## Resources
32+
33+
- [Source Code](https://github.com/chenxinfeng4/ArControl)
34+
- [NWB Conversion Repository](https://github.com/chenxinfeng4/ArControl-convert2-nwb)

content/tools/acquisition/bmtk.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: "Brain Modeling Toolkit (BMTK)"
3+
description: "A suite for building and simulating network models at multiple levels of resolution, from biophysically-detailed, to point-neuron, to population-statistics approaches."
4+
category: "modeling"
5+
image: "/images/tools/bmtk/bmtk_levels_of_resolution_sm.png"
6+
source_url: "https://github.com/AllenInstitute/bmtk"
7+
docs_url: "https://alleninstitute.github.io/bmtk"
8+
weight: 50
9+
---
10+
11+
## Description
12+
13+
BMTK, SONATA, and Visual Neuronal Dynamics (VND) are mutually integrated software tools particularly suited to support large-scale bio-realistic brain modeling, but are applicable to a variety of neuronal modeling applications. BMTK is a suite for building and simulating network models at multiple levels of resolution, from biophysically-detailed, to point-neuron, to population-statistics approaches.
14+
15+
![BMTK Levels of Resolution](/images/tools/bmtk/bmtk_levels_of_resolution_sm.png)
16+
17+
## Features
18+
19+
- Modular design for working across different scales of resolution
20+
- Support for different simulation engines with the same code interface
21+
- Integration with SONATA data format for:
22+
- Model architecture
23+
- Parameters
24+
- Simulation configuration
25+
- Input and output storage
26+
- Visualization through VND's rendering capabilities
27+
28+
## NWB Integration
29+
30+
BMTK provides support for NWB through its spike stimulus functionality. For more information, see the [NWB Spike Stimulus documentation](https://alleninstitute.github.io/bmtk/ecephys_probe.html).
31+
32+
## Resources
33+
34+
- [Documentation](https://alleninstitute.github.io/bmtk)
35+
- [Tutorials](https://alleninstitute.github.io/bmtk/tutorials.html)
36+
- [Source Code](https://github.com/AllenInstitute/bmtk)
37+
- [Publication](https://doi.org/10.1371/journal.pcbi.1008386)
38+
39+
## Reference
40+
41+
Dai et al. Brain Modeling Toolkit: An open-source software suite for multiscale modeling of brain circuits. PLoS Comput Biol 16(11): e1008386. https://doi.org/10.1371/journal.pcbi.1008386

content/tools/acquisition/mies.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: "MIES"
3+
description: "A sweep based data acquisition tool written in Igor Pro, featuring WaveBuilder for stimulus sets, DA_Ephys GUI for real-time control, and DataBrowser for data browsing."
4+
category: "electrophysiology"
5+
image: "/images/tools/mies/mies_screenshot.png"
6+
source_url: "https://github.com/AllenInstitute/MIES"
7+
docs_url: "https://alleninstitute.github.io/MIES/index.html"
8+
weight: 10
9+
---
10+
11+
## Description
12+
13+
MIES is a sweep based data acquisition tool written in Igor Pro. It provides three primary user interfaces designed to be operated in parallel.
14+
15+
![MIES Screenshot](/images/tools/mies/mies_screenshot.png)
16+
17+
## Primary Interfaces
18+
19+
1. **WaveBuilder**
20+
- Generate stimulus sets
21+
22+
2. **DA_Ephys GUI**
23+
- Control data acquisition in real time
24+
- Observe data during acquisition
25+
26+
3. **DataBrowser**
27+
- Browse acquired data
28+
29+
## NWB Integration
30+
31+
MIES includes a dedicated [NWB Module](https://alleninstitute.github.io/MIES/IPNWB/index.html) for data export and integration.
32+
33+
## Resources
34+
35+
- [Documentation](https://alleninstitute.github.io/MIES/index.html)
36+
- [Video Tutorial](https://www.youtube.com/watch?v=Y3I-LDX-R2Q)
37+
- [NWB Module Documentation](https://alleninstitute.github.io/MIES/IPNWB/index.html)
38+
- [Source Code](https://github.com/AllenInstitute/MIES)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: "Open Ephys GUI"
3+
description: "A modular, open-source software for extracellular electrophysiology, built by neuroscientists, with features for data acquisition, visualization, and extensibility through C++ modules."
4+
category: "electrophysiology"
5+
image: "/images/tools/openephys/openephys_gui_screenshot.png"
6+
source_url: "https://github.com/open-ephys/plugin-GUI"
7+
docs_url: "https://open-ephys.github.io/gui-docs/User-Manual/"
8+
weight: 20
9+
---
10+
11+
## Description
12+
13+
Open Ephys GUI is a modular, open-source software for extracellular electrophysiology. Built by neuroscientists, for neuroscientists, it provides all the features needed to acquire and visualize electrophysiology data, while making it easy to add new modules written in C++.
14+
15+
![Open Ephys GUI Screenshot](/images/tools/openephys/openephys_gui_screenshot.png)
16+
17+
## Features
18+
19+
- Modular architecture for data acquisition and visualization
20+
- Configurable processing pipelines
21+
- Mix and match modules for custom workflows
22+
- Easy extension through C++ modules
23+
- Direct NWB format recording through plugin
24+
25+
## NWB Integration
26+
27+
Using the NWB format plugin, users can record data directly in NWB format via the OpenEphys GUI. The plugin provides seamless integration with the NWB ecosystem.
28+
29+
### NWB Plugin Resources
30+
- [Plugin Documentation](https://open-ephys.github.io/gui-docs/User-Manual/Recording-data/NWB-format.html)
31+
- [Plugin Source Code](https://github.com/open-ephys-plugins/nwb-format)
32+
33+
## Resources
34+
35+
- [Website](https://open-ephys.org/gui)
36+
- [Documentation](https://open-ephys.github.io/gui-docs/User-Manual/)
37+
- [Source Code](https://github.com/open-ephys/plugin-GUI)

0 commit comments

Comments
 (0)