protected override Config OnConfigure(Config defaultConfig, Config[] existingConfigs) { foreach (var item in defaultConfig.parameters.elementItem) { if (item.name == "AntishakerCrop") { item.any = new synesis.AntishakerCrop() { XOffs = -1, YOffs = 1, CropWidth = 2, CropHeight = 2 }.Serialize(); } else if (item.name == "UserRegion") { var rose = new synesis.Rose() { Left = true, UpLeft = true, Up = true, UpRight = true, Right = true, DownRight = true, Down = true, DownLeft = true }; var points = new [] { new synesis.Point() { X=-1,Y=-1 }, new synesis.Point() { X=-1,Y=1}, new synesis.Point() { X=1,Y=1 }, new synesis.Point() { X=1,Y=-1 } }; item.any = new synesis.UserRegion() { Rose = rose, Points = points }.Serialize(); } else if (item.name == "MarkerCalibration") { var heightMarker = new synesis.HeightMarker() { Height = 170, SurfaceNormals = new synesis.SurfaceNormal[] { new synesis.SurfaceNormal() { Height=0.4f, Point = new synesis.Point() {X=-0.5f,Y=-0.25f} } , new synesis.SurfaceNormal() { Height = 0.25f, Point = new synesis.Point() { X = 0.5f, Y = 0.5f } } } }; var heightMarkers = new synesis.HeightMarker[] { heightMarker }; var heightMarkerCalibration = new synesis.HeightMarkerCalibration() { FocalLength = 9, MatrixFormat = synesis.MatrixFormat.Item13, HeightMarkers = heightMarkers }; item.any = new synesis.MarkerCalibration() { Item = heightMarkerCalibration }.Serialize(); } } foreach (var item in defaultConfig.parameters.simpleItem) { switch (item.name) { case "UseObjectTracker": item.value = DataConverter.BoolToString(true); break; case "StabilizationTime": item.value = DataConverter.IntToString(1000); break; case "MinObjectArea": item.value = DataConverter.FloatToString(0.1f); break; case "MaxObjectArea": item.value = DataConverter.FloatToString(10.0f); break; case "MaxObjectSpeed": item.value = DataConverter.FloatToString(20.0f); break; case "DisplacementSensitivity": item.value = DataConverter.IntToString(3); break; case "UseAntishaker": item.value = DataConverter.BoolToString(true); break; case "ContrastSensitivity": item.value = DataConverter.IntToString(7); break; case "ImageTooDark": item.value = DataConverter.BoolToString(true); break; case "ImageTooBlurry": item.value = DataConverter.BoolToString(true); break; case "ImageTooBright": item.value = DataConverter.BoolToString(true); break; case "CameraRedirected": item.value = DataConverter.BoolToString(true); break; case "CameraObstructed": item.value = DataConverter.BoolToString(true); break; } } return defaultConfig; }
protected override Config OnConfigure(Config defaultConfig, Config[] existingConfigs) { foreach (var item in defaultConfig.parameters.elementItem) { if (item.name == "AntishakerCrop") { item.any = new synesis.AntishakerCrop() { XOffs = -1, YOffs = 1, CropWidth = 2, CropHeight = 2 }.Serialize(); } else if (item.name == "UserRegion") { var rose = new synesis.Rose() { Left = true, UpLeft = true, Up = true, UpRight = true, Right = true, DownRight = true, Down = true, DownLeft = true }; var points = new [] { new synesis.Point() { X = -1, Y = -1 }, new synesis.Point() { X = -1, Y = 1 }, new synesis.Point() { X = 1, Y = 1 }, new synesis.Point() { X = 1, Y = -1 } }; item.any = new synesis.UserRegion() { Rose = rose, Points = points }.Serialize(); } else if (item.name == "MarkerCalibration") { var heightMarker = new synesis.HeightMarker() { Height = 170, SurfaceNormals = new synesis.SurfaceNormal[] { new synesis.SurfaceNormal() { Height = 0.4f, Point = new synesis.Point() { X = -0.5f, Y = -0.25f } }, new synesis.SurfaceNormal() { Height = 0.25f, Point = new synesis.Point() { X = 0.5f, Y = 0.5f } } } }; var heightMarkers = new synesis.HeightMarker[] { heightMarker }; var heightMarkerCalibration = new synesis.HeightMarkerCalibration() { FocalLength = 9, MatrixFormat = synesis.MatrixFormat.Item13, HeightMarkers = heightMarkers }; item.any = new synesis.MarkerCalibration() { Item = heightMarkerCalibration }.Serialize(); } } foreach (var item in defaultConfig.parameters.simpleItem) { switch (item.name) { case "UseObjectTracker": item.value = DataConverter.BoolToString(true); break; case "StabilizationTime": item.value = DataConverter.IntToString(1000); break; case "MinObjectArea": item.value = DataConverter.FloatToString(0.1f); break; case "MaxObjectArea": item.value = DataConverter.FloatToString(10.0f); break; case "MaxObjectSpeed": item.value = DataConverter.FloatToString(20.0f); break; case "DisplacementSensitivity": item.value = DataConverter.IntToString(3); break; case "UseAntishaker": item.value = DataConverter.BoolToString(true); break; case "ContrastSensitivity": item.value = DataConverter.IntToString(7); break; case "ImageTooDark": item.value = DataConverter.BoolToString(true); break; case "ImageTooBlurry": item.value = DataConverter.BoolToString(true); break; case "ImageTooBright": item.value = DataConverter.BoolToString(true); break; case "CameraRedirected": item.value = DataConverter.BoolToString(true); break; case "CameraObstructed": item.value = DataConverter.BoolToString(true); break; } } return(defaultConfig); }