Beispiel #1
0
        protected Output(SerializationInfo info, StreamingContext context)
        {
            try
            {
                ColorTransformerConfigs = (IList <ColorTransformerConfig>)info.GetValue("ColorTransformerConfigs", typeof(IList <ColorTransformerConfig>));
            }
            catch (SerializationException)
            {
            }

            string pluginName = info.GetString("OutputPluginName");

            if (!string.IsNullOrEmpty(pluginName))
            {
                IOutputPlugin outputPlugin = OutputPlugins.GetOutputPlugin(pluginName);
                if (outputPlugin == null)
                {
                    throw new SerializationException(string.Format("Error while deserializing: Output plugin {0} not found", pluginName));
                }

                IOutputInfo outputInfo = outputPlugin.GetNewOutputInfo();
                outputInfo.Deserialize((Dictionary <string, string>)info.GetValue("OutputInfoDictionary", typeof(Dictionary <string, string>)));

                OutputInfo = outputInfo;
            }
        }
Beispiel #2
0
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="httpClient">the HTTP client</param>
 /// <param name="modelID">the model ID</param>
 /// <param name="name">the model name</param>
 /// <param name="outputInfo"></param>
 public CreateModelGenericRequest(IClarifaiHttpClient httpClient, string modelID,
                                  string name = null, IOutputInfo outputInfo = null) : base(httpClient)
 {
     _modelID    = modelID;
     _name       = name;
     _outputInfo = outputInfo;
 }
Beispiel #3
0
 private void okButton_Click(object sender, EventArgs e)
 {
     OutputInfo = new DebugOutputInfo {
         Id = Guid.NewGuid()
     };
     DialogResult = DialogResult.OK;
     Close();
 }
Beispiel #4
0
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="httpClient">the HTTP client</param>
 /// <param name="modelID">the model ID</param>
 /// <param name="name">the model name</param>
 /// <param name="createdAt">date & time of model creation</param>
 /// <param name="appID">the application ID</param>
 /// <param name="modelVersion">the model version</param>
 /// <param name="outputInfo">the output info</param>
 protected Model(IClarifaiHttpClient httpClient, string modelID, string name,
                 DateTime?createdAt, string appID, ModelVersion modelVersion, IOutputInfo outputInfo)
 {
     HttpClient   = httpClient;
     ModelID      = modelID;
     Name         = name;
     CreatedAt    = createdAt;
     AppID        = appID;
     ModelVersion = modelVersion;
     OutputInfo   = outputInfo;
 }
        private void manualConfigButton_Click(object sender, EventArgs e)
        {
            var form   = new MagicHomeOutputManualConfigDialog();
            var result = form.ShowDialog();

            if (result == DialogResult.OK)
            {
                DialogResult = DialogResult.OK;
                OutputInfo   = form.OutputInfo;
            }
            Close();
        }
 private void WriteOutputInfo(IOutputInfo output)
 {
     if (output.Header != null && output.Header.Content != null)
     {
         Console.WriteLine(output.Header.Content);
     }
     if (output.Body != null)
     {
         WriteBody(output.Body);
     }
     if (output.Footer != null && output.Footer.Content != null)
     {
         Console.WriteLine(output.Footer.Content);
     }
 }
        private void okButton_Click(object sender, EventArgs e)
        {
            var plugin = (IOutputPlugin)outputPluginsDropDown.SelectedItem;

            var dialog = plugin.GetOutputConfigDialog();

            dialog.OutputInfo = _outputInfo;

            dialog.ShowDialog();

            if (dialog.DialogResult != DialogResult.OK)
            {
                DialogResult = DialogResult.Cancel;
                _outputInfo  = null;
                return;
            }

            _outputInfo = dialog.OutputInfo;

            DialogResult = DialogResult.OK;
            Close();
        }
 /// <inheritdoc />
 public CreateModelGenericRequest <T> CreateModelGeneric <T>(string modelID,
                                                             string name = null, IOutputInfo outputInfo = null) where T : IPrediction
 {
     return(new CreateModelGenericRequest <T>(this, modelID, name, outputInfo));
 }
