// -- Event handlers -- // #region EventHandlers override async protected void RunButton_Click(object sender, RoutedEventArgs e) { // Update ISKillBinding QuadDetectorBinding binding = m_skillBinding as QuadDetectorBinding; binding.SetLookupRegionCenterCropPercentage(m_quadDetectorBindingFeatureValues.SubMarginPercentage); binding.SetMaxQuadCount(m_quadDetectorBindingFeatureValues.MaxDetectedQuads); if (m_quadDetectorBindingFeatureValues.UseCenterPoint) { binding.SetCenterPoint(m_quadDetectorBindingFeatureValues.CenterPointCoordinates); } else { binding.SetCenterPoint(null); } if (m_quadDetectorBindingFeatureValues.UseBaseQuad) { binding.SetPreviousQuad(m_quadDetectorBindingFeatureValues.BaseQuad); } else { binding.SetPreviousQuad(null); } await binding["NumberOfEdgePixels"].SetFeatureValueAsync(new List <int>() { m_quadDetectorBindingFeatureValues.NumberOfEdgePixels }); // Invoke event handlers base.RunButton_Click(sender, e); }
/// <summary> /// Update results displayed /// </summary> /// <param name="additionalResult"></param> /// <returns></returns> override public async Task UpdateSkillControlValuesAsync(object additionalResult) { QuadDetectorBinding binding = (additionalResult as QuadDetectorBinding); m_resultQuadCorners = binding.DetectedQuads; m_quadsResultRenderer.Update(m_resultQuadCorners); m_quadsResultRenderer.IsVisible = true; int detectedQuadCount = (binding["DetectedQuadCount"].FeatureValue as SkillFeatureTensorIntValue).GetAsVectorView()[0]; m_interactiveControl.UpdateDisplayedOutputValues(detectedQuadCount); await base.UpdateSkillControlValuesAsync(additionalResult); }