Skip to content

Commit 8b0ba61

Browse files
authored
Update SpikeSorterCanvas.h
1 parent cecc277 commit 8b0ba61

1 file changed

Lines changed: 22 additions & 20 deletions

File tree

Source/Plugins/SpikeSorter/SpikeSorterCanvas.h

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
#define SPIKESORTERCANVAS_H_
2626

2727
#include <VisualizerWindowHeaders.h>
28-
#include <SpikeLib.h>
29-
3028
#include "SpikeSorter.h"
3129

3230
#include <vector>
@@ -102,21 +100,22 @@ class SpikeSorterCanvas : public Visualizer, public Button::Listener
102100

103101
SpikeSorter* processor;
104102

103+
// added editAllThresholds
105104
ScopedPointer<UtilityButton> addPolygonUnitButton,
106-
addUnitButton, delUnitButton, addBoxButton, delBoxButton, rePCAButton,nextElectrode,prevElectrode,newIDbuttons,deleteAllUnits;
105+
addUnitButton, delUnitButton, addBoxButton, delBoxButton, rePCAButton,nextElectrode,prevElectrode,newIDbuttons,deleteAllUnits,editAllThresholds;
107106

108107
private:
109108
void removeUnitOrBox();
110109
ScopedPointer<SpikeThresholdDisplay> spikeDisplay;
111110
ScopedPointer<Viewport> viewport;
112111

112+
113113
bool inDrawingPolygonMode;
114114
bool newSpike;
115-
SpikeObject spike;
115+
// SpikeObject spike;
116116
Electrode* electrode;
117117
int scrollBarThickness;
118-
119-
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SpikeSorterCanvas);
118+
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SpikeSorterCanvas);
120119

121120
};
122121

@@ -138,7 +137,7 @@ class SpikeThresholdDisplay : public Component
138137
void setPolygonMode(bool on);
139138
void mouseDown(const juce::MouseEvent& event);
140139

141-
void plotSpike(const SpikeObject& spike, int electrodeNum);
140+
void plotSpike(SorterSpikePtr spike, int electrodeNum);
142141

143142
int getTotalHeight()
144143
{
@@ -148,7 +147,7 @@ class SpikeThresholdDisplay : public Component
148147
private:
149148
int numColumns;
150149
int totalHeight;
151-
150+
152151
SpikeSorter* processor;
153152
SpikeSorterCanvas* canvas;
154153
Viewport* viewport;
@@ -175,7 +174,7 @@ class GenericDrawAxes : public Component
175174

176175
virtual ~GenericDrawAxes();
177176

178-
virtual bool updateSpikeData(const SpikeObject& s);
177+
virtual bool updateSpikeData(SorterSpikePtr s);
179178

180179
void setXLims(double xmin, double xmax);
181180
void getXLims(double* xmin, double* xmax);
@@ -194,7 +193,7 @@ class GenericDrawAxes : public Component
194193
double xlims[2];
195194
double ylims[2];
196195

197-
SpikeObject s;
196+
SorterSpikePtr s;
198197

199198
bool gotFirstSpike;
200199

@@ -213,14 +212,14 @@ class WaveformAxes : public GenericDrawAxes
213212
~WaveformAxes() {}
214213

215214

216-
bool updateSpikeData(const SpikeObject& s);
217-
bool checkThreshold(const SpikeObject& spike);
215+
bool updateSpikeData(SorterSpikePtr s);
216+
bool checkThreshold(SorterSpikePtr spike);
218217

219218
void setSignalFlip(bool state);
220219
void paint(Graphics& g);
221220
void isOverUnitBox(float x, float y, int& UnitID, int& BoxID, String& where) ;
222221

223-
void plotSpike(const SpikeObject& s, Graphics& g);
222+
void plotSpike(SorterSpikePtr s, Graphics& g);
224223
void drawBoxes(Graphics& g);
225224

226225
void clear();
@@ -248,6 +247,9 @@ class WaveformAxes : public GenericDrawAxes
248247

249248
private:
250249
int electrodeID;
250+
// new
251+
bool editAll = false;
252+
//
251253
bool signalFlipped;
252254
bool bDragging ;
253255
Colour waveColour;
@@ -268,7 +270,7 @@ class WaveformAxes : public GenericDrawAxes
268270
Font font;
269271
float mouseDownX, mouseDownY;
270272
float mouseOffsetX,mouseOffsetY;
271-
Array<SpikeObject> spikeBuffer;
273+
SorterSpikeArray spikeBuffer;
272274

273275
int spikeIndex;
274276
int bufferSize;
@@ -296,7 +298,7 @@ class PCAProjectionAxes : public GenericDrawAxes, Button::Listener
296298
~PCAProjectionAxes() {}
297299

298300
void setPCARange(float p1min, float p2min, float p1max, float p2max);
299-
bool updateSpikeData(const SpikeObject& s);
301+
bool updateSpikeData(SorterSpikePtr s);
300302
void resized();
301303
void paint(Graphics& g);
302304
void setPolygonDrawingMode(bool on);
@@ -320,19 +322,19 @@ class PCAProjectionAxes : public GenericDrawAxes, Button::Listener
320322
private:
321323
float prevx,prevy;
322324
bool inPolygonDrawingMode;
323-
void drawProjectedSpike(SpikeObject s);
325+
void drawProjectedSpike(SorterSpikePtr s);
324326

325327
bool rangeSet;
326328
SpikeSorter* processor;
327329
void updateProjectionImage(uint16_t, uint16_t, uint16_t, const uint8_t* col);
328-
void updateRange(const SpikeObject& s);
330+
void updateRange(SorterSpikePtr s);
329331
ScopedPointer<UtilityButton> rangeDownButton, rangeUpButton;
330332

331-
Array<SpikeObject> spikeBuffer;
333+
SorterSpikeArray spikeBuffer;
332334
int bufferSize;
333335
int spikeIndex;
334336
bool updateProcessor;
335-
void calcWaveformPeakIdx(const SpikeObject&, int, int, int*, int*);
337+
void calcWaveformPeakIdx(SorterSpikePtr, int, int, int*, int*);
336338

337339
Image projectionImage;
338340

@@ -374,7 +376,7 @@ class SpikeHistogramPlot : public Component, Button::Listener
374376
void setPCARange(float p1min, float p2min, float p1max, float p2max);
375377
void modifyRange(int index,bool up);
376378
void updateUnitsFromProcessor();
377-
void processSpikeObject(const SpikeObject& s);
379+
void processSpikeObject(SorterSpikePtr s);
378380

379381
SpikeSorterCanvas* canvas;
380382

0 commit comments

Comments
 (0)