Beispiel #1
0
        public MainForm()
        {
            _labelMapSet   = new LabelMapSet(_scanSet, action => this.Invoke(action));
            _lookupTable   = new LookupTable(_scanSet);
            _crossChecker  = new CrossChecker(_labelMapSet);
            _voidScanner   = new VoidScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker);
            _threshScanner = new ThresholdScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker);
            _edgeScanner   = new EdgeScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker);

            InitializeComponent();

            _rayCastingPropertiesView.Init(_voidScanner, new Progress(progBar), this);
            _thresholdPropertiesView.Init(_threshScanner, new Progress(progBar), this);
            edgeFinderProperties1.Init(_edgeScanner, new Progress(progBar), this);

            labelMapView.LabelMapSet = _labelMapSet;
            labelMapView.Init();

            _3dView      = new View.View3D(_labelMapSet);
            _3dView.Dock = DockStyle.Fill;

            _imageInterpolation        = new ImageInterpolation();
            _imageInterpolation.Lookup = _lookupTable;
            _imageInterpolation.Init();
            _imageInterpolation.Dock = DockStyle.Fill;


            projectionViewX = new ProjectionView(Axis.X, _scanSet, _lookupTable, _labelMapSet, this);
            projectionViewY = new ProjectionView(Axis.Y, _scanSet, _lookupTable, _labelMapSet, this);
            projectionViewZ = new ProjectionView(Axis.Z, _scanSet, _lookupTable, _labelMapSet, this);

            _labelMapSet.LabelMapCurrentSelectionChanged += LabelMapSetOnLabelMapCurrentSelectionChanged;

            InitUI();
        }
        public void Init(EdgeScanner scanner, IProgress progress, Form owner)
        {
            Owner    = owner;
            Progress = progress;
            Scanner  = scanner;

            UpdateView();

            Parent.Tag = this;
        }