Environment
C++ in MFC using namespace Vieworks::vivix,
Instance : CVivixSDK vivixSDK; CDetector* detectorIns;
C# in Winform using Vieworks.vivix.net, using Vieworks.vivix.net.detector; using Vieworks.vivix.net.scu;
Instance: VivixNet netSDK; DETECTOR_INFO DetInfo;Detector detectorIns;
Discription
You can check detector condition, before take acquisition or something else.
C++
void CSDKCplusExampleApp::KeepImage(int keepcount, FILE_PATH path)
{
bool enough = true;
vivixSDK.KeepRecentImageSet(true, keepcount, path, &enough);
if (enough == false)
{
return;
}
//you can skip the setting delegate code if you register already
{
detectorIns->SetNotifyFrameGrabberImageInStart((NotifyFrameGrabberImageInStart)NotifyImageInStart);
detectorIns->SetNotifyFrameGrabberImageIn((NotifyFrameGrabberImageIn)NotifyImageIn);
detectorIns->SetNotifyFrameGrabberImageInEnd((NotifyFrameGrabberImageInEnd)NotifyImageInEnd);
}
}
void CSDKCplusExampleApp::GetKeepingImage(int id)
{
detectorIns->RecentImageGet(id);
}
void CSDKCplusExampleApp::NotifyImageInStart(DETECTOR_ID id, IMAGE_MODE imgMode)
{
// A function call when the image starts to be sent.
}
void CSDKCplusExampleApp::NotifyImageIn(DETECTOR_ID id, IMAGE_MODE imgMode, IMAGE_INFO* image)
{
// A function call when sending the acquired image. keeping image will be sent this delegate by IMAGE_MODE.IMAGE_MODE_BACKUP
if (imgMode == IMAGE_MODE_NORMAL)
{
KeepImageID(image->imageID);
}
}
void CSDKCplusExampleApp::NotifyImageInEnd(DETECTOR_ID id, IMAGE_MODE imgMode)
{
// A function call when the completing to send the image.
}
void CSDKCplusExampleApp::KeepImageID(unsigned int id)
{
//Save Image ID and matching patint info
}
C#
public void KeepImage(int keepcount, string path)
{
bool enough = true;
sdk.KeepRecentImageSet(true, keepcount, path, ref enough);
if(enough == false)
{
return;
}
//you can skip the setting delegate code if you register already
{
detectorIns.SetDelegateFrameGrabberImageInStart(OnDelegateFrameGrabberImageInStart);
detectorIns.SetDelegateFrameGrabberImageIn(OnDelegateFrameGrabberImageIn);
detectorIns.SetDelegateFrameGrabberImageInEnd(OnDelegateFrameGrabberImageInEnd);
}
}
public void GetKeptImage(int id)
{
detectorIns.RecentImageGet(id);
}
void OnDelegateFrameGrabberImageInStart(int id, IMAGE_MODE imgMode)
{
// A function call when the image starts to be sent.
}
void OnDelegateFrameGrabberImageIn(int id, IMAGE_MODE imgMode, IMAGE_INFO image)
{
// A function call when sending the acquired image. keeping image will be sent this delegate by IMAGE_MODE.IMAGE_MODE_BACKUP
if (imgMode == IMAGE_MODE.IMAGE_MODE_NORMAL)
{
KeepImageID(image.imageID);
}
}
void OnDelegateFrameGrabberImageInEnd(int id, IMAGE_MODE imgMode)
{
// A function call when the completing to send the image.
}
public void KeepImageID(uint ID)
{
//Save Image ID and matching patint info
}