Esempio n. 1
0
        public bool Delete(Guid guid)
        {
            using (var db = new ContourContext())
            {
                ContourEntity ce = null;
                try
                {
                    ce = db.Contours.Single(c => c.ContourEntityId == guid);
                }
                catch (Exception)
                {
                    return(false);
                }
                if (ce == null)
                {
                    return(false);
                }
                if (ce.IsManual)
                {
                    return(false);
                }
                db.Contours.Remove(ce);
                db.SaveChanges();
            }
            string filename = "../data/semiautomatic/" + guid.ToString() + ".csv";

            File.Delete(filename);
            return(true);
        }
        public void Save(SemiAutomaticPreviewDTO contour)
        {
            using (var db = new ContourContext())
            {
                ContourEntity ce = new ContourEntity();
                ce.ContourEntityId = contour.guid;
                ce.DicomId         = contour.dicomid;
                ce.Tag             = contour.tag;
                ce.IsManual        = false;

                db.Contours.Add(ce);
                db.SaveChanges();
            }

            string       filename = "../data/preview/" + contour.guid.ToString() + ".csv";
            StreamWriter sw       = new StreamWriter(filename);

            sw.WriteLine(contour.guid.ToString());
            sw.WriteLine(contour.dicomid.ToString());
            sw.WriteLine(contour.tag);
            sw.WriteLine(string.Join(',', contour.lines.First().points.Select(s => s.x.ToString() +
                                                                              "," + s.y.ToString())));
            sw.WriteLine(string.Join(',', contour.lines.First().pixels.Select(s => s.x.ToString() +
                                                                              "," + s.y.ToString())));
            sw.WriteLine(contour.lines.First().brushColor);
            sw.WriteLine(contour.width);
            sw.WriteLine(contour.height);
            sw.WriteLine(contour.pixelSpacing);

            sw.Close();
        }
Esempio n. 3
0
        public void Save(SemiAutomaticContourDTO contour)
        {
            using (var db = new ContourContext())
            {
                ContourEntity ce = new ContourEntity();
                ce.ContourEntityId = contour.guid;
                ce.DicomId         = contour.dicomid;
                ce.Tag             = contour.tag;
                ce.IsManual        = false;

                db.Contours.Add(ce);
                db.SaveChanges();
            }

            string       filename = "../data/semiautomatic/" + contour.guid.ToString() + ".csv";
            StreamWriter sw       = new StreamWriter(filename);

            sw.WriteLine(contour.guid.ToString());
            sw.WriteLine(contour.dicomid.ToString());
            sw.WriteLine(contour.tag);
            sw.WriteLine(string.Join(',', contour.lines.First().points.Select(s => s.x.ToString() +
                                                                              "," + s.y.ToString())));
            sw.WriteLine(string.Join(',', contour.lines.First().pixels.Select(s => s.x.ToString() +
                                                                              "," + s.y.ToString())));
            sw.WriteLine(contour.lines.First().brushColor);
            sw.WriteLine(contour.width);
            sw.WriteLine(contour.height);
            sw.WriteLine(contour.pixelSpacing);

            if (contour.statistics != null)
            {
                sw.WriteLine(contour.statistics.CenterOfMass.x + "," + contour.statistics.CenterOfMass.y);
                sw.WriteLine(string.Join(',', contour.statistics.Histogram));
                sw.WriteLine(contour.statistics.HistogramMin);
                sw.WriteLine(contour.statistics.HistogramMax);
                sw.WriteLine(contour.statistics.HistogramMean);
                sw.WriteLine(contour.statistics.Area);
                sw.WriteLine(contour.statistics.Permieter);
                sw.WriteLine(contour.statistics.NumberOfPixelsInsideContour);
                sw.WriteLine(contour.statistics.NumberOfPixelsOfContour);
                sw.WriteLine(string.Join(',', contour.centralPoints.Select(s => s.x.ToString() +
                                                                           "," + s.y.ToString())));
            }
            else
            {
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine();
            }

            sw.Close();
        }