public void UpdateDicomFile(UpdateData updateData) { DicomFileFormat dicomFile = new DicomFileFormat(); dicomFile.Load(updateData.DicomFileName, DicomReadOptions.DeferLoadingLargeElements); foreach (KeyValuePair<DicomTag, string> kvp in updateData.UpdateDataset) { dicomFile.Dataset.SetString(kvp.Key, kvp.Value); } foreach (KeyValuePair<DicomTag, string> kvp in updateData.UpdateMetadata) { dicomFile.FileMetaInfo.SetString(kvp.Key, kvp.Value); } dicomFile.Dataset.PreloadDeferredBuffers(); dicomFile.Save(updateData.DicomFileName, DicomWriteOptions.Default); //if (updateData.DicomFileName != null) //{ // string path = Path.GetDirectoryName(updateData.DicomFilePath); // File.Move(updateData.DicomFilePath, path + @"\" + updateData.DicomFileName); //} }
public void UpdateDicomFileTest() { DicomUpdate target = new DicomUpdate(); UpdateData updateData = new UpdateData(); string[] files; string path = ".\\Monodicom.Tests\\TestStudies\\RFStudy"; updateData.DicomFilePath = path; files = Directory.GetFiles(path, ".dcm"); target.UpdateDicomFile(updateData); Assert.Inconclusive("A method that does not return a value cannot be verified."); }
private UpdateData createUpdateObject(string studyFilePath, int fileSeriesNumber) { UpdateData updateData = new UpdateData(); DicomUID newSOPInstanceId = DicomUID.Generate(_studyID, fileSeriesNumber); DicomUID newSeriesInstanceId = DicomUID.Generate(_studyID, fileSeriesNumber); DicomUID newMediaStorageSOPInstanceId = DicomUID.Generate(_studyID, fileSeriesNumber); //Set File Path updateData.DicomFileName = studyFilePath; //Add in the user input updateData.UpdateDataset.Add(_patientNameTag, txtPatientNameInput.Text); updateData.UpdateDataset.Add(_patientIdTag, _patientId); updateData.UpdateDataset.Add(_patientDOBTag, txtPatientDOBInput.Text); updateData.UpdateDataset.Add(_studyDescriptionTag, txtStudyDescrptionInput.Text); updateData.UpdateDataset.Add(_studyDateTag, txtStudyDateInput.Text); updateData.UpdateDataset.Add(_accessionNumberTag, _accessionNumber); updateData.UpdateDataset.Add(_referringPhysiciansNameTag, txtReferringPhysicianNameInput.Text); updateData.UpdateDataset.Add(new DicomTag(DicomConstTags.StudyInstanceUID), _studyID.UID); updateData.UpdateDataset.Add(new DicomTag(DicomConstTags.SOPInstanceUID), newSOPInstanceId.UID); updateData.UpdateDataset.Add(new DicomTag(DicomConstTags.SeriesInstanceUID), newSeriesInstanceId.UID); //Add in the Meta Info updateData.UpdateMetadata.Add(new DicomTag(DicomConstTags.MediaStorageSOPInstanceUID), newMediaStorageSOPInstanceId.UID); return updateData; }