public ImageDocumentDetectionService( IImagePreProcessor[] preProcessors, IImageExtractor extractor, IContourDetector[] contourDetectors, IResultScorer[] scorers, IImagePostProcessor[] postProcessors) { _preProcessors = preProcessors; _extractor = extractor; _contourDetectors = contourDetectors; _scorers = scorers; }
/// <summary> /// Initializes a new instance of the <see cref="ImageService"/> class. /// </summary> /// <param name="loggerFactory">The logger factory.</param> /// <param name="configuration">The configuration.</param> /// <param name="fileSystemStrategy">The file system strategy.</param> /// <param name="appInfoFactory">The application information factory.</param> /// <param name="jsonWriter">The JSON writer.</param> /// <param name="imageExtractor">The image extractor.</param> /// <param name="gifImageWriter">The GIF image writer.</param> /// <exception cref="ArgumentNullException"> /// loggerFactory /// or /// configuration /// or /// fileSystemStrategy /// or /// appInfoFactory /// or /// jsonWriter /// or /// imageExtractor /// or /// gifImageWriter /// </exception> public ImageService( ILoggerFactory loggerFactory, IAmiConfigurationManager configuration, IFileSystemStrategy fileSystemStrategy, IAppInfoFactory appInfoFactory, IDefaultJsonWriter jsonWriter, IImageExtractor imageExtractor, IGifImageWriter gifImageWriter) { logger = loggerFactory?.CreateLogger <ImageService>(); if (logger == null) { throw new ArgumentNullException(nameof(loggerFactory)); } this.configuration = configuration; if (this.configuration == null) { throw new ArgumentNullException(nameof(configuration)); } this.fileSystemStrategy = fileSystemStrategy; if (this.fileSystemStrategy == null) { throw new ArgumentNullException(nameof(fileSystemStrategy)); } this.appInfoFactory = appInfoFactory; if (this.appInfoFactory == null) { throw new ArgumentNullException(nameof(appInfoFactory)); } this.jsonWriter = jsonWriter; if (this.jsonWriter == null) { throw new ArgumentNullException(nameof(jsonWriter)); } this.imageExtractor = imageExtractor; if (this.imageExtractor == null) { throw new ArgumentNullException(nameof(imageExtractor)); } this.gifImageWriter = gifImageWriter; if (this.gifImageWriter == null) { throw new ArgumentNullException(nameof(gifImageWriter)); } }
public MotionSensorStartup(MotionSensorSetup setup) { //setup the extractor imageExtractor = new ImageExtractor(setup.camera); imageExtractor.framerateBroadcast += new ImageExtractor.FramerateBroadcastEvent(FramerateBroadcastEventHandler); imageExtractor.asyncrohous = true; //set up the save file object imageSaver = new ImageSaver(setup.imageSaveLocation, "movement", setup.camera.cameraId); imageSaver.saveToFileServer = true; //setup.saveImagesToFileServer; imageSaver.saveToDatabase = setup.saveImagesToDatabase; imageSaver.ParentDirectory = setup.imageSaveLocation; captureId = imageSaver.captureId; //set up the database object if(setup.saveImagesToDatabase) { database = new CaptureDb(ConfigurationManager.ConnectionStrings["LOCALDB"].ConnectionString); database.CreateCaptureSession(captureId, imageSaver.SaveDirectory); detectionId = database.CreateDetectionSession(captureId); imageSaver.detectionId = detectionId; } //setup the motion sensor motionSensor = new MotionSensor_2a(); motionSensor.settings = new MotionSensorSettings(); motionSensor.settings.LoadDefaults(); motionSensor.motionDetected += new MotionSensor_2.MotionDetected(imageSaver.ImageCreatedAsync); //create the validator imageValidator = new ImageValidator(); imageValidator.ListenForImages(imageExtractor); imageValidator.imageValidated += new ImageValidator.ImageValidatedEvent(motionSensor.ImageCreatedAsync);//subscribe to events from the validator //setup the alarms alarms = new List<IAlarm>(); if (setup.emailAlarm != null) { alarms.Add(setup.emailAlarm as EmailAlarm); imageSaver.imageCreated += new ImageSaver.ImageSavedEvent(setup.emailAlarm.ImageExtracted); } imageExtractor.Run(); }
public MotionSensorStartup(MotionSensorSetup setup) { //setup the extractor imageExtractor = new ImageExtractor(setup.camera); imageExtractor.framerateBroadcast += new ImageExtractor.FramerateBroadcastEvent(FramerateBroadcastEventHandler); imageExtractor.asyncrohous = true; //set up the save file object imageSaver = new ImageSaver(setup.imageSaveLocation, "movement", setup.camera.cameraId); imageSaver.saveToFileServer = true; //setup.saveImagesToFileServer; imageSaver.saveToDatabase = setup.saveImagesToDatabase; imageSaver.ParentDirectory = setup.imageSaveLocation; captureId = imageSaver.captureId; //set up the database object if (setup.saveImagesToDatabase) { database = new CaptureDb(ConfigurationManager.ConnectionStrings["LOCALDB"].ConnectionString); database.CreateCaptureSession(captureId, imageSaver.SaveDirectory); detectionId = database.CreateDetectionSession(captureId); imageSaver.detectionId = detectionId; } //setup the motion sensor motionSensor = new MotionSensor_2a(); motionSensor.settings = new MotionSensorSettings(); motionSensor.settings.LoadDefaults(); motionSensor.motionDetected += new MotionSensor_2.MotionDetected(imageSaver.ImageCreatedAsync); //create the validator imageValidator = new ImageValidator(); imageValidator.ListenForImages(imageExtractor); imageValidator.imageValidated += new ImageValidator.ImageValidatedEvent(motionSensor.ImageCreatedAsync);//subscribe to events from the validator //setup the alarms alarms = new List <IAlarm>(); if (setup.emailAlarm != null) { alarms.Add(setup.emailAlarm as EmailAlarm); imageSaver.imageCreated += new ImageSaver.ImageSavedEvent(setup.emailAlarm.ImageExtracted); } imageExtractor.Run(); }
public SettingsController(IUsersManager usersManager, IUsersFactory usersFactory, IImageExtractor imageExtractor) { Guard.WhenArgument <IUsersManager>(usersManager, "Users manager cannot be null.") .IsNull() .Throw(); Guard.WhenArgument <IUsersFactory>(usersFactory, "Users factory cannot be null.") .IsNull() .Throw(); Guard.WhenArgument <IImageExtractor>(imageExtractor, "Image extractor cannot be null.") .IsNull() .Throw(); this.usersManager = usersManager as IManager; this.usersFactory = usersFactory; this.imageExtractor = imageExtractor; }
/// <summary> /// Initializes a new instance of the <see cref="ImageService"/> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="archiveReader">The archive reader.</param> /// <param name="archiveExtractor">The archive extractor.</param> /// <param name="fileSystemStrategy">The file system strategy.</param> /// <param name="appInfoFactory">The application information factory.</param> /// <param name="jsonWriter">The JSON writer.</param> /// <param name="imageExtractor">The image extractor.</param> /// <param name="gifImageWriter">The GIF image writer.</param> public ImageService( IAppConfiguration configuration, IArchiveReader archiveReader, IArchiveExtractor archiveExtractor, IFileSystemStrategy fileSystemStrategy, IAppInfoFactory appInfoFactory, IDefaultJsonWriter jsonWriter, IImageExtractor imageExtractor, IGifImageWriter gifImageWriter) { this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.archiveReader = archiveReader ?? throw new ArgumentNullException(nameof(archiveReader)); this.archiveExtractor = archiveExtractor ?? throw new ArgumentNullException(nameof(archiveExtractor)); this.fileSystemStrategy = fileSystemStrategy ?? throw new ArgumentNullException(nameof(fileSystemStrategy)); this.appInfoFactory = appInfoFactory ?? throw new ArgumentNullException(nameof(appInfoFactory)); this.jsonWriter = jsonWriter ?? throw new ArgumentNullException(nameof(jsonWriter)); this.imageExtractor = imageExtractor ?? throw new ArgumentNullException(nameof(imageExtractor)); this.gifImageWriter = gifImageWriter ?? throw new ArgumentNullException(nameof(gifImageWriter)); }
public void ListenForImages(IImageExtractor imgClass) { imgClass.imageCreated += new ImageExtractor.ImageCreatedEvent(FileCreated); }