Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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;
            }

        }