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); }
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 })); } }
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); }
// GET: Image public ActionResult Index() { List <Image> images = DBHelperFacotry.GetDBHelper().GetImages(); return(View(images)); }