Beispiel #1
0
 public static void ShowAllSlices(this Matrix m)
 {
     for (int z = 0; z < m.DimensionZ; z++)
     {
         using (var mat = m.GetZPlaneBySlice(z))
         {
             var sliceText = mat.EmptyClone();
             sliceText.PutText($"{z}", new Point(m.DimensionX / 2, m.DimensionY - 5), HersheyFonts.Italic, 0.5, new Scalar(1));
             var combined = new Mat();
             Cv2.AddWeighted(mat, 1, sliceText, 0.5, 0, combined);
             FloatMat.Show(combined);
             combined.Dispose();
             mat.Dispose();
             sliceText.Dispose();
         }
     }
 }
Beispiel #2
0
        public static void RenderContourOnDose(Matrix dm, params SliceContourMeta[] contours)
        {
            var z     = contours.Select(c => c.Z).First();
            var slice = dm.GetZPlane(z);
            var color = FloatMat.ToSDFRender(slice);

            slice.Dispose();
            foreach (var contour in contours)
            {
                if (contour.ContourPoints.Any())
                {
                    contour.DrawOnSlice(dm.PatientTransformMatrix, color);
                }
            }

            Cv2.ImShow("Dose Contour", color);
            Cv2.WaitKey();
        }