public ActionResult Report(Guid ReportId) { var report = repoReports.GetReportById(ReportId); ViewBag.ViewerLink = "http://localhost:5000/" + report.ReportLink; ViewBag.Stain = repoStains.GetStainByName(report.StainName).Name; if (report.TissueName != null) { ViewBag.Tissue = repoTissues.GetTissueByName(report.TissueName).Name; } ViewBag.Organ = repoOrgans.GetOrganByName(report.OrganName).Name; ViewBag.Evaluation = report.Evaluation; ViewBag.G = report.Semaphore_Green; ViewBag.Y = report.Semaphore_Yellow; ViewBag.R = report.Semaphore_Red; var ImgPath = report.SharpnessMapPath; Image img = Image.FromFile(ImgPath); byte[] arr; using (MemoryStream ms = new MemoryStream()) { img.Save(ms, System.Drawing.Imaging.ImageFormat.Png); arr = ms.ToArray(); } var base64 = Convert.ToBase64String(arr); ViewBag.Img = String.Format("data:image/png;base64,{0}", base64); var ImgPathDebug = report.SharpnessMapPathDebug; Image imgDebug = Image.FromFile(ImgPathDebug); byte[] arrDebug; using (MemoryStream ms = new MemoryStream()) { imgDebug.Save(ms, System.Drawing.Imaging.ImageFormat.Png); arrDebug = ms.ToArray(); } var base64Debug = Convert.ToBase64String(arrDebug); ViewBag.Debug = String.Format("data:image/png;base64,{0}", base64Debug); ViewBag.DebugRed = report.Red_Channel; ViewBag.DebugBlue = report.Blue_Channel; //check if the wsi exists ViewBag.WSI = "exists"; if (repoWSIs.GetById(report.WSIId).Path == "removed") { ViewBag.WSI = "removed"; } return(View()); }