public ManualImagerViewModel(Imager iModel, IEventAggregator ag, WaveGuideDB db, PlateMaskFactoryViewModel maskFactory) { lockCurrentImage = new object(); imagerModel = iModel; advancedImagingSettings = new ImagingMethodViewModel(db, new WaveAppSettingsViewModel(ag), ag); imagerModel.PostErrorEvent += PostErrorMessage; imagerModel.ConfigureImaging(true, false, false);//Display images but don't save or analyze them RunMode = ImagingRunMode.Assay; imagerModel.DisplayQueue.Changed += UpdateImage; imagerModel.m_camera.PropertyChanged += HandleCameraPropertyChanged; events = ag; wgDB = db; plateMaskFactory = maskFactory; settingUpExperiment = false; BravoIsRunning = false; currentExperiment = new Experiment_Record(); currentPlate = new Plate_Record(); currentProject = new Project_Record(); plateMasks = new List <PlateMask_Record>(); imageOptimizationResults = new List <Tuple <Tuple <int, double>, WGImage> >(); selectedPlateMask = new PlateMask_Record(); InitDatabaseDependentFields(); }