public virtual IEnumerable <ObjectRetrieveResult> GetTransformedSopInstances ( IObjectId query, string fromMediaType, string fromTransferSyntax, string toMediaType, string toTransferSyntax ) { IMediaId fromMediaID = GetFromMediaId(query, fromMediaType, fromTransferSyntax); var frameList = (null != query.Frame) ? new int[] { query.Frame.Value } : null; if (StorageService.Exists(fromMediaID)) { foreach (IStorageLocation location in StorageService.EnumerateLocation(fromMediaID)) { DicomFile defaultFile = DicomFile.Open(location.GetReadStream()); foreach (var transformedLocation in TransformDataset(defaultFile.Dataset, toMediaType, toTransferSyntax, frameList)) { yield return(new ObjectRetrieveResult(transformedLocation, toTransferSyntax)); } } } }
public MemoryStorageLocation(string id, IMediaId mediaID, MemoryStream stream) { ID = id; MediaId = mediaID; EnableUploadHardCopy = true; _location = stream; }
public LocalStorageLocation(string fileName, IMediaId id = null) { ID = fileName; MediaId = id; Name = Path.GetFileName(fileName); __MetadataFileName = Path.Combine(fileName, "meta"); Refresh( ); }
public virtual IStorageLocation GetLocation(IMediaId id) { string key = KeyProvider.GetStorageKey(id); IStorageContainer container = GetContainer(KeyProvider.GetContainerName(key)); var location = container.GetLocation(KeyProvider.GetLocationName(key), id); return(location); }
public IStorageLocation GetLocation(string name = null, IMediaId id = null) { if (string.IsNullOrWhiteSpace(name)) { name = Guid.NewGuid( ).ToString( ); } return(new LocalStorageLocation(GetLocationPath(name), id)); }
public IEnumerable <IStorageLocation> EnumerateLocation(IMediaId id) { string key = KeyProvider.GetStorageKey(id); string containerName = KeyProvider.GetContainerName(key); foreach (IStorageContainer container in GetContainers(containerName)) { foreach (IStorageLocation location in container.GetLocations(KeyProvider.GetLocationName(key))) { yield return(location); } } }
public bool Exists(IMediaId id) { string key = KeyProvider.GetStorageKey(id); string containerName = KeyProvider.GetContainerName(key); IStorageContainer container; if (ContainerExists(containerName)) { container = GetContainer(containerName); return(container.LocationExists(KeyProvider.GetLocationName(key))); } return(false); }
public void DeleteLocations(IMediaId id) { string key = KeyProvider.GetStorageKey(id); string containerName = KeyProvider.GetContainerName(key); if (ContainerExists(key)) { var container = GetContainer(key); container.Delete( ); } else { var location = GetLocation(id); location.Delete( ); } }
public virtual void Write(Stream stream, IMediaId id) { var location = GetLocation(id); location.Upload(stream); }
public virtual Stream Read(IMediaId key) { var location = GetLocation(key); return(location.Download( )); }
public AzureLocation(ICloudBlob blob, IMediaId id = null) { Blob = blob; _mediaId = id; }
public virtual string GetStorageKey(IMediaId id) { return(Path.Combine(id.GetIdParts( ))); }
public override string GetStorageKey(IMediaId id) { return(Path.Combine(id.GetIdParts( ).Select(GetPartKey).ToArray( ))); }
public IStorageLocation GetLocation(string key = null, IMediaId id = null) { var blob = __Container.GetBlockBlobReference((key == null) ? Guid.NewGuid().ToString() : key); return(new AzureLocation(blob, id)); }
public IStorageLocation GetLocation(IMediaId key) { return(new MemoryStorageLocation(Path.Combine(key.GetIdParts( )), key)); }
public string GetStorageKey(IMediaId key) { return(string.Join(GetLogicalSeparator( ), key.GetIdParts( ))); }
public MemoryStorageLocation(string id, IMediaId mediaID) : this(id, mediaID, new MemoryStream( )) { }
public virtual void Write(Stream stream, IMediaId id, string contentType) { var location = GetLocation(id); location.Upload(stream, contentType); }