/// <summary> /// Loads properties from a dicom file /// </summary> /// <param name="dicomFile"></param> public DicomSeries(Dicom.DicomFile dicomFile) { Instances = new List <Dicom.DicomFile>(); try { SeriesInstanceUid = dicomFile.Dataset.Get <string>(Dicom.DicomTag.SeriesInstanceUID); SeriesNumber = dicomFile.Dataset.Get <string>(Dicom.DicomTag.SeriesNumber); Modality = dicomFile.Dataset.Get <string>(Dicom.DicomTag.Modality); SeriesDescription = dicomFile.Dataset.Get <string>(Dicom.DicomTag.SeriesDescription); StudyInstanceUid = dicomFile.Dataset.Get <string>(Dicom.DicomTag.StudyInstanceUID); //try generate the thumbnail if (Thumbnail == null) { if (dicomFile.Dataset.Contains(Dicom.DicomTag.PixelData)) { var dicomImage = new Dicom.Imaging.DicomImage(dicomFile.Dataset); WriteableBitmap dicomBitmap = dicomImage.RenderImage(0).As <WriteableBitmap>(); Thumbnail = dicomBitmap; } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); System.Diagnostics.Debug.WriteLine(ex.InnerException); } }
/// <summary> /// Loads properties from a dicom file /// </summary> /// <param name="dicomFile"></param> public DicomStudy(Dicom.DicomFile dicomFile) { Series = new List <DicomSeries>(); try { StudyInstanceUid = dicomFile.Dataset.Get <string>(Dicom.DicomTag.StudyInstanceUID); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); System.Diagnostics.Debug.WriteLine(ex.InnerException); } }
private void LoadFiles(DirectoryInfo dir) { FileInfo[] files = dir.GetFiles(); foreach (FileInfo file in files) { Dicom.DicomFile dicomFile = new Dicom.DicomFile(file.FullName); try { DicomReadOptions options = new DicomReadOptions(); dicomFile.Load(options); _theStream.AddFile(dicomFile); /* * if (true == dicomFile.Load()) * { * _theStream.AddFile(dicomFile); * } * */ } catch (DicomException) { // TODO: Add some logging for failed files } } String[] subdirectories = Directory.GetDirectories(dir.FullName); foreach (String subPath in subdirectories) { DirectoryInfo subDir = new DirectoryInfo(subPath); LoadFiles(subDir); continue; } }
private void LoadFiles(DirectoryInfo dir) { FileInfo[] files = dir.GetFiles(); foreach (FileInfo file in files) { Dicom.DicomFile dicomFile = new Dicom.DicomFile(file.FullName); try { DicomReadOptions options = new DicomReadOptions(); dicomFile.Load(options); _theStream.AddFile(dicomFile); /* if (true == dicomFile.Load()) { _theStream.AddFile(dicomFile); } * */ } catch (DicomException) { // TODO: Add some logging for failed files } } String[] subdirectories = Directory.GetDirectories(dir.FullName); foreach (String subPath in subdirectories) { DirectoryInfo subDir = new DirectoryInfo(subPath); LoadFiles(subDir); continue; } }