Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
91af860
Update behavior plot to use Bonsai ImGui package style
RoboDoig Jun 23, 2026
f31ffcc
Construct behavior visualizer with time based rolling graph
RoboDoig Jun 26, 2026
c98e327
Add trial choice / categorisation plotting
RoboDoig Jun 26, 2026
9007b01
Add extension class for trial categorization
RoboDoig Jun 30, 2026
16069d2
Update references to trial categories
RoboDoig Jun 30, 2026
6d13524
Another round of styling on behavior plot
RoboDoig Jun 30, 2026
90bf9c4
Add initial bias plot
RoboDoig Jun 30, 2026
6145c44
Create behaviour visualizer extension
RoboDoig Jun 30, 2026
ba6b85a
workflow reordering
RoboDoig Jun 30, 2026
f2d1222
Save visualizers as extensions
RoboDoig Jun 30, 2026
217ad48
Prototype metadata visualizer
RoboDoig Jun 30, 2026
764c226
Fix ordering and add table outline styling
RoboDoig Jun 30, 2026
e4c8a29
Integrate bias visualizer
RoboDoig Jul 1, 2026
59acda9
Remove redundant choice visualizer
RoboDoig Jul 1, 2026
455efbf
Initial test of refactored event visualizer
RoboDoig Jul 1, 2026
6f01253
Testing point plotters
RoboDoig Jul 1, 2026
32acf3e
Blockout pre-session visualizer
RoboDoig Jul 2, 2026
fe5fe6e
Prototype for inter-session tab
RoboDoig Jul 2, 2026
ffcd432
Completed inter-session visualizer
RoboDoig Jul 2, 2026
b51a22b
Create IncludeWorkflow for metadata
RoboDoig Jul 2, 2026
692c590
Use reactive timestamps to revert to active software event display
RoboDoig Jul 2, 2026
4d6c2e6
Merge branch 'software-event-refactor' into feat/visualizer-refactor
RoboDoig Jul 2, 2026
cbd011c
Integrate ethogram into test workflow and finalize blockout
RoboDoig Jul 2, 2026
cc086be
Group visualizer structure logic
RoboDoig Jul 2, 2026
9b22cda
Add plot layout, context and behavior visualizer
RoboDoig Jul 2, 2026
e2a98de
Add bias visualizer
RoboDoig Jul 2, 2026
ffb2b17
Integrate software event visualizer
RoboDoig Jul 2, 2026
7e31087
Integrate camera visualizer and update for Spinnaker frame input
RoboDoig Jul 2, 2026
0b05828
Integrate metadata visualizer and update with control subjects
RoboDoig Jul 2, 2026
532bb2e
Integrate inter session visualizer and define ui controls
RoboDoig Jul 2, 2026
4f2fb7e
Update metadata visualizer control signal routing
RoboDoig Jul 2, 2026
8c1d28a
Integrate pre-session visualizer
RoboDoig Jul 2, 2026
8fbad11
Add remaining UI signal subjects
RoboDoig Jul 2, 2026
18a1ccf
Populate ethogram event plotters
RoboDoig Jul 3, 2026
4b35fca
Update behavior visualizer to plot metadata PReward
RoboDoig Jul 3, 2026
0482e14
Add tab bar for manual vs. cue reward
RoboDoig Jul 6, 2026
11a9c10
Add extra subjects for inter session visualizer
RoboDoig Jul 6, 2026
83237a9
Add manipulator position feedback to pre-session
RoboDoig Jul 6, 2026
2e34d28
Add Ui manipulator command logic
RoboDoig Jul 6, 2026
0edc817
Add saturation visualizer / control to camera preview
RoboDoig Jul 7, 2026
abf1951
Add remaining manipulator control logic
RoboDoig Jul 8, 2026
5fd5f3d
Add water manual overrides
RoboDoig Jul 8, 2026
52c7a85
Add Ui bump controls
RoboDoig Jul 8, 2026
d2b27ee
And bump value
RoboDoig Jul 8, 2026
38efddd
Refactor camera visualizer to use named cameras
RoboDoig Jul 13, 2026
ca2c804
forward/backward left/right should move individual l/r spouts
RoboDoig Jul 14, 2026
e37cfd6
Fix typo in x position label
RoboDoig Jul 14, 2026
08fe849
Ensure right water shown in trial viz
RoboDoig Jul 14, 2026
e35e817
Fix inter/intra session typo
RoboDoig Jul 14, 2026
14776db
Add not null filter to bias value in bias visualizer
RoboDoig Jul 14, 2026
d2c2470
Add an enableable imgui button control to extensions
RoboDoig Jul 14, 2026
e6fb1a3
Update water on cue buttons to be enabled/disabled according to auto
RoboDoig Jul 14, 2026
93df5e1
Save session visualizers as include workflows
RoboDoig Jul 14, 2026
5a4c8b1
Add flushing control to OutputControl
RoboDoig Jul 14, 2026
c7682c9
Ui logic for keep open left/right/both
RoboDoig Jul 20, 2026
186fe0d
Add operation control for holding valves open
RoboDoig Jul 20, 2026
8c4319c
Add output control for set open
RoboDoig Jul 20, 2026
f1d6fdf
Update presession visualizer with manipulator position feedback
RoboDoig Jul 21, 2026
4e8489d
Disable intra-session controls before experiment start
RoboDoig Jul 28, 2026
e845fc3
Initial session information visualizer
RoboDoig Jul 29, 2026
fd5ac52
Update intra session visualizer as IncludeWorkflow
RoboDoig Jul 29, 2026
f025941
Add additional null filtering to bias visualizer
RoboDoig Jul 29, 2026
a7af360
Expose remaining subjects for intra session visualizer
RoboDoig Jul 29, 2026
a0714d7
Add placeholder for session information
RoboDoig Jul 29, 2026
b936dab
Fix flip for keep right/keep both open
RoboDoig Jul 29, 2026
367a05c
Refactor drain logic to be toggleable
RoboDoig Jul 29, 2026
5b3762e
Add toggling for drain buttons
RoboDoig Jul 29, 2026
7199ac3
Update pre session visualizer IncludeWorkflow
RoboDoig Jul 29, 2026
6c9df3b
Refactor keep open / drain logic
RoboDoig Jul 29, 2026
d264142
Create extension table builder for etho/camera viz
RoboDoig Jul 30, 2026
e8c45d6
Update metadata visualizer with new table styling
RoboDoig Jul 30, 2026
26bb071
Update main visualizer layout with new table styling
RoboDoig Jul 30, 2026
d141580
Make control buttons more prominent
RoboDoig Jul 30, 2026
e5213ce
Add constructor to TableBuilder
RoboDoig Jul 30, 2026
cc60872
Add placeholder text to avoid intra-session crash
RoboDoig Aug 5, 2026
e69696a
Add reset logic for draining buttons
RoboDoig Aug 5, 2026
3d45784
Externalise drain complete subjects for pre session visualizers
RoboDoig Aug 5, 2026
4c0d1a2
Ensure that KeepOpen logic stays on indefinitely
RoboDoig Aug 5, 2026
abaff6f
Remove previous visualizers completely
RoboDoig Aug 5, 2026
b1cb49c
Rename bonsai env folder to be in line with main
RoboDoig Aug 5, 2026
f04defe
Save visualizer implementation as IncludeWorkflow
RoboDoig Aug 5, 2026
875acf5
Remove redundant test workflows
RoboDoig Aug 5, 2026
92dcc26
Merge branch 'main-integration' into visualizer-refactor-staging
RoboDoig Aug 5, 2026
6cfed3d
fixes scheam and intrasession bugs
svc-aind-behavior Aug 7, 2026
45e991c
fixes keep right/left open
micahwoodard Aug 11, 2026
c2a7490
changes logic to reward base in keep open
micahwoodard Aug 11, 2026
6563393
adds stage name to metadata bar
micahwoodard Aug 11, 2026
2767cbd
adds stage to metadata bar
micahwoodard Aug 12, 2026
8eae7bc
uses trial index for bias
micahwoodard Aug 12, 2026
a7c9035
removes end experiment subject to stop crashing
micahwoodard Aug 12, 2026
60f2927
move legends in graphs
micahwoodard Aug 12, 2026
ec8e1e5
fixes camera crashing
micahwoodard Aug 12, 2026
9fe0b66
Merge branch 'main' into visualizer-refactor-staging
micahwoodard Aug 13, 2026
6f90b8b
allow none for metadata
micahwoodard Aug 13, 2026
2db08d8
Merge branch 'main' into visualizer-refactor-staging
micahwoodard Aug 13, 2026
05fae1b
Initial outline for shader pass operator
RoboDoig Aug 21, 2026
95079ed
Fix shader compilation method
RoboDoig Aug 21, 2026
ee7980d
fixes quiescent software event misspelling
micahwoodard Aug 21, 2026
495f781
Working basic shader pass
RoboDoig Aug 22, 2026
906b05b
Test with saturation overlay
RoboDoig Aug 24, 2026
d6c26ec
Implement uniform adjustment via property
RoboDoig Aug 24, 2026
c485c1d
Implement adjustment of other uniforms
RoboDoig Aug 24, 2026
a2f6a88
Refactor name of shader pass
RoboDoig Aug 24, 2026
0a7dc36
Update camera preview visualizer to use saturation shader pass
RoboDoig Aug 26, 2026
1f7823b
Merge pull request #162 from AllenNeuralDynamics/shader-pass
RoboDoig Aug 27, 2026
aa83829
guards retracted stage movement
svc-aind-behavior Aug 28, 2026
5ecd91b
fixes merge conflicts
micahwoodard Aug 28, 2026
b5522e5
fixes merge conflicts
micahwoodard Aug 28, 2026
89e623c
fixes quiescent typo and adds annotation
micahwoodard Sep 3, 2026
be292aa
adds autowater and bias movements to visualizers
micahwoodard Sep 3, 2026
3e2bc99
Refactor test visualizer workflow with new trial data structure
RoboDoig Sep 4, 2026
5f7aa03
Replace unnecessary CombineLatest with Zip in visualizers
RoboDoig Sep 4, 2026
36af901
Package visualizers in main as IncludeWorkflow
RoboDoig Sep 4, 2026
37a79af
Remove unnecessary TakeUntil from CameraPreviewVisualizer
RoboDoig Sep 4, 2026
6f9ae74
Ensure all visualizers are using their IncludeWorkflow implementations
RoboDoig Sep 4, 2026
f3a26c0
Ensure visualizer is automatically visible on workflow start
RoboDoig Sep 4, 2026
984d832
Group Visualizer as IncludeWorkflow
RoboDoig Sep 4, 2026
d7cd301
fixes graphing bugs
micahwoodard Sep 4, 2026
3a0ab43
Merge pull request #170 from AllenNeuralDynamics/feat-autowater-and-b…
micahwoodard Sep 4, 2026
f45f2eb
Merge pull request #164 from AllenNeuralDynamics/fix-stage-movements
micahwoodard Sep 4, 2026
88bd896
Merge pull request #169 from AllenNeuralDynamics/visualizer-window
micahwoodard Sep 4, 2026
43a96c4
Update test visualizer for new exposed subjects
RoboDoig Sep 4, 2026
5047971
Adds back take until
micahwoodard Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .bonsai/Bonsai.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@
<Package id="Bonsai.Gui" version="0.1.0" />
<Package id="Bonsai.Harp" version="3.6.1" />
<Package id="Bonsai.Harp.Design" version="3.5.0" />
<Package id="Bonsai.ImGui" version="0.2.0" />
<Package id="Bonsai.ImGui.Design" version="0.2.0" />
<Package id="Bonsai.ImGui.Visualizers" version="0.2.0" />
<Package id="Bonsai.ImGui.Visualizers.Design" version="0.2.0" />
<Package id="Bonsai.ImPlot" version="0.2.0" />
<Package id="Bonsai.Numerics" version="0.10.0" />
<Package id="Bonsai.Scripting.Expressions" version="2.10.0" />
<Package id="Bonsai.Scripting.Expressions.Design" version="2.10.0" />
Expand Down Expand Up @@ -101,6 +106,11 @@
<AssemblyReference assemblyName="Bonsai.Gui" />
<AssemblyReference assemblyName="Bonsai.Harp" />
<AssemblyReference assemblyName="Bonsai.Harp.Design" />
<AssemblyReference assemblyName="Bonsai.ImGui" />
<AssemblyReference assemblyName="Bonsai.ImGui.Design" />
<AssemblyReference assemblyName="Bonsai.ImGui.Visualizers" />
<AssemblyReference assemblyName="Bonsai.ImGui.Visualizers.Design" />
<AssemblyReference assemblyName="Bonsai.ImPlot" />
<AssemblyReference assemblyName="Bonsai.Numerics" />
<AssemblyReference assemblyName="Bonsai.Scripting.Expressions" />
<AssemblyReference assemblyName="Bonsai.Scripting.Expressions.Design" />
Expand Down Expand Up @@ -146,6 +156,11 @@
<AssemblyLocation assemblyName="Bonsai.Gui" processorArchitecture="MSIL" location="Packages/Bonsai.Gui.0.1.0/lib/net472/Bonsai.Gui.dll" />
<AssemblyLocation assemblyName="Bonsai.Harp" processorArchitecture="MSIL" location="Packages/Bonsai.Harp.3.6.1/lib/net462/Bonsai.Harp.dll" />
<AssemblyLocation assemblyName="Bonsai.Harp.Design" processorArchitecture="MSIL" location="Packages/Bonsai.Harp.Design.3.5.0/lib/net462/Bonsai.Harp.Design.dll" />
<AssemblyLocation assemblyName="Bonsai.ImGui" processorArchitecture="Amd64" location="Packages/Bonsai.ImGui.0.2.0/lib/net472/Bonsai.ImGui.dll" />
<AssemblyLocation assemblyName="Bonsai.ImGui.Design" processorArchitecture="Amd64" location="Packages/Bonsai.ImGui.Design.0.2.0/lib/net472/Bonsai.ImGui.Design.dll" />
<AssemblyLocation assemblyName="Bonsai.ImGui.Visualizers" processorArchitecture="Amd64" location="Packages/Bonsai.ImGui.Visualizers.0.2.0/lib/net472/Bonsai.ImGui.Visualizers.dll" />
<AssemblyLocation assemblyName="Bonsai.ImGui.Visualizers.Design" processorArchitecture="Amd64" location="Packages/Bonsai.ImGui.Visualizers.Design.0.2.0/lib/net472/Bonsai.ImGui.Visualizers.Design.dll" />
<AssemblyLocation assemblyName="Bonsai.ImPlot" processorArchitecture="Amd64" location="Packages/Bonsai.ImPlot.0.2.0/lib/net472/Bonsai.ImPlot.dll" />
<AssemblyLocation assemblyName="Bonsai.Numerics" processorArchitecture="MSIL" location="Packages/Bonsai.Numerics.0.10.0/lib/net462/Bonsai.Numerics.dll" />
<AssemblyLocation assemblyName="Bonsai.Scripting.Expressions" processorArchitecture="MSIL" location="Packages/Bonsai.Scripting.Expressions.2.10.0/lib/net472/Bonsai.Scripting.Expressions.dll" />
<AssemblyLocation assemblyName="Bonsai.Scripting.Expressions.Design" processorArchitecture="MSIL" location="Packages/Bonsai.Scripting.Expressions.Design.2.10.0/lib/net472/Bonsai.Scripting.Expressions.Design.dll" />
Expand Down
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ bin
obj
Packages
Bonsai.exe.WebView2
.bonsai/Settings/
.bonsai/Settings/**
*.bin
*.avi
*.dll
Expand Down Expand Up @@ -87,4 +87,7 @@ ipython_config.py
# IDEs and editors
.vscode/
.idea
.sln
.sln
*.editor

*.layout
4 changes: 3 additions & 1 deletion src/Extensions.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
<PackageReference Include="AllenNeuralDynamics.AindBehaviorServices.Distributions" Version="0.2.0" />
<PackageReference Include="AllenNeuralDynamics.AindManipulator" Version="0.3.0" />
<PackageReference Include="Rx-Core" Version="2.2.5" />

<PackageReference Include="Bonsai.ImPlot" Version="0.2.0" />
<PackageReference Include="Bonsai.Harp" Version="3.6.1" />
<PackageReference Include="Bonsai.ImGui.Visualizers" Version="0.2.0" />
</ItemGroup>
</Project>
18 changes: 18 additions & 0 deletions src/Extensions/AsObject.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Bonsai;
using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq;
using Newtonsoft.Json.Linq;

[Combinator]
[Description("")]
[WorkflowElementCategory(ElementCategory.Transform)]
public class AsObject
{
public IObservable<object> Process(IObservable<IDictionary<string, string>> source)
{
return source.Select(value => JObject.FromObject(value));
}
}
Loading