Exemplo n.º 1
0
        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);
            //}
        }
Exemplo n.º 2
0
 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.");
 }
Exemplo n.º 3
0
        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;
        }