Skip to content

Commit 9064dfe

Browse files
committed
Update Probe Viewer
1 parent 6b810c2 commit 9064dfe

File tree

3 files changed

+93
-22
lines changed

3 files changed

+93
-22
lines changed

Source/NeuropixelsComponents.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,23 @@ namespace OnixSourcePlugin
6565
K = 10,
6666
L = 11,
6767
M = 12,
68+
A1 = 13, // used for quad base
69+
A2 = 14,
70+
A3 = 15,
71+
A4 = 16,
72+
B1 = 17,
73+
B2 = 18,
74+
B3 = 19,
75+
B4 = 20,
76+
C1 = 21,
77+
C2 = 22,
78+
C3 = 23,
79+
C4 = 24,
80+
D1 = 25,
81+
D2 = 26,
82+
D3 = 27,
83+
D4 = 28,
84+
OFF = 255 //used in v1 API
6885
};
6986

7087
enum class ElectrodeStatus

Source/UI/ProbeBrowser.h

Lines changed: 75 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ namespace OnixSourcePlugin
3737
{
3838
parent = parent_;
3939
probeIndex = probeIndex_;
40+
tooltipWindow = std::make_unique <TooltipWindow>(parent, 300);
4041

4142
cursorType = MouseCursor::NormalCursor;
4243

@@ -118,10 +119,27 @@ namespace OnixSourcePlugin
118119
lowerBound = 530; // bottom of interface
119120

120121
disconnectedColors[Bank::NONE] = Colour(0, 0, 0);
122+
disconnectedColors[Bank::OFF] = Colour(0, 0, 0);
121123
disconnectedColors[Bank::A] = Colour(180, 180, 180);
124+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
125+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
126+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
127+
disconnectedColors[Bank::A1] = Colour(180, 180, 180);
122128
disconnectedColors[Bank::B] = Colour(160, 160, 160);
129+
disconnectedColors[Bank::B1] = Colour(160, 160, 160);
130+
disconnectedColors[Bank::B2] = Colour(160, 160, 160);
131+
disconnectedColors[Bank::B3] = Colour(160, 160, 160);
132+
disconnectedColors[Bank::B4] = Colour(160, 160, 160);
123133
disconnectedColors[Bank::C] = Colour(140, 140, 140);
134+
disconnectedColors[Bank::C1] = Colour(140, 140, 140);
135+
disconnectedColors[Bank::C2] = Colour(140, 140, 140);
136+
disconnectedColors[Bank::C3] = Colour(140, 140, 140);
137+
disconnectedColors[Bank::C4] = Colour(140, 140, 140);
124138
disconnectedColors[Bank::D] = Colour(120, 120, 120);
139+
disconnectedColors[Bank::D1] = Colour(120, 120, 120);
140+
disconnectedColors[Bank::D2] = Colour(120, 120, 120);
141+
disconnectedColors[Bank::D3] = Colour(120, 120, 120);
142+
disconnectedColors[Bank::D4] = Colour(120, 120, 120);
125143
disconnectedColors[Bank::E] = Colour(180, 180, 180);
126144
disconnectedColors[Bank::F] = Colour(160, 160, 160);
127145
disconnectedColors[Bank::G] = Colour(140, 140, 140);
@@ -212,10 +230,8 @@ namespace OnixSourcePlugin
212230
if (index > -1)
213231
{
214232
isOverElectrode = true;
215-
electrodeInfoString = getElectrodeInfoString(index);
233+
tooltipWindow->displayTip(event.getScreenPosition(), getElectrodeInfoString(index));
216234
}
217-
218-
repaint();
219235
}
220236
else
221237
{
@@ -224,7 +240,7 @@ namespace OnixSourcePlugin
224240
if (isOverChannelNew != isOverElectrode)
225241
{
226242
isOverElectrode = isOverChannelNew;
227-
repaint();
243+
tooltipWindow->hideTip();
228244
}
229245
}
230246
}
@@ -431,7 +447,7 @@ namespace OnixSourcePlugin
431447
}
432448

433449
// draw channel numbers
434-
g.setColour(Colours::grey);
450+
g.setColour(findColour(ThemeColours::defaultText));
435451
g.setFont(12);
436452

437453
int ch = 0;
@@ -461,7 +477,7 @@ namespace OnixSourcePlugin
461477
false);
462478

