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++; } }
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); } }
public void Initialize( ) { _testFolderName = "conversions"; TestDirPath = DicomHelpers.GetTestDataFolder(_testFolderName, true); Helper = new DicomHelpers( ); }
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; } }
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); }
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); } }
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); }
public static string GetSampleImagesFolder( ) { return(Path.Combine(DicomHelpers.GetBaseFolder( ), "resources", "sampleimages")); }
public void Initialize( ) { Helper = new DicomHelpers( ); DataAccessHelper = new DataAccessHelpers( ); }