/// <summary> /// Asynchronously save DICOM file to stream. /// </summary> /// <param name="stream">Stream on which to save DICOM file.</param> /// <param name="options">Options to apply during writing.</param> /// <returns>Awaitable task.</returns> public async Task SaveAsync(Stream stream, DicomWriteOptions options = null) { this.PreprocessFileMetaInformation(); this.OnSave(); var target = new StreamByteTarget(stream); var writer = new DicomFileWriter(options); await writer.WriteAsync(target, this.FileMetaInfo, this.Dataset).ConfigureAwait(false); }
/// <summary> /// Save to file asynchronously. /// </summary> /// <param name="fileName">Name of file.</param> /// <param name="options">Options to apply during writing.</param> /// <returns>Awaitable <see cref="Task"/>.</returns> public async Task SaveAsync(string fileName, DicomWriteOptions options = null) { PreprocessFileMetaInformation(); File = Setup.ServiceProvider.GetService <IFileReferenceFactory>().Create(fileName); File.Delete(); OnSave(); using var target = new FileByteTarget(File); var writer = new DicomFileWriter(options); await writer.WriteAsync(target, FileMetaInfo, Dataset).ConfigureAwait(false); }
/// <summary> /// Save to file asynchronously. /// </summary> /// <param name="fileName">Name of file.</param> /// <param name="options">Options to apply during writing.</param> /// <returns>Awaitable <see cref="Task"/>.</returns> public async Task SaveAsync(string fileName, DicomWriteOptions options = null) { this.PreprocessFileMetaInformation(); this.File = IOManager.CreateFileReference(fileName); this.File.Delete(); this.OnSave(); using (var target = new FileByteTarget(this.File)) { var writer = new DicomFileWriter(options); await writer.WriteAsync(target, this.FileMetaInfo, this.Dataset).ConfigureAwait(false); } }
/// <summary> /// Asynchronously save DICOM file to stream. /// </summary> /// <param name="stream">Stream on which to save DICOM file.</param> /// <returns>Awaitable task.</returns> public async Task SaveAsync(Stream stream) { if (this.Format == DicomFileFormat.ACRNEMA1 || this.Format == DicomFileFormat.ACRNEMA2) { throw new DicomFileException(this, "Unable to save ACR-NEMA file"); } if (this.Format == DicomFileFormat.DICOM3NoFileMetaInfo) { // create file meta information from dataset this.FileMetaInfo = new DicomFileMetaInformation(this.Dataset); } this.OnSave(); var target = new StreamByteTarget(stream); var writer = new DicomFileWriter(DicomWriteOptions.Default); await writer.WriteAsync(target, this.FileMetaInfo, this.Dataset).ConfigureAwait(false); }
/// <summary> /// Save to file asynchronously. /// </summary> /// <param name="fileName">Name of file.</param> /// <returns>Awaitable <see cref="Task"/>.</returns> public async Task SaveAsync(string fileName) { if (this.Format == DicomFileFormat.ACRNEMA1 || this.Format == DicomFileFormat.ACRNEMA2) { throw new DicomFileException(this, "Unable to save ACR-NEMA file"); } if (this.Format == DicomFileFormat.DICOM3NoFileMetaInfo) { // create file meta information from dataset this.FileMetaInfo = new DicomFileMetaInformation(this.Dataset); } this.File = IOManager.CreateFileReference(fileName); this.File.Delete(); this.OnSave(); using (var target = new FileByteTarget(this.File)) { var writer = new DicomFileWriter(DicomWriteOptions.Default); await writer.WriteAsync(target, this.FileMetaInfo, this.Dataset).ConfigureAwait(false); } }