ringbuffer and statistics
This commit is contained in:
@@ -11,14 +11,19 @@ using Inspectron.Settings;
|
||||
using Inspectron.Settings.Windows.Configuration;
|
||||
using Lindt.Colorballs.Duo.Utils;
|
||||
using Ninject;
|
||||
using Ninject.Extensions.ChildKernel;
|
||||
using OpenCvSharp;
|
||||
using VisionBuilder.UI.Common.RecipeProcessing;
|
||||
using VisionBuilder.UI.Console;
|
||||
using VisionBuilder.UI.Recipes.HawkeyeRecipe;
|
||||
using VisionBuilder.UI.Ringbuffer;
|
||||
using VisionBuilder.UI.Statistics;
|
||||
|
||||
namespace VisionBuilder.UI.Windows.Test
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
private const string CAMERA1 = "Camera 1";
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
@@ -29,59 +34,43 @@ namespace VisionBuilder.UI.Windows.Test
|
||||
// see https://aka.ms/applicationconfiguration.
|
||||
ApplicationConfiguration.Initialize();
|
||||
|
||||
InspectronSettings settings = new InspectronSettings("..\\Config\\AppSettings.xml");
|
||||
|
||||
StandardKernel kernelCamera1 = new StandardKernel();
|
||||
var mainKernel = Common.VisionBuilder.CreateMainKernel(settings);
|
||||
|
||||
|
||||
|
||||
// CAMERA 1 //
|
||||
ChildKernel kernelCamera1 = new ChildKernel(mainKernel);
|
||||
mainKernel.UseWindowsServices();
|
||||
|
||||
// MODULES //
|
||||
kernelCamera1
|
||||
.RegisterCamera(CAMERA1)
|
||||
.UseStatistics(CAMERA1)
|
||||
.UseRingbuffer(CAMERA1)
|
||||
.UseHawkeyeRecipes(CAMERA1)
|
||||
.UseConsole();
|
||||
|
||||
|
||||
// SETTINGS //
|
||||
InspectronSettings settings = new InspectronSettings("..\\Config\\AppSettings.xml");
|
||||
kernelCamera1.Bind<InspectronSettings>().ToConstant(settings);
|
||||
kernelCamera1.Bind<UIConfiguration,ISettings>().ToConstant(new UIConfiguration());
|
||||
kernelCamera1.Bind<CameraSettings, ISettings>().ToConstant(new CameraSettings("Camera 1"));
|
||||
kernelCamera1.Bind<EmulationSettings, ISettings>().ToConstant(new EmulationSettings("Camera 1"));
|
||||
kernelCamera1.Bind<HawkeyeRecognitionSettings, ISettings>().ToConstant(new HawkeyeRecognitionSettings("Camera 1"));
|
||||
kernelCamera1.Bind<VisionBuilderRingbufferSettings, ISettings>().ToConstant(new VisionBuilderRingbufferSettings("Camera 1"));
|
||||
|
||||
// LOAD SETTINGS //
|
||||
kernelCamera1.RegisterSettings();
|
||||
settings.LoadSettings();
|
||||
|
||||
// Create camera and bind it
|
||||
// Must be done after settings are loaded
|
||||
kernelCamera1.UseCamera();
|
||||
|
||||
|
||||
|
||||
kernelCamera1.InitializeModules();
|
||||
|
||||
var mainWindowVm = mainKernel.Get<MainWindowVM>();
|
||||
mainWindowVm.SingleCameraVms = [
|
||||
kernelCamera1.Get<SingleCameraVM>()
|
||||
];
|
||||
|
||||
|
||||
// --- //
|
||||
|
||||
// SOURCES //
|
||||
var cameraSettings = kernelCamera1.Get<CameraSettings>();
|
||||
switch (cameraSettings.Camera1Source)
|
||||
{
|
||||
case CameraSettings.EImageSource.Emulation:
|
||||
kernelCamera1.Bind<IImageSource>().To<EmulationCameraImageSource>().InSingletonScope();
|
||||
break;
|
||||
case CameraSettings.EImageSource.Hawkeye:
|
||||
break;
|
||||
case CameraSettings.EImageSource.IDS:
|
||||
break;
|
||||
case CameraSettings.EImageSource.Basler:
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
// --- //
|
||||
|
||||
// SERVICES //
|
||||
kernelCamera1.Bind<ISettingsService>().To<SettingsService>().InSingletonScope();
|
||||
kernelCamera1.Bind<IRecognitionControl>().To<HawkeyeRecognitionControl>().InSingletonScope();
|
||||
kernelCamera1.Bind<VisionBuilderRingbuffer>().ToSelf().InSingletonScope();
|
||||
kernelCamera1.Bind<ILoadingService>().To<LoadingService>().InSingletonScope();
|
||||
|
||||
kernelCamera1.Get<VisionBuilderRingbuffer>(); // initialize the ringbuffer
|
||||
|
||||
var mainWindowVm = new MainWindowVM(kernelCamera1.Get<ISettingsService>())
|
||||
{
|
||||
SingleCameraVms = new ObservableCollection<SingleCameraVM>()
|
||||
{
|
||||
new SingleCameraVM(kernelCamera1.Get<CameraSettings>(),kernelCamera1.Get<UIConfiguration>(),new RecipeSelectionDialogService(),kernelCamera1.Get<IRecognitionControl>(), new ImagePreviewService(), new NoLearning())
|
||||
}
|
||||
};
|
||||
|
||||
settings.LoadSettings();
|
||||
Application.Run(new Form1(mainWindowVm));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user