示例#1
0
        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());
        }