public void Save(string fileName) { if (Format == DicomFileFormat.ACRNEMA1 || Format == DicomFileFormat.ACRNEMA2) throw new DicomFileException(this, "Unable to save ACR-NEMA file"); if (Format == DicomFileFormat.DICOM3NoFileMetaInfo) { // create file meta information from dataset FileMetaInfo = new DicomFileMetaInformation(Dataset); } File = new FileReference(fileName); File.Delete(); OnSave(); using (var target = new FileByteTarget(File)) { DicomFileWriter writer = new DicomFileWriter(DicomWriteOptions.Default); writer.Write(target, FileMetaInfo, Dataset); } }
/// <summary> /// Save DICOM file. /// </summary> /// <param name="fileName">File name.</param> public void Save(string fileName) { this.PreprocessFileMetaInformation(); this.File = IOManager.CreateFileReference(fileName); this.File.Delete(); this.OnSave(); using (var target = new FileByteTarget(this.File)) { var writer = new DicomFileWriter(DicomWriteOptions.Default); writer.Write(target, this.FileMetaInfo, this.Dataset); } }
/// <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) { this.PreprocessFileMetaInformation(); 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); } }
public void BeginSave(string fileName, AsyncCallback callback, object state) { if (Format == DicomFileFormat.ACRNEMA1 || Format == DicomFileFormat.ACRNEMA2) throw new DicomFileException(this, "Unable to save ACR-NEMA file"); if (Format == DicomFileFormat.DICOM3NoFileMetaInfo) { // create file meta information from dataset FileMetaInfo = new DicomFileMetaInformation(Dataset); } File = new FileReference(fileName); File.Delete(); OnSave(); FileByteTarget target = new FileByteTarget(File); EventAsyncResult result = new EventAsyncResult(callback, state); DicomFileWriter writer = new DicomFileWriter(DicomWriteOptions.Default); writer.BeginWrite(target, FileMetaInfo, Dataset, OnWriteComplete, new Tuple<DicomFileWriter, EventAsyncResult>(writer, result)); }
/// <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); } }