Esempio n. 1
0
        public override void Prepare()
        {
            if (_displayData != null)
            {
                return;
            }
            //Console.Write("Prepare for a cell\t");
            var sopInstanceUid = _imageBase.SOPInstanceUID;

            if (StudyTree.GetSop(sopInstanceUid) == null)
            {
                DataLoader.LoadSopByUid(sopInstanceUid);
            }
        }
Esempio n. 2
0
        protected override DisplayData CreateDisplayData()
        {
            var sopInstanceUid = _imageBase.SOPInstanceUID;

            if (DisplayDataTable.ContainsKey(sopInstanceUid))
            {
                return(DisplayDataTable[sopInstanceUid]);
            }

            var sop = StudyTree.GetSop(sopInstanceUid);

            var displayData = sop == null
                ? DataAccessor.CreateImageDataBySOPInstanceUID(sopInstanceUid, true)
                : CreateDisplayDataBy(sop);


            DisplayDataTable.Add(sopInstanceUid, displayData);
            return(displayData);
        }
Esempio n. 3
0
        public void BuildStudyTree()
        {
            IImageViewer viewer    = new ImageViewerComponent();
            StudyTree    studyTree = viewer.StudyTree;

            string studyUid1 = DicomUid.GenerateUid().UID;
            string studyUid2 = DicomUid.GenerateUid().UID;
            string studyUid3 = DicomUid.GenerateUid().UID;

            string seriesUid1 = DicomUid.GenerateUid().UID;
            string seriesUid2 = DicomUid.GenerateUid().UID;
            string seriesUid3 = DicomUid.GenerateUid().UID;
            string seriesUid4 = DicomUid.GenerateUid().UID;
            string seriesUid5 = DicomUid.GenerateUid().UID;

            string imageUid1 = DicomUid.GenerateUid().UID;
            string imageUid2 = DicomUid.GenerateUid().UID;
            string imageUid3 = DicomUid.GenerateUid().UID;
            string imageUid4 = DicomUid.GenerateUid().UID;
            string imageUid5 = DicomUid.GenerateUid().UID;
            string imageUid6 = DicomUid.GenerateUid().UID;
            string imageUid7 = DicomUid.GenerateUid().UID;
            string imageUid8 = DicomUid.GenerateUid().UID;
            string imageUid9 = DicomUid.GenerateUid().UID;

            ImageSop image1 = CreateImageSop("patient1", studyUid1, seriesUid1, imageUid1);
            ImageSop image2 = CreateImageSop("patient1", studyUid1, seriesUid1, imageUid2);
            ImageSop image3 = CreateImageSop("patient1", studyUid1, seriesUid2, imageUid3);
            ImageSop image4 = CreateImageSop("patient1", studyUid1, seriesUid2, imageUid4);
            ImageSop image5 = CreateImageSop("patient1", studyUid2, seriesUid3, imageUid5);
            ImageSop image6 = CreateImageSop("patient1", studyUid2, seriesUid3, imageUid6);
            ImageSop image7 = CreateImageSop("patient2", studyUid3, seriesUid4, imageUid7);
            ImageSop image8 = CreateImageSop("patient2", studyUid3, seriesUid4, imageUid8);
            ImageSop image9 = CreateImageSop("patient2", studyUid3, seriesUid5, imageUid9);

            // This is an internal method.  We would never do this from real
            // client code, but we do it here because we just want to test that
            // images are being properly added to the tree.
            studyTree.AddSop(image1);
            studyTree.AddSop(image2);
            studyTree.AddSop(image3);
            studyTree.AddSop(image4);
            studyTree.AddSop(image5);
            studyTree.AddSop(image6);
            studyTree.AddSop(image7);
            studyTree.AddSop(image8);
            studyTree.AddSop(image9);

            Assert.IsTrue(studyTree.Patients.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies.Count == 1);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid2].Series.Count == 1);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid2].Series.Count == 1);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid1].Sops.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid2].Sops.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid2].Series[seriesUid3].Sops.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series[seriesUid4].Sops.Count == 2);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series[seriesUid5].Sops.Count == 1);

            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid1].Sops[imageUid1].SopInstanceUid == image1.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid1].Sops[imageUid2].SopInstanceUid == image2.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid2].Sops[imageUid3].SopInstanceUid == image3.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid1].Series[seriesUid2].Sops[imageUid4].SopInstanceUid == image4.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid2].Series[seriesUid3].Sops[imageUid5].SopInstanceUid == image5.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient1"].Studies[studyUid2].Series[seriesUid3].Sops[imageUid6].SopInstanceUid == image6.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series[seriesUid4].Sops[imageUid7].SopInstanceUid == image7.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series[seriesUid4].Sops[imageUid8].SopInstanceUid == image8.SopInstanceUid);
            Assert.IsTrue(studyTree.Patients["patient2"].Studies[studyUid3].Series[seriesUid5].Sops[imageUid9].SopInstanceUid == image9.SopInstanceUid);

            Assert.IsTrue(studyTree.GetSop(imageUid1).SopInstanceUid == image1.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid2).SopInstanceUid == image2.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid3).SopInstanceUid == image3.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid4).SopInstanceUid == image4.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid5).SopInstanceUid == image5.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid6).SopInstanceUid == image6.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid7).SopInstanceUid == image7.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid8).SopInstanceUid == image8.SopInstanceUid);
            Assert.IsTrue(studyTree.GetSop(imageUid9).SopInstanceUid == image9.SopInstanceUid);

            viewer.Dispose();
        }