コード例 #1
0
        public static DicomStudy CreateFromDicom(DicomDataset dicom)
        {
            string studyUID        = dicom.GetSingleValue <string>(DicomTag.StudyInstanceUID);
            string studyId         = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyID, null);
            string studyDate       = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyDate, null);
            string studyTime       = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyTime, null);
            string accessionNumber = dicom.GetSingleValueOrDefault <string>(DicomTag.AccessionNumber, null);
            string description     = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyDescription, null);

            PatientRecord patient = DicomRecord.ToPatient(dicom);
            var           result  = new DicomStudy(studyUID, studyId, studyDate, studyTime, accessionNumber, patient, description);

            SeriesRecord series = DicomRecord.ToSeries(dicom);
            ImageRecord  image  = new ImageRecord();

            image.SOPInstanceUID = dicom.GetSingleValue <string>(DicomTag.SOPInstanceUID);
            image.ImageNumber    = dicom.GetSingleValueOrDefault <string>(DicomTag.InstanceNumber, null);
            series.AddImage(image);
            result._seriesItems.Add(series);

            // Notice the event.
            AddNewStudyEvent(result);

            return(result);
        }
コード例 #2
0
        private void AddNewSeriesEvent(DicomStudy study)
        {
            StudyUpdatedEventHandler handler = new StudyUpdatedEventHandler(new MongoStudyRepository(DbSettings.StudySettings));

            handler.Handle(new StudyUpdatedEvent()
            {
                Study = study
            });
        }
コード例 #3
0
        private static void AddNewStudyEvent(DicomStudy result)
        {
            // This is only for test.
            StudyCreatedEventHandler handler = new StudyCreatedEventHandler(new MongoStudyRepository(DbSettings.StudySettings));

            handler.Handle(new StudyCreatedEvent()
            {
                Study = result
            });
        }
コード例 #4
0
ファイル: DicomRecord.cs プロジェクト: derek-cap/FodicomTest
        public static void WriteStudy(this DicomDataset dataset, DicomStudy study)
        {
            dataset.AddOrUpdate(DicomTag.PatientName, study.Paitent.PatientName);
            dataset.AddOrUpdate(DicomTag.PatientID, study.Paitent.PatientID);
            dataset.AddOrUpdate(DicomTag.PatientSex, study.Paitent.PatientSex);

            dataset.AddOrUpdate(DicomTag.StudyInstanceUID, study.StudyUID);
            dataset.AddOrUpdate(DicomTag.StudyID, study.StudyID);
            dataset.AddOrUpdate(DicomTag.StudyDate, study.StudyDate);
            dataset.AddOrUpdate(DicomTag.StudyTime, study.StudyTime);

            dataset.AddOrUpdate(DicomTag.NumberOfStudyRelatedInstances, study.SeriesCollection.Count.ToString());
        }