Пример #1
0
        /// <summary>
        /// Starts creating a Segmentation
        /// </summary>
        /// <typeparam name="TP">The type of the segmentation parameters</typeparam>
        /// <param name="index">Index of the segment to create, range ist limited from 0 to 2</param>
        /// <param name="segmentationStrategy">Strategy for creating a Segmentation</param>
        /// <param name="parameters">Parameters used by the segmentation strategy</param>
        /// <param name="clearSegment">controls whether the segment will be cleared before creating the segment, defaults to true</param>
        public void CreateSegment <TP>(uint index, SegmentationStrategy <TP> segmentationStrategy, TP parameters, bool clearSegment = true)
        {
            if (clearSegment)
            {
                _segments[GetIndex(index)].Clear();
            }

            _currentWorkloads.Add(new Tuple <ThreadGroupState, uint, Action <uint> >(
                                      segmentationStrategy.Fit(_segments[GetIndex(index)], _imageStack.GetData(), parameters), index, OnSegmentChange));
            _workIndicator.StartedWork();
        }
Пример #2
0
        /// <summary>
        /// Starts parsing the files in the currently selected folder.
        /// </summary>
        public void ParseFiles()
        {
            if (MainMenu.GetSelectedFolder() == MainMenu.FolderHint)
            {
                return;
            }

            _workIndicator.StartedWork();

            MainMenu.DisableDropDown();
            WindowSettingsPanel.DisableButtons();
            MainMenu.DisableButtons();

            WindowSettingsPanel.gameObject.SetActive(false);
            SegmentConfiguration.transform.gameObject.SetActive(false);

            AddWorkload(_stack.StartParsingFiles(Path.Combine(Application.streamingAssetsPath, MainMenu.GetSelectedFolder())), "Loading Files", OnFilesParsed);
        }