示例#1
0
        public async void BeginOpenImagesAsync()
        {
            string[] files;
            if ((files = getFileNames("Open Dicom Image(s)", true)) != null)
            {
                var pi       = ProgressService.CreateNew("Loading Dicom Image(s)...", false);
                var progress = new Progress <double>(x => { pi.ProgressAmount = (int)x; });

                DicomImageObject openedObject = null;
                await Task.Run(async() =>
                {
                    try
                    {
                        openedObject = await DicomLoader.LoadDicomImageAsync(files, progress);
                    }
                    catch (Exception e)
                    {
                        Messenger.Default.Send(new NotificationMessage("Could not open file: " + e.Message));
                    }
                });

                if (openedObject != null)
                {
                    Messenger.Default.Send(new RTDicomViewer.Message.RTObjectAddedMessage <DicomImageObject>(openedObject));
                }

                ProgressService.End(pi);
            }
        }
示例#2
0
        public async void BeginOpenEgsDoseAsync()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Multiselect = false;
            openFileDialog.Title       = "Open 3D Dose File";
            if (openFileDialog.ShowDialog() == true)
            {
                var           progressItem = ProgressService.CreateNew("Loading 3DDose File...", false);
                var           progress     = new Progress <double>(x => { progressItem.ProgressAmount = (int)x; });
                EgsDoseObject openedObject = null;
                await Task.Run(async() =>
                {
                    try
                    {
                        openedObject = await DicomLoader.LoadEgsObjectAsync(openFileDialog.FileName, progress);
                    }
                    catch (Exception e)
                    {
                        Messenger.Default.Send(new NotificationMessage("Could not open file: " + e.Message));
                    }
                });

                if (openedObject != null)
                {
                    Messenger.Default.Send(new RTDicomViewer.Message.RTObjectAddedMessage <EgsDoseObject>(openedObject));
                }

                ProgressService.End(progressItem);
            }
        }