Exemple #1
0
        private DicomImage GetDicomImage(int id)
        {
            DicomImage dcmImage = GetCache(id.ToString()) as DicomImage;

            if (dcmImage == null)
            {
                List <Image> images = DBHelperFacotry.GetDBHelper().GetImages();
                Image        image  = images.First <Image>(i => i.Id == id);

                dcmImage = new DicomImage(image.FilePath);

                SetCache(id.ToString(), dcmImage);
            }

            return(dcmImage);
        }
Exemple #2
0
        public ActionResult SaveDicomImage(int id, ImageViewModel model)
        {
            try
            {
                List <Image> images = DBHelperFacotry.GetDBHelper().GetImages();
                Image        image  = images.First <Image>(i => i.Id == id);

                DicomImage dcmImage = GetDicomImage(id);
                dcmImage.WindowCenter = model.WindowCenter;
                dcmImage.WindowWidth  = model.WindowWidth;

                DicomFile dcmFile = new DicomFile(dcmImage.Dataset);
                dcmFile.Dataset.AddOrUpdate <string>(DicomTag.WindowWidth, model.WindowWidth.ToString());
                dcmFile.Dataset.AddOrUpdate <string>(DicomTag.WindowCenter, model.WindowCenter.ToString());

                dcmFile.Dataset.AddOrUpdate <string>(new DicomTag(0x11, 0x11), model.SerializeJSON);

                DateTime dtNow   = DateTime.Now;
                string   newFile = string.Format("{0}-{1}-{2}-{3}-{4}-{5}.dcm", dtNow.Year, dtNow.Month, dtNow.Day, dtNow.Hour, dtNow.Minute, dtNow.Second);
                newFile = Path.Combine(Directory.GetParent(image.FilePath).FullName, newFile);
                dcmFile.Save(newFile);

                DBHelperFacotry.GetDBHelper().UpdateImageFilePath(image, newFile);

                return(Json(new
                {
                    result = true
                }));
            }
            catch (Exception e)
            {
                return(Json(new
                {
                    result = false,
                    reason = e.Message
                }));
            }
        }
Exemple #3
0
        private void SaveToDatabase(DicomDataset dataset, string filePath)
        {
            Patient patient = Patient.FromDataset(dataset);

            IDBHelper dbHelper = DBHelperFacotry.GetDBHelper();

            dbHelper.AddOrUpdatePatient(ref patient);

            Study study = Study.FromDataset(dataset);

            study.Patient = patient;

            Series series = Series.FromDataset(dataset);

            series.Study = study;

            Image image = Image.FromDataset(dataset);

            image.FilePath = filePath;
            image.Series   = series;

            //add to database
            dbHelper.AddImage(ref image);
        }
Exemple #4
0
        // GET: Image
        public ActionResult Index()
        {
            List <Image> images = DBHelperFacotry.GetDBHelper().GetImages();

            return(View(images));
        }