463479
// draw shank outline
464-
g.setColour(Colours::lightgrey);
480+
g.setColour(findColour(ThemeColours::outline).withAlpha(0.75f));
465481

466482
for (int i = 0; i < settings->probeMetadata.shank_count; i++)
467483
{
@@ -499,7 +515,7 @@ namespace OnixSourcePlugin
499515

500516
if (settings->electrodeMetadata[i].isSelected)
501517
{
502-
g.setColour(Colours::white);
518+
g.setColour(findColour(ThemeColours::componentBackground).contrasting());
503519
g.fillRect(xLoc, yLoc, electrodeHeight, electrodeHeight);
504520
}
505521

@@ -510,9 +526,9 @@ namespace OnixSourcePlugin
510526
}
511527

512528
if (isOverZoomRegion)
513-
g.setColour(Colour(25, 25, 25));
529+
g.setColour(findColour(ThemeColours::outline));
514530
else
515-
g.setColour(Colour(55, 55, 55));
531+
g.setColour(findColour(ThemeColours::outline).withAlpha(0.5f));
516532

517533
Path upperBorder;
518534
upperBorder.startNewSubPath(5, lowerBound - zoomOffset - zoomHeight);
@@ -540,16 +556,6 @@ namespace OnixSourcePlugin
540556
{
541557
g.setColour(Colours::white.withAlpha(0.5f));
542558
}
543-
544-
if (isOverElectrode)
545-
{
546-
g.setColour(Colour(55, 55, 55));
547-
g.setFont(15);
548-
g.drawMultiLineText(electrodeInfoString,
549-
250 + shankOffset + 45,
550-
330,
551-
250);
552-
}
553559
}
554560

555561
int getZoomHeight()
@@ -617,7 +623,7 @@ namespace OnixSourcePlugin
617623

618624
MouseCursor::StandardCursorType cursorType;
619625

620-
std::string electrodeInfoString;
626+
std::unique_ptr<TooltipWindow> tooltipWindow;
621627

622628
Colour getElectrodeColour(int i)
623629
{
@@ -655,7 +661,7 @@ namespace OnixSourcePlugin
655661
else if (ref == "Tip")
656662
return Colours::orange;
657663
else
658-
return Colours::black;
664+
return Colours::purple;
659665
}
660666
else if (mode == VisualizationMode::ACTIVITY_VIEW)
661667
{
@@ -768,15 +774,63 @@ namespace OnixSourcePlugin
768774
case Bank::A:
769775
a += "A";
770776
break;
777+
case Bank::A1:
778+
a += "A1";
779+
break;
780+
case Bank::A2:
781+
a += "A2";
782+
break;
783+
case Bank::A3:
784+
a += "A3";
785+
break;
786+
case Bank::A4:
787+
a += "A4";
788+
break;
771789
case Bank::B:
772790
a += "B";
773791
break;
792+
case Bank::B1:
793+
a += "B1";
794+
break;
795+
case Bank::B2:
796+
a += "B2";
797+
break;
798+
case Bank::B3:
799+
a += "B3";
800+
break;
801+
case Bank::B4:
802+
a += "B4";
803+
break;
774804
case Bank::C:
775805
a += "C";
776806
break;
807+
case Bank::C1:
808+
a += "C1";
809+
break;
810+
case Bank::C2:
811+
a += "C2";
812+
break;
813+
case Bank::C3:
814+
a += "C3";
815+
break;
816+
case Bank::C4:
817+
a += "C4";
818+
break;
777819
case Bank::D:
778820
a += "D";
779821
break;
822+
case Bank::D1:
823+
a += "D1";
824+
break;
825+
case Bank::D2:
826+
a += "D2";
827+
break;
828+
case Bank::D3:
829+
a += "D3";
830+
break;
831+
case Bank::D4:
832+
a += "D4";
833+
break;
780834
case Bank::E:
781835
a += "E";
782836
break;

Source/UI/SettingsInterface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ namespace OnixSourcePlugin
9090
virtual void updateSettings() = 0;
9191

9292
std::shared_ptr<OnixDevice> getDevice() { return device; }
93-
9493
VisualizationMode getMode() const { return mode; }
94+
Type getType() const { return type; }
9595

9696
virtual std::string getReferenceText() { return ""; }
9797

0 commit comments

Comments
 (0)