Esempio n. 1
0
        public void TestDX(bool oneSeries, bool oneImagePerSeries, bool createSingleImages, bool createAllImages, bool showOriginal, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("DX: oneSeries={0}, oneImagePerSeries={1}, createSingleImages={2}, createAllImages={3}, showOriginal={4}"
                                          , oneSeries, oneImagePerSeries, createSingleImages, createAllImages, showOriginal));

            var studyTree = new StudyTree();
            var builder   = StudyBuilderFactory.CreateDigitalXRayBuilder("Patient1", "Test^Patient", "Chest", null,
                                                                         "Chest", 3, oneSeries, oneImagePerSeries, false);
            var seriesCount = oneSeries ? 1 : 2;
            var imageCount  = oneImagePerSeries ? 1 : 2;

            Assert.AreEqual(seriesCount, builder.Series.Count);
            foreach (var series in builder.Series)
            {
                Assert.AreEqual(imageCount, series.Images.Count);
            }

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o       = (StoredDisplaySetCreationSetting)options["DX"];

            o.CreateAllImagesDisplaySet    = createAllImages;
            o.CreateSingleImageDisplaySets = createSingleImages;
            o.ShowOriginalSeries           = showOriginal;

            Test(studyTree, builder, options, createAllImages && seriesCount > 1, expectedDisplaySetCount);
        }
Esempio n. 2
0
        public void TestMG(bool createSingleImages, bool createAllImages, bool showOriginal, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("MG: createSingleImages={0}, createAllImages={1}, showOriginal={2}"
                                          , createSingleImages, createAllImages, showOriginal));

            var studyTree = new StudyTree();
            var builder   = StudyBuilderFactory.CreateDigitalMammoBuilder("Patient1", "Test^Patient", "Breast", null, "Bilateral Mammo", 33, false);

            Assert.AreEqual(2, builder.Series.Count);
            foreach (var series in builder.Series)
            {
                Assert.AreEqual(4, series.Images.Count);
            }

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o       = (StoredDisplaySetCreationSetting)options["MG"];

            o.CreateAllImagesDisplaySet    = createAllImages;
            o.CreateSingleImageDisplaySets = createSingleImages;
            o.ShowOriginalSeries           = showOriginal;

            Test(studyTree, builder, options, createAllImages, expectedDisplaySetCount);
        }
        private void Test(StudyTree studyTree, StudyBuilder builder, DisplaySetCreationOptions options, bool expectModalityDisplaySet, int expectedDisplaySetCount)
        {
            var filler   = new LayoutManager.ImageSetFiller(studyTree, options);
            var imageSet = new ImageSet {
                Uid = builder.StudyInstanceUid
            };

            var study = studyTree.Studies.First();

            try
            {
                //NOTE: follow the same pattern as the layout manager where we add the "all images" display sets
                //first, then we add ones for the individual series after.
                filler.AddMultiSeriesDisplaySets(imageSet, study);
                Assert.AreEqual(expectModalityDisplaySet ? 1 : 0, imageSet.DisplaySets.Count, "Empty Image Set");

                foreach (var series in study.Series)
                {
                    filler.AddSeriesDisplaySets(imageSet, series);
                }

                Assert.AreEqual(expectedDisplaySetCount, imageSet.DisplaySets.Count, "Display Set Counts");
            }
            finally
            {
                studyTree.Dispose();
                imageSet.Dispose();
            }
        }
        public void TestMixedMultiframe(bool split, bool showOriginal, bool showOriginalSeries, int numberSingleImages, int numberMultiframes, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("Mixed Multiframe: split={0}, showOriginal={1}, showOriginalSeries={2}, "
                                          + "singleImages={3}, multiFrames={4}"
                                          , split, showOriginal, showOriginalSeries, numberSingleImages, numberMultiframes));

            var studyTree = new StudyTree();
            var builder   = StudyBuilderFactory.CreateMixedMultiframeUltrasound("Patient1", "Test^Patient", "Mixed Multiframe", null,
                                                                                3, "Series3", numberSingleImages, numberMultiframes, false, false);

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o       = (StoredDisplaySetCreationSetting)options["US"];

            Assert.IsTrue(o.SplitMixedMultiframes);
            Assert.IsFalse(o.ShowOriginalMixedMultiframeSeries);
            Assert.IsTrue(o.ShowOriginalSeries);

            o.SplitMixedMultiframes             = split;
            o.ShowOriginalMixedMultiframeSeries = showOriginal;
            o.ShowOriginalSeries = showOriginalSeries;

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 5
0
        public void TestCT(int expectedDisplaySetCount)
        {
            var studyTree = new StudyTree();
            var builder   = StudyBuilderFactory.CreateCTChestBuilder("Patient1", "Test^Patient", "Chest", null, "Scout", "Axial", 22);

            Assert.AreEqual(2, builder.Series.Count);
            foreach (var series in builder.Series)
            {
                Assert.IsTrue(series.Images.Count > 1);
            }

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o       = (StoredDisplaySetCreationSetting)options["CT"];

            Assert.IsTrue(o.ShowOriginalSeries);

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 6
0
        public void TestMR(bool createEchos, bool split, bool showOriginal, bool showOriginalSeries, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("MR Echo: split={0}, showOriginal={1}, showOriginalSeries={2}", split, showOriginal, showOriginalSeries));

            var studyTree = new StudyTree();
            var builder   = StudyBuilderFactory.CreateMRBuilder("Patient1", "Test^Patient", "MR Echo", null, "Series1", "Series2", 1, createEchos, false);

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o       = (StoredDisplaySetCreationSetting)options["MR"];

            Assert.IsTrue(o.SplitMultiEchoSeries);
            Assert.IsFalse(o.ShowOriginalMultiEchoSeries);
            Assert.IsTrue(o.ShowOriginalSeries);

            o.SplitMultiEchoSeries        = split;
            o.ShowOriginalMultiEchoSeries = showOriginal;
            o.ShowOriginalSeries          = showOriginalSeries;

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 7
0
        private void Test(StudyTree studyTree, StudyBuilder builder, DisplaySetCreationOptions options, bool expectModalityDisplaySet, int expectedDisplaySetCount)
        {
            var filler = new LayoutManager.ImageSetFiller(studyTree, options);
            var imageSet = new ImageSet { Uid = builder.StudyInstanceUid };

            var study = studyTree.Studies.First();

            try
            {
                //NOTE: follow the same pattern as the layout manager where we add the "all images" display sets
                //first, then we add ones for the individual series after.
                filler.AddMultiSeriesDisplaySets(imageSet, study);
                Assert.AreEqual(expectModalityDisplaySet ? 1 : 0, imageSet.DisplaySets.Count, "Empty Image Set");

                foreach (var series in study.Series)
                    filler.AddSeriesDisplaySets(imageSet, series);

                Assert.AreEqual(expectedDisplaySetCount, imageSet.DisplaySets.Count, "Display Set Counts");
            }
            finally
            {
                studyTree.Dispose();
                imageSet.Dispose();
            }
        }
Esempio n. 8
0
        public void TestMixedMultiframe(bool split, bool showOriginal, bool showOriginalSeries, int numberSingleImages, int numberMultiframes, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("Mixed Multiframe: split={0}, showOriginal={1}, showOriginalSeries={2}, " 
                                            + "singleImages={3}, multiFrames={4}"
                                            , split, showOriginal, showOriginalSeries, numberSingleImages, numberMultiframes));

            var studyTree = new StudyTree();
            var builder = StudyBuilderFactory.CreateMixedMultiframeUltrasound("Patient1", "Test^Patient", "Mixed Multiframe", null, 
                                                                                3, "Series3", numberSingleImages, numberMultiframes, false, false);
            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o = (StoredDisplaySetCreationSetting)options["US"];
            Assert.IsTrue(o.SplitMixedMultiframes);
            Assert.IsFalse(o.ShowOriginalMixedMultiframeSeries);
            Assert.IsTrue(o.ShowOriginalSeries);

            o.SplitMixedMultiframes = split;
            o.ShowOriginalMixedMultiframeSeries = showOriginal;
            o.ShowOriginalSeries = showOriginalSeries;

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 9
0
        public void TestMR(bool createEchos, bool split, bool showOriginal, bool showOriginalSeries, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("MR Echo: split={0}, showOriginal={1}, showOriginalSeries={2}", split, showOriginal, showOriginalSeries));
            
            var studyTree = new StudyTree();
            var builder = StudyBuilderFactory.CreateMRBuilder("Patient1", "Test^Patient", "MR Echo", null, "Series1", "Series2", 1, createEchos, false);
            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o = (StoredDisplaySetCreationSetting)options["MR"];
            Assert.IsTrue(o.SplitMultiEchoSeries);
            Assert.IsFalse(o.ShowOriginalMultiEchoSeries);
            Assert.IsTrue(o.ShowOriginalSeries);

            o.SplitMultiEchoSeries = split;
            o.ShowOriginalMultiEchoSeries = showOriginal;
            o.ShowOriginalSeries = showOriginalSeries;

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 10
0
        public void TestCT(int expectedDisplaySetCount)
        {
            var studyTree = new StudyTree();
            var builder = StudyBuilderFactory.CreateCTChestBuilder("Patient1", "Test^Patient", "Chest", null, "Scout", "Axial", 22);
            Assert.AreEqual(2, builder.Series.Count);
            foreach (var series in builder.Series)
                Assert.IsTrue(series.Images.Count > 1);

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o = (StoredDisplaySetCreationSetting)options["CT"];
            Assert.IsTrue(o.ShowOriginalSeries);

            Test(studyTree, builder, options, false, expectedDisplaySetCount);
        }
Esempio n. 11
0
        public void TestDX(bool oneSeries, bool oneImagePerSeries, bool createSingleImages, bool createAllImages, bool showOriginal, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("DX: oneSeries={0}, oneImagePerSeries={1}, createSingleImages={2}, createAllImages={3}, showOriginal={4}"
                                            , oneSeries, oneImagePerSeries, createSingleImages, createAllImages, showOriginal));

            var studyTree = new StudyTree();
            var builder = StudyBuilderFactory.CreateDigitalXRayBuilder("Patient1", "Test^Patient", "Chest", null,
                                                                       "Chest", 3, oneSeries, oneImagePerSeries, false);
            var seriesCount = oneSeries ? 1 : 2;
            var imageCount = oneImagePerSeries ? 1 : 2;
            Assert.AreEqual(seriesCount, builder.Series.Count);
            foreach (var series in builder.Series)
                Assert.AreEqual(imageCount, series.Images.Count);

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o = (StoredDisplaySetCreationSetting)options["DX"];
            o.CreateAllImagesDisplaySet = createAllImages;
            o.CreateSingleImageDisplaySets = createSingleImages;
            o.ShowOriginalSeries = showOriginal;

            Test(studyTree, builder, options, createAllImages && seriesCount > 1, expectedDisplaySetCount);
        }
Esempio n. 12
0
        public void TestMG(bool createSingleImages, bool createAllImages, bool showOriginal, int expectedDisplaySetCount)
        {
            Trace.WriteLine(String.Format("MG: createSingleImages={0}, createAllImages={1}, showOriginal={2}"
                                            , createSingleImages, createAllImages, showOriginal));

            var studyTree = new StudyTree();
            var builder = StudyBuilderFactory.CreateDigitalMammoBuilder("Patient1", "Test^Patient", "Breast", null, "Bilateral Mammo", 33, false);
            Assert.AreEqual(2, builder.Series.Count);
            foreach (var series in builder.Series)
                Assert.AreEqual(4, series.Images.Count);

            builder.AddStudy(studyTree);

            var options = new DisplaySetCreationOptions();
            var o = (StoredDisplaySetCreationSetting)options["MG"];
            o.CreateAllImagesDisplaySet = createAllImages;
            o.CreateSingleImageDisplaySets = createSingleImages;
            o.ShowOriginalSeries = showOriginal;

            Test(studyTree, builder, options, createAllImages, expectedDisplaySetCount);
        }