Skip to content

Commit e348a6f

Browse files
author
mark
committed
Split MMDevice/ImgBuffer.h to make separate version for Core
MMDevice/ImgBuffer.{h,cpp} contained ImgBuffer, used as a utility class in some device adapters, and FrameBuffer, only used by the Core CircularBuffer. Delete FrameBuffer from MMDevice, and replace CircularBuffer's usage with a duplicated mm::ImgBuffer and mm::FrameBuffer, so that the Core implementation is no longer tied to the MMDevice interface. git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@16281 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
1 parent 159b067 commit e348a6f

12 files changed

Lines changed: 442 additions & 207 deletions

MMCore/CircularBuffer.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ bool CircularBuffer::InsertMultiChannel(const unsigned char* pixArray, unsigned
152152
{
153153
MMThreadGuard guard(g_insertLock);
154154

155-
ImgBuffer* pImg;
155+
mm::ImgBuffer* pImg;
156156
unsigned long singleChannelSize = (unsigned long)width * height * byteDepth;
157157

158158
{
@@ -241,23 +241,23 @@ bool CircularBuffer::InsertMultiChannel(const unsigned char* pixArray, unsigned
241241

242242
const unsigned char* CircularBuffer::GetTopImage() const
243243
{
244-
ImgBuffer* img = GetNthFromTopImageBuffer(0, 0, 0);
244+
const mm::ImgBuffer* img = GetNthFromTopImageBuffer(0, 0, 0);
245245
if (!img)
246246
return 0;
247247
return img->GetPixels();
248248
}
249249

250-
const ImgBuffer* CircularBuffer::GetTopImageBuffer(unsigned channel, unsigned slice) const
250+
const mm::ImgBuffer* CircularBuffer::GetTopImageBuffer(unsigned channel, unsigned slice) const
251251
{
252252
return GetNthFromTopImageBuffer(0, channel, slice);
253253
}
254254

255-
const ImgBuffer* CircularBuffer::GetNthFromTopImageBuffer(unsigned long n) const
255+
const mm::ImgBuffer* CircularBuffer::GetNthFromTopImageBuffer(unsigned long n) const
256256
{
257257
return GetNthFromTopImageBuffer(static_cast<long>(n), 0, 0);
258258
}
259259

260-
const ImgBuffer* CircularBuffer::GetNthFromTopImageBuffer(long n,
260+
const mm::ImgBuffer* CircularBuffer::GetNthFromTopImageBuffer(long n,
261261
unsigned channel, unsigned slice) const
262262
{
263263
MMThreadGuard guard(g_bufferLock);
@@ -276,13 +276,13 @@ const ImgBuffer* CircularBuffer::GetNthFromTopImageBuffer(long n,
276276

277277
const unsigned char* CircularBuffer::GetNextImage()
278278
{
279-
ImgBuffer* img = GetNextImageBuffer(0, 0);
279+
const mm::ImgBuffer* img = GetNextImageBuffer(0, 0);
280280
if (!img)
281281
return 0;
282-
return img.GetPixels();
282+
return img->GetPixels();
283283
}
284284

285-
const ImgBuffer* CircularBuffer::GetNextImageBuffer(unsigned channel, unsigned slice)
285+
const mm::ImgBuffer* CircularBuffer::GetNextImageBuffer(unsigned channel, unsigned slice)
286286
{
287287
MMThreadGuard guard(g_bufferLock);
288288

MMCore/CircularBuffer.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#define _CIRCULAR_BUFFER_
2727

2828
#include <vector>
29-
#include "../MMDevice/ImgBuffer.h"
29+
#include "FrameBuffer.h"
3030
#include "../MMDevice/MMDevice.h"
3131
#include "ErrorCodes.h"
3232
#include "Error.h"
@@ -64,10 +64,10 @@ class CircularBuffer
6464
bool InsertMultiChannel(const unsigned char* pixArray, unsigned int numChannels, unsigned int width, unsigned int height, unsigned int byteDepth, const Metadata* pMd) throw (CMMError);
6565
const unsigned char* GetTopImage() const;
6666
const unsigned char* GetNextImage();
67-
const ImgBuffer* GetTopImageBuffer(unsigned channel, unsigned slice) const;
68-
const ImgBuffer* GetNthFromTopImageBuffer(unsigned long n) const;
69-
const ImgBuffer* GetNthFromTopImageBuffer(long n, unsigned channel, unsigned slice) const;
70-
const ImgBuffer* GetNextImageBuffer(unsigned channel, unsigned slice);
67+
const mm::ImgBuffer* GetTopImageBuffer(unsigned channel, unsigned slice) const;
68+
const mm::ImgBuffer* GetNthFromTopImageBuffer(unsigned long n) const;
69+
const mm::ImgBuffer* GetNthFromTopImageBuffer(long n, unsigned channel, unsigned slice) const;
70+
const mm::ImgBuffer* GetNextImageBuffer(unsigned channel, unsigned slice);
7171
void Clear() {MMThreadGuard guard(g_bufferLock); insertIndex_=0; saveIndex_=0; overflow_ = false;}
7272

7373
bool Overflow() {MMThreadGuard guard(g_bufferLock); return overflow_;}
@@ -89,7 +89,7 @@ class CircularBuffer
8989
unsigned int numChannels_;
9090
unsigned int numSlices_;
9191
bool overflow_;
92-
std::vector<FrameBuffer> frameArray_;
92+
std::vector<mm::FrameBuffer> frameArray_;
9393
};
9494

9595

MMCore/CoreCallback.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
#include "../MMDevice/DeviceThreads.h"
2929
#include "../MMDevice/DeviceUtils.h"
30+
#include "../MMDevice/ImgBuffer.h"
3031
#include "CircularBuffer.h"
3132
#include "CoreCallback.h"
3233
#include "DeviceManager.h"

MMCore/CoreCallback.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class CoreCallback : public MM::Core
8585
void Sleep(const MM::Device* caller, double intervalMs);
8686

8787
// continous acquisition support
88-
int InsertImage(const MM::Device* caller, const ImgBuffer& imgBuf);
88+
int InsertImage(const MM::Device* caller, const ImgBuffer& imgBuf); // Note: _not_ mm::ImgBuffer
8989
int InsertImage(const MM::Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const char* serializedMetadata, const bool doProcess = true);
9090

9191
/*Deprecated*/ int InsertImage(const MM::Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const Metadata* pMd = 0, const bool doProcess = true);

0 commit comments

Comments
 (0)