Exemplo n.º 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();
        }
Exemplo n.º 2
0
        public static void Export(LabelMapSet set, string fileName)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileName, false))
            {
                file.WriteLine("Label, Volume (mm3)");

                foreach (var labelMap in set.All)
                {
                    file.WriteLine(labelMap.Name + ", " + labelMap.Volume);
                }
            }
        }
Exemplo n.º 3
0
        public ProjectionView(Axis axis, IScanData scanData, ILookupTable lookupTable, LabelMapSet labelMapSet, IProbe probe)
        {
            _axis        = axis;
            _scanData    = scanData;
            _lookupTable = lookupTable;
            _labelMapSet = labelMapSet;
            _probe       = probe;

            _lookupTable.MapChanged       += () => this.Invoke(new MethodInvoker(Rebuild));
            _scanData.DataUpdated         += () => this.Invoke(new MethodInvoker(ScanDataOnDataUpdated));
            _labelMapSet.LabelMapUpdated  += LabelMapOnLabelDataChanged;
            _labelMapSet.LabelMapDeleted  += LabelMapOnLabelDataChanged;
            _labelMapSet.LabelMapSetReset += () => surface.Invalidate();
            _labelMapSet.LabelMapCurrentSelectionChanged += () =>
            {
                _labelMapSet.Current.Crop.CropChanged += () => surface.Invalidate();
                surface.Invalidate();
            };

            InitializeComponent();
        }
Exemplo n.º 4
0
        public View3D(LabelMapSet labelMapSet)
        {
            _labelMapSet = labelMapSet;

            InitializeComponent();

            var host = new ElementHost {
                Dock = DockStyle.Fill
            };

            _viewPort  = new Wpf3DView.ViewPort();
            host.Child = _viewPort;
            this.Controls.Add(host);

            host.HostContainer.MouseEnter += (a, b) => _viewPort.Focus();

            _labelMapSet.LabelMapAdded    += LabelMapUpdated;
            _labelMapSet.LabelMapUpdated  += LabelMapUpdated;
            _labelMapSet.LabelMapDeleted  += LabelMapDeleted;
            _labelMapSet.LabelMapSetReset += LabelMapSetReset;
        }
Exemplo n.º 5
0
 public CrossChecker(LabelMapSet labelMapSet)
 {
     _labelMapSet = labelMapSet;
 }