/// <summary>
        ///  ImageCleanerControl constructor
        /// </summary>
        /// <param name="binding"></param>
        public ImageCleanerControl(ISkillBinding binding) : base(binding)
        {
            // Update the view of the initial binding values
            m_ImageCleanerBindingFeatureValues = ExtractBindingValues(binding);
            m_interactiveControl = new ImageCleanerInteractiveControl();
            m_interactiveControl.ImageCleaningKindChanged += ImageCleanerInteractiveControl_ImageCleaningKindChanged;

            Children.Add(m_interactiveControl);
            m_interactiveControl.UpdateSelectedImageCleaningKind(m_ImageCleanerBindingFeatureValues.InputImageType);
        }
        /// <summary>
        /// Update the view of the binding values
        /// </summary>
        /// <param name="binding"></param>
        private ImageCleanerBindingInputFeatureValues ExtractBindingValues(ISkillBinding binding)
        {
            ImageCleanerBindingInputFeatureValues result = new ImageCleanerBindingInputFeatureValues();

            var inputImageType             = binding["InputImageType"].FeatureValue;
            var inputImageTypeFeatureValue = (inputImageType as SkillFeatureTensorStringValue).GetAsVectorView();

            result.InputImageType = (ImageCleaningKind)Enum.GetNames(typeof(ImageCleaningKind)).ToList().IndexOf(inputImageTypeFeatureValue[0]);

            return(result);
        }