示例#1
0
        private void RemovePresentedElements()
        {
            if (_presenter2d != null)
            {
                _presenter2d.Dispose();
                _presenter2d = null;
            }

            if (_presenter != null)
            {
                _presenter.Dispose();
                _presenter = null;
            }

            if (_presenterMPR != null)
            {
                _presenterMPR.Dispose();
                _presenterMPR = null;
            }
            if (_scan != null)
            {
                _scan.Volume.Slices.ForEach(slice => slice.Dispose());
                _scan.Volume.Slices.Clear();
                _scan = null;
            }
        }
示例#2
0
        public void LoadSeries()
        {
            if (_viewModel.SelectedSeries == null)
            {
                return;
            }
            RemovePresentedElements();

            _scan = DicomVolumeLoader.Load(_viewModel.SelectedSeries as DicomSeries);
            if (_scan == null)
            {
                return;
            }
            _presenter = new ScanPresenter3D(_viewModel, _viewModel.VolumeViewer);
            _presenter.Present(_scan);

            _presenter2d = new ScanPresenter2D(_viewModel);
            _presenter2d.Present(_scan);

            _presenterMPR = new ScanPresenterMPR(_viewModel);
            _presenterMPR.Present(_scan);
        }