Beispiel #9
0
        private void ApplyConfig(AmbiLightConfig config)
        {
            if (_screenCaptureService != null)
            {
                _screenCaptureService.Dispose();
            }

            _screenCaptureService = _screenCaptureServiceProvider.Provide(true);

            List <IOutputPlugin> plugins = OutputPlugins.GetAvailablePlugins();

            List <ScreenRegionOutput> regions = config.RegionsToOutput;

            if (_regionConfigurations != null)
            {
                foreach (RegionConfiguration regionConfiguration in _regionConfigurations)
                {
                    regionConfiguration.Dispose();
                }
            }

            _regionConfigurations = new List <RegionConfiguration>();

            var regionConfigId = 0;

            foreach (ScreenRegionOutput region in regions)
            {
                var regionConfig = new RegionConfiguration(regionConfigId++)
                {
                    ScreenRegion          = region.ScreenRegion,
                    ColorAveragingService = _colorAveragingServiceProvider.Provide(region.ColorAveragingConfig),
                    OutputConfigs         = new List <OutputConfiguration>()
                };

                var outputId = 0;

                foreach (Output output in region.Outputs)
                {
                    IOutputInfo   outputInfo = output.OutputInfo;
                    IOutputPlugin plugin     = plugins.FirstOrDefault(y => y.Name == outputInfo.PluginName);
                    if (plugin == null)
                    {
                        throw new InvalidOperationException(string.Format("Missing OutputPlugin {0}", outputInfo.PluginName));
                    }

                    OutputService outputService = _regionConfigurations.SelectMany(x => x.OutputConfigs).Select(x => x.OutputService).FirstOrDefault(x => x.IsReusableFor(outputInfo)) ?? plugin.GetNewOutputService();

                    outputService.Initialize(outputInfo);

                    IList <ColorTransformerConfig> colorTransformerConfigs = output.ColorTransformerConfigs;

                    if (colorTransformerConfigs == null)
                    {
                        colorTransformerConfigs = new List <ColorTransformerConfig>
                        {
                            new ColorTransformerConfig
                            {
                                Type   = typeof(HysteresisColorTransformer),
                                Config = new Dictionary <string, object>
                                {
                                    { "hysteresis", "0.01" }
                                }
                            },
                            new ColorTransformerConfig
                            {
                                Type   = typeof(BrightnessColorTransformer),
                                Config = new Dictionary <string, object>
                                {
                                    { "factorR", "1" },
                                    { "factorG", "1" },
                                    { "factorB", "0.9" }
                                }
                            },
                            //new ColorTransformerConfig
                            //{
                            //	Type = typeof (GammaColorTransformer),
                            //	Config = new Dictionary<string, object>
                            //	{
                            //		{"gammaR", "1"},
                            //		{"gammaG", "1.2"},
                            //		{"gammaB", "1.2"}
                            //	}
                            //},
                            new ColorTransformerConfig
                            {
                                Type   = typeof(ThresholdColorTransformer),
                                Config = new Dictionary <string, object>
                                {
                                    { "threshold", "0.01" }
                                }
                            }
                        };
                    }

                    var outputConfig = new OutputConfiguration(regionConfig.Id, outputId++)
                    {
                        ColorTransformerContexts = colorTransformerConfigs.Select(x => new ColorTransformerContext(x)).ToList(),
                        OutputService            = outputService,
                        ResendIntervalFunc       = outputService.GetResendInterval,
                        OutputInfo = outputInfo
                    };

                    regionConfig.OutputConfigs.Add(outputConfig);
                }

                _regionConfigurations.Add(regionConfig);
            }

            _screenRegions = _regionConfigurations.Select(x => x.ScreenRegion).ToList();
        }
Beispiel #10
0
 public abstract void SetColor(ColorF color, IOutputInfo outputInfo);
Beispiel #11
0
 public abstract void Initialize(IOutputInfo outputInfo);
Beispiel #12
0
 public abstract bool IsReusableFor(IOutputInfo outputInfo);