/** * Test routine for the */ void TestCameraStreaming(CMMCore& core) { const long numFrames = 20; const int memoryFootprintMB = 100; const double intervalMs = 300.0; // ms core.setCircularBufferMemoryFootprint(memoryFootprintMB); cout << "Buffer capacity: " << core.getBufferTotalCapacity() << endl; string camera = core.getCameraDevice(); core.setExposure(200.0); // test normal mode core.snapImage(); core.getImage(); core.startSequenceAcquisition(numFrames, intervalMs, true); CDeviceUtils::SleepMs(5000); core.stopSequenceAcquisition(); int count=0; while (core.deviceBusy(camera.c_str())) { Metadata md; core.getLastImageMD(0, 0, md); double interval = core.getBufferIntervalMs(); printf("Displaying current image, %ld in que, %.0f ms interval.\n", core.getRemainingImageCount(), interval); MetadataSingleTag mdst = md.GetSingleTag(MM::g_Keyword_Elapsed_Time_ms); printf("Elapsed time %s, device %s\n", mdst.GetValue().c_str(), mdst.GetDevice().c_str()); } printf("Camera finished with %.0f ms interval.\n", core.getBufferIntervalMs()); core.setProperty(camera.c_str(), "ShutterMode", "Auto"); cout << "Done! Free space =" << core.getBufferFreeCapacity() << endl; core.startSequenceAcquisition(numFrames, intervalMs, true); count=0; while (core.deviceBusy(camera.c_str())) { Metadata md; core.getLastImageMD(0, 0, md); double interval = core.getBufferIntervalMs(); printf("Displaying current image, %ld in que, %.0f ms interval.\n", core.getRemainingImageCount(), interval); MetadataSingleTag mdst = md.GetSingleTag(MM::g_Keyword_Elapsed_Time_ms); printf("Elapsed time %s, device %s\n", mdst.GetValue().c_str(), mdst.GetDevice().c_str()); } printf("Camera finished with %.0f ms interval.\n", core.getBufferIntervalMs()); core.setProperty(camera.c_str(), "ShutterMode", "Auto"); }
/** * Test routine for the MMConfig_Demo.cfg. */ void TestCameraLive(CMMCore& core) { const int memoryFootprintMB = 100; core.setCircularBufferMemoryFootprint(memoryFootprintMB); cout << "Buffer capacity: " << core.getBufferTotalCapacity() << endl; string camera = core.getCameraDevice(); //core.setProperty(camera.c_str(), "ShutterMode", "Open"); core.setProperty(camera.c_str(), "Binning", "4"); core.setExposure(200.0); // test normal mode core.snapImage(); core.getImage(); core.startContinuousSequenceAcquisition(0); int count=0; while (core.deviceBusy(camera.c_str())) { core.getLastImage(); double interval = core.getBufferIntervalMs(); printf("Displaying image %d, %ld in que, %.0f ms interval.\n", count+1, core.getRemainingImageCount(), interval); count++; if (count >= 100) core.stopSequenceAcquisition(); } printf("Camera finished with %.0f ms interval.\n", core.getBufferIntervalMs()); //core.setProperty(camera.c_str(), "ShutterMode", "Auto"); }
/** * Test routine for the MMConfig_Stream.cfg. */ void TestCameraStreaming(CMMCore& core) { const long numFrames = 20; const int memoryFootprintMB = 100; const double intervalMs = 300.0; // ms ACE_Time_Value displayTime(0, 80000L); // us ACE_Time_Value restTime(5, 0L); core.setCircularBufferMemoryFootprint(memoryFootprintMB); cout << "Buffer capacity: " << core.getBufferTotalCapacity() << endl; string camera = core.getCameraDevice(); //core.setProperty(camera.c_str(), "ShutterMode", "Open"); //core.setProperty(camera.c_str(), "Binning", "2"); core.setExposure(200.0); // test normal mode core.snapImage(); core.getImage(); core.startSequenceAcquisition(numFrames, intervalMs); StreamTask streamWriter(&core); int result = streamWriter.activate (); int count=0; while (core.deviceBusy(camera.c_str())) { core.getLastImage(); double interval = core.getBufferIntervalMs(); printf("Displaying current image, %ld in que, %.0f ms interval.\n", core.getRemainingImageCount(), interval); ACE_OS::sleep(displayTime); } printf("Camera finished with %.0f ms interval.\n", core.getBufferIntervalMs()); core.setProperty(camera.c_str(), "ShutterMode", "Auto"); streamWriter.wait (); cout << "Done! Free space =" << core.getBufferFreeCapacity() << endl; core.startSequenceAcquisition(numFrames, intervalMs); StreamTask streamWriter1(&core); result = streamWriter1.activate (); count=0; while (core.deviceBusy(camera.c_str())) { core.getLastImage(); double interval = core.getBufferIntervalMs(); printf("Displaying current image, %ld in que, %.0f ms interval.\n", core.getRemainingImageCount(), interval); ACE_OS::sleep(displayTime); } printf("Camera finished with %.0f ms interval.\n", core.getBufferIntervalMs()); core.setProperty(camera.c_str(), "ShutterMode", "Auto"); streamWriter1.wait (); }