Exemple #1
0
        private void SetBtn_Click(object sender, EventArgs e)
        {
            Template.RegistrationAlignmentMethod.RegistrationMethodType registrationMethodType = (Template.RegistrationAlignmentMethod.RegistrationMethodType)registrationTypeTabControl.SelectedIndex;
            switch (registrationMethodType)
            {
            case Template.RegistrationAlignmentMethod.RegistrationMethodType.KAZE:
                Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData = GetKazeData();
                Template.RegistrationAlignmentMethod.KazeRegistrationMethod          kazeRegistrationMethod = new Template.RegistrationAlignmentMethod.KazeRegistrationMethod(kazeData);
                selectedRegistrationAlignmentMethod = new Template.RegistrationAlignmentMethod(pipelineIndex, methodName, kazeRegistrationMethod, templateImage, templateImage.Size);
                break;

            case Template.RegistrationAlignmentMethod.RegistrationMethodType.AKAZE:
                Template.RegistrationAlignmentMethod.AKazeRegistrationMethod.AKazeData aKazeData = GetAKazeData();
                Template.RegistrationAlignmentMethod.AKazeRegistrationMethod           aKazeRegistrationMethod = new Template.RegistrationAlignmentMethod.AKazeRegistrationMethod(aKazeData);
                selectedRegistrationAlignmentMethod = new Template.RegistrationAlignmentMethod(pipelineIndex, methodName, aKazeRegistrationMethod, templateImage, templateImage.Size);
                break;
            }

            if (useStoredModelFeaturesToggle.ToggleState == ToggleButtonState.Active)
            {
                selectedRegistrationAlignmentMethod.StoreModelFeatures(templateImage, true);
            }

            if (!genModelFeaturesBtn.Enabled)
            {
                genModelFeaturesBtn.Enabled          = true;
                useStoredModelFeaturesToggle.Enabled = true;
            }

            useStoredModelFeaturesToggle.ToggleState = selectedRegistrationAlignmentMethod.GetUseStoredModelFeatures? ToggleButtonState.Active : ToggleButtonState.Inactive;
        }
Exemple #2
0
        private void SetupForConfigured(Template.RegistrationAlignmentMethod registrationAlignmentMethod)
        {
            selectedRegistrationAlignmentMethod = registrationAlignmentMethod;
            var registrationMethodType = selectedRegistrationAlignmentMethod.GetRegistrationMethod.GetRegistrationMethodType;

            registrationTypeTabControl.SelectedIndex = (int)registrationMethodType;

            switch (registrationMethodType)
            {
            case Template.RegistrationAlignmentMethod.RegistrationMethodType.KAZE:
                Template.RegistrationAlignmentMethod.KazeRegistrationMethod          kazeRegistrationMethod = (Template.RegistrationAlignmentMethod.KazeRegistrationMethod)registrationAlignmentMethod.GetRegistrationMethod;
                Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData = kazeRegistrationMethod.GetKazeData;
                SetKazeData(kazeData);
                break;

            case Template.RegistrationAlignmentMethod.RegistrationMethodType.AKAZE:
                Template.RegistrationAlignmentMethod.AKazeRegistrationMethod           aKazeRegistrationMethod = (Template.RegistrationAlignmentMethod.AKazeRegistrationMethod)registrationAlignmentMethod.GetRegistrationMethod;
                Template.RegistrationAlignmentMethod.AKazeRegistrationMethod.AKazeData aKazeData = aKazeRegistrationMethod.GetAKazeData;
                SetAKazeData(aKazeData);
                break;
            }

            genModelFeaturesBtn.Enabled              = true;
            useStoredModelFeaturesToggle.Enabled     = true;
            useStoredModelFeaturesToggle.ToggleState = selectedRegistrationAlignmentMethod.GetUseStoredModelFeatures? ToggleButtonState.Active : ToggleButtonState.Inactive;
        }
Exemple #3
0
 private void SetKazeData(Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData)
 {
     synchronizationContext.Send(new SendOrPostCallback(
                                     delegate(object state)
     {
         kazeExtendedToggle.ToggleState     = kazeData.Extended? ToggleButtonState.Active : ToggleButtonState.Inactive;
         kazeUprightToggle.ToggleState      = kazeData.Upright? ToggleButtonState.Active : ToggleButtonState.Inactive;
         kazeThresholdValueBox.DoubleValue  = kazeData.Threshold;
         kazeOctavesValueBox.IntegerValue   = kazeData.Octaves;
         kazeSublvlsValueBox.IntegerValue   = kazeData.Sublevels;
         kazeDiffTypeValueBox.SelectedValue = kazeData.Diffusivity;
     }
                                     ), null);
 }
 public void InitializeKazePanel(Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData, bool isUseStoredEnabled)
 {
     synchronizationContext.Send(new SendOrPostCallback(
                                     delegate(object state)
     {
         kazeExtendedToggle.ToggleState               = kazeData.Extended ? ToggleButtonState.Active : ToggleButtonState.Inactive;
         kazeUprightToggle.ToggleState                = kazeData.Upright ? ToggleButtonState.Active : ToggleButtonState.Inactive;
         kazeThresholdValueBox.DoubleValue            = kazeData.Threshold;
         kazeOctavesValueBox.IntegerValue             = kazeData.Octaves;
         kazeSublvlsValueBox.IntegerValue             = kazeData.Sublevels;
         kazeDiffTypeValueBox.SelectedValue           = kazeData.Diffusivity;
         kazeUseModelFeaturesOptionToggle.ToggleState = isUseStoredEnabled ? ToggleButtonState.Active : ToggleButtonState.Inactive;
     }
                                     ), null);
 }
        public KazeSettingsControl(Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData, bool isUseStoredEnabled, int pipelineIndex)
        {
            InitializeComponent();

            synchronizationContext = SynchronizationContext.Current;
            this.kazeData          = kazeData;
            initialIsUseStoredModelFeaturesBool = isUseStoredEnabled;
            this.pipelineIndex = pipelineIndex;

            kazeDiffTypeValueBox.DataSource    = EnumHelper.ToList(typeof(KAZE.Diffusivity));
            kazeDiffTypeValueBox.DisplayMember = "Value";
            kazeDiffTypeValueBox.ValueMember   = "Key";

            InitializeKazePanel(kazeData, isUseStoredEnabled);
        }
        public Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData GetKazeData()
        {
            bool  extended   = false;
            bool  upright    = false;
            float descThresh = 0.001f;
            int   descOcts   = 1;
            int   descSbls   = 4;
            var   diffType   = KAZE.Diffusivity.PmG2;

            synchronizationContext.Send(new SendOrPostCallback(
                                            delegate(object state)
            {
                extended   = kazeExtendedToggle.ToggleState == ToggleButtonState.Active;
                upright    = kazeUprightToggle.ToggleState == ToggleButtonState.Active;
                descThresh = (float)kazeThresholdValueBox.DoubleValue;
                descOcts   = (int)kazeOctavesValueBox.IntegerValue;
                descSbls   = (int)kazeSublvlsValueBox.IntegerValue;
                diffType   = (KAZE.Diffusivity)kazeDiffTypeValueBox.SelectedIndex;
            }
                                            ), null);

            Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData kazeData = new Template.RegistrationAlignmentMethod.KazeRegistrationMethod.KazeData(extended, upright, descThresh, descOcts, descSbls, diffType);
            return(kazeData);
        }