Ejemplo n.º 1
0
        public void Pacs_Storage_Images( )
        {
            EnsureCodecsLoaded( );

            StoreService.StoreDicom(DicomHelper.GetDicomDataset(2), new DataAccess.InstanceMetadata( ));

            int counter = 0;

            foreach (string file in Directory.GetFiles(DicomHelpers.GetSampleImagesFolder( )))
            {
                var dataset = fo.DicomFile.Open(file).Dataset;

                //reason is to shorten the path where the DS is stored.
                //location include the UIDs, so make sure your storage
                // folder is close to the root when keeping the original UIDs
                dataset.AddOrUpdate(fo.DicomTag.PatientID, "Patient_" + counter);
                dataset.AddOrUpdate(fo.DicomTag.StudyInstanceUID, "Study_" + counter);
                dataset.AddOrUpdate(fo.DicomTag.SeriesInstanceUID, "Series_" + counter);
                dataset.AddOrUpdate(fo.DicomTag.SOPInstanceUID, "Instance_" + counter);

                StoreService.StoreDicom(dataset, new DataAccess.InstanceMetadata( ));

                counter++;
            }
        }
Ejemplo n.º 2
0
        public void ConvertToJson()
        {
            var testDir = Path.Combine(TestDirPath, "convertToJson");
            JsonDicomConverter jsonConverter = new JsonDicomConverter( );

            Directory.CreateDirectory(testDir);

            foreach (string file in Directory.GetFiles(DicomHelpers.GetSampleImagesFolder( )))
            {
                string          fullPath = Path.Combine(testDir, Path.GetFileName(file));
                fo.DicomDataset sourceDS = fo.DicomFile.Open(file).Dataset;

                jsonConverter.WriteInlineBinary = true;

                string sourceJsonDicom = jsonConverter.Convert(sourceDS);

                System.IO.File.WriteAllText(fullPath + ".jsn", sourceJsonDicom);


                fo.DicomDataset targetDs = jsonConverter.Convert(sourceJsonDicom);

                var dsF = new fo.DicomFile(targetDs);

                dsF.Save(fullPath + ".jsn.dcm");

                string destJsonDicom = jsonConverter.Convert(targetDs);

                System.IO.File.WriteAllText(fullPath + ".gen.jsn", destJsonDicom);

                Assert.AreEqual(sourceJsonDicom, destJsonDicom);
            }
        }
Ejemplo n.º 3
0
        public void Initialize( )
        {
            _testFolderName = "conversions";

            TestDirPath = DicomHelpers.GetTestDataFolder(_testFolderName, true);
            Helper      = new DicomHelpers( );
        }
Ejemplo n.º 4
0
        public void Initialize( )
        {
            try
            {
                DicomHelper      = new DicomHelpers( );
                DataAccessHelper = new DataAccessHelpers( );

                var storagePath    = DicomHelpers.GetTestDataFolder("storage", true);
                var mediaIdFactory = new DicomMediaIdFactory();


                MediaStorageService storageService = new FileStorageService(storagePath);

                var factory = new Pacs.Commands.DCloudCommandFactory(storageService,
                                                                     DataAccessHelper.DataAccess,
                                                                     new DicomMediaWriterFactory(storageService,
                                                                                                 mediaIdFactory),
                                                                     mediaIdFactory);

                StoreService = new ObjectStoreService(factory);
                QueryService = new ObjectArchieveQueryService(DataAccessHelper.DataAccess);

                PopulateData( );
            }
            catch (Exception)
            {
                Cleanup( );

                throw;
            }
        }
Ejemplo n.º 5
0
        public void Initialize( )
        {
            DicomHelper      = new DicomHelpers( );
            DataAccessHelper = new DataAccessHelpers( );
            var storagePath    = DicomHelpers.GetTestDataFolder("storage", true);
            var mediaIdFactory = new DicomMediaIdFactory( );


            MediaStorageService storageService = new FileStorageService(storagePath);

            var factory = new Pacs.Commands.DCloudCommandFactory(storageService,
                                                                 DataAccessHelper.DataAccess,
                                                                 new DicomMediaWriterFactory(storageService,
                                                                                             mediaIdFactory),
                                                                 mediaIdFactory);

            StoreService = new ObjectStoreService(factory);
        }
Ejemplo n.º 6
0
        public void ConvertToXml( )
        {
            var testDir      = Path.Combine(TestDirPath, "convertToXml");
            var xmlConverter = new XmlDicomConverter( )
            {
                WriteInlineBinary = true
            };


            Directory.CreateDirectory(testDir);
            //fo.DicomDataset sourceDS = Helper.GetDicomDataset ( 10 ).Clone ( fo.DicomTransferSyntax.ExplicitVRLittleEndian ) ;
            foreach (string file in Directory.GetFiles(DicomHelpers.GetSampleImagesFolder( )))
            {
                string          fullPath = Path.Combine(testDir, Path.GetFileName(file));
                fo.DicomDataset sourceDS = fo.DicomFile.Open(file).Dataset;


                var sourceXmlDicom = xmlConverter.Convert(sourceDS);

                System.IO.File.WriteAllText(fullPath + ".xml", sourceXmlDicom);

                fo.DicomDataset targetDs = xmlConverter.Convert(sourceXmlDicom);

                var dsF = new fo.DicomFile(targetDs);

                dsF.FileMetaInfo.TransferSyntax = fo.DicomTransferSyntax.Parse(targetDs.Get(fo.DicomTag.TransferSyntaxUID, targetDs.InternalTransferSyntax.ToString( )));

                dsF.Save(fullPath + ".gen.dcm");

                var destXmlDicom = xmlConverter.Convert(targetDs);

                System.IO.File.WriteAllText(fullPath + ".gen.xml", destXmlDicom);

                //private tags with private creator will cause this to fail
                //VR for OW change to OB
                Assert.AreEqual(sourceXmlDicom, destXmlDicom);
            }
        }
Ejemplo n.º 7
0
        public void Initialize( )
        {
            DicomHelper      = new DicomHelpers( );
            DataAccessHelper = new DataAccessHelpers( );
            var storagePath    = DicomHelpers.GetTestDataFolder("storage", true);
            var mediaIdFactory = new DicomMediaIdFactory( );


            MediaStorageService         storageService = new FileStorageService(storagePath);
            IObjectArchieveQueryService queryService   = new ObjectArchieveQueryService(DataAccessHelper.DataAccess);

            var factory = new Pacs.Commands.DCloudCommandFactory(storageService,
                                                                 DataAccessHelper.DataAccess,
                                                                 new DicomMediaWriterFactory(storageService,
                                                                                             mediaIdFactory),
                                                                 mediaIdFactory);

            StoreService = new ObjectStoreService(factory);

            var urlProvider = new MockRetrieveUrlProvider();

            WebStoreService = new WebObjectStoreService(StoreService, urlProvider);
            WebQueryService = new QidoRsService(queryService, mediaIdFactory, storageService);
        }
Ejemplo n.º 8
0
 public static string GetSampleImagesFolder( )
 {
     return(Path.Combine(DicomHelpers.GetBaseFolder( ), "resources", "sampleimages"));
 }
Ejemplo n.º 9
0
 public void Initialize( )
 {
     Helper           = new DicomHelpers( );
     DataAccessHelper = new DataAccessHelpers( );
 }