private void CreateDicomQrClient() { if (m_DicomQrClient == null) { m_DicomQrClient = new DicomQrClient(m_Settings.ServerHost, m_Settings.QrServerPort, m_Settings.QrServerAeTitle, m_Settings.ClientAeTitle); } }
public async Task <int> GetSeriesCount(string id) { var request = DicomQrClient.CreateSeriesQueryRequest(id, null); var series = await m_DicomQrClient.QueryAsync(request); return(series.Count); }
private void Configure(object sender, RoutedEventArgs e) { var window = new ConfigWindow { Owner = this }; if (window.ShowDialog() == true) { m_Settings.Save(); m_DicomQrClient = null; m_DicomStoreClient = null; } }
private async void FindStudies(object sender, RoutedEventArgs e) { var button = (Button)sender; button.Focus(); CreateDicomQrClient(); await DoWork(async() => { var request = DicomQrClient.CreateStudyQueryRequest(StudyQuery); var datasets = await m_DicomQrClient.QueryAsync(request); Studies.ItemsSource = datasets.Select(dataset => new DicomStudy(dataset)).OrderByDescending(study => study.Date); }); }
public async Task OpenStudy(string id, bool move) { DeleteFolder(id); if (!move) { var request = DicomQrClient.CreateStudyGetRequest(id); await m_DicomQrClient.RetrieveAsync(request, Save); } else { var request = DicomQrClient.CreateStudyMoveRequest(id, m_Settings.Client.AeTitle); await m_DicomQrClient.RetrieveAsync(request, Save, m_Settings.Client.Port); } OpenFolder(id); }
private async Task UploadFiles(IEnumerable <DicomFile> files) { CreateDicomStoreClient(); await DoWork(async() => { await m_DicomStoreClient.StoreAsync(files); }, true); CreateDicomQrClient(); await DoWork(async() => { var request = DicomQrClient.CreateStudyQueryRequest(StudyQuery); var datasets = await m_DicomQrClient.QueryAsync(request); Studies.ItemsSource = datasets.Select(dataset => new DicomStudy(dataset)).OrderByDescending(study => study.Date); }); }
private async void Studies_SelectionChanged(object sender, SelectionChangedEventArgs e) { var study = (DicomStudy)Studies.SelectedItem; if (study == null) { Series.ItemsSource = null; return; } CreateDicomQrClient(); await DoWork(async() => { var request = DicomQrClient.CreateSeriesQueryRequest(study.Uid, SeriesQuery); var datasets = await m_DicomQrClient.QueryAsync(request); Series.ItemsSource = datasets.Select(dataset => new DicomSeries(dataset)).OrderBy(series => series.Number); }); }
private async void UploadFiles(object sender, RoutedEventArgs e) { var dialog = new OpenFileDialog(); dialog.Multiselect = true; if (dialog.ShowDialog() == true) { CreateDicomStoreClient(); await DoWork(async() => { await m_DicomStoreClient.StoreAsync(dialog.FileNames.Select(filePath => DicomFile.Open(filePath))); }, true); CreateDicomQrClient(); await DoWork(async() => { var request = DicomQrClient.CreateStudyQueryRequest(StudyQuery); var datasets = await m_DicomQrClient.QueryAsync(request); Studies.ItemsSource = datasets.Select(dataset => new DicomStudy(dataset)).OrderByDescending(study => study.Date); }); } }
private async Task OpenStudy() { var study = (DicomStudy)Studies.SelectedItem; RetrievingProgress.Value = 0; RetrievingProgress.Maximum = study.InstanceCount ?? 0; await DoWork(async() => { DeleteFolder(study); if (CGetOption.IsChecked == true) { var request = DicomQrClient.CreateStudyGetRequest(study.Uid); await m_DicomQrClient.RetrieveAsync(request, Save); } else { var request = DicomQrClient.CreateStudyMoveRequest(study.Uid, m_Settings.ClientAeTitle); await m_DicomQrClient.RetrieveAsync(request, Save, m_Settings.ClientPort); } OpenFolder(study); }); }
public DicomService(IConfiguration config) { m_Settings = config.Get <Settings>(); m_DicomQrClient = new DicomQrClient(m_Settings.QrServer.Host, m_Settings.QrServer.Port, m_Settings.QrServer.AeTitle, m_Settings.Client.AeTitle); }