void DicomDataSet_GetEncapsulatedDocumentExample(DicomElement element, bool child, DicomDataSet ds, string sFileDocumentOut) { try { DicomEncapsulatedDocument encapsulatedDocument = new DicomEncapsulatedDocument(); //New encapsulated document DicomCodeSequenceItem conceptNameCodeSequence = new DicomCodeSequenceItem(); //New code sequence item ds.GetEncapsulatedDocument(element, child, sFileDocumentOut, encapsulatedDocument, conceptNameCodeSequence); //Load the encapsulated document from the data set string sMsg; sMsg = string.Format("Encapsulated Document Extracted: {0}", sFileDocumentOut); DumpEncapsulatedDocumentTags(sMsg, encapsulatedDocument, conceptNameCodeSequence); //Print out all the attributes } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
void DicomDataSet_SetEncapsulatedDocumentExample(DicomElement element, bool child, DicomDataSet ds, string sFileDocumentIn) { try { //Create a new DICOM Encapsulated Document DicomEncapsulatedDocument encapsulatedDocument = new DicomEncapsulatedDocument(); //Set the attributes of the encapsulated document encapsulatedDocument.Type = DicomEncapsulatedDocumentType.Pdf; //Type == Pdf encapsulatedDocument.InstanceNumber = 123; encapsulatedDocument.ContentDate = new DicomDateValue(2015, 1, 1); encapsulatedDocument.ContentTime = new DicomTimeValue(12, 30, 00, 1); encapsulatedDocument.AcquisitionDateTime = new DicomDateTimeValue(2015, 1, 1, 12, 30, 00, 01, -3); encapsulatedDocument.BurnedInAnnotation = "YES"; encapsulatedDocument.DocumentTitle = sFileDocumentIn; encapsulatedDocument.VerificationFlag = "UNVERIFIED"; encapsulatedDocument.HL7InstanceIdentifier = string.Empty; //Mime type of the document (ignored) encapsulatedDocument.MimeTypeOfEncapsulatedDocument = "***** This is ignored when calling SetEncapsulatedDocument *****"; //Mime types of the document string[] sListOfMimeTypes = new string[] { "image/jpeg", "application/pdf" }; encapsulatedDocument.SetListOfMimeTypes(sListOfMimeTypes); DicomCodeSequenceItem conceptNameCodeSequence = new DicomCodeSequenceItem(); conceptNameCodeSequence.CodingSchemeDesignator = "LN"; conceptNameCodeSequence.CodeValue = "12345"; conceptNameCodeSequence.CodeMeaning = "Sample Code Meaning"; //Set the document into the data set ds.SetEncapsulatedDocument(element, child, sFileDocumentIn, encapsulatedDocument, conceptNameCodeSequence); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/* * Adds a waveform group for a Wav file to a Dataset */ private bool InsertWaveStream(ref DicomDataSet InDS, string strInputWaveFileName) { DicomWaveformGroup AudioWaveformGroup = new DicomWaveformGroup(); int nNumberOfChannels = 0; // Load an audio file into the waveform group try { AudioWaveformGroup.LoadAudio(strInputWaveFileName); } catch (Exception ex) { MessageBox.Show("Couldn't insert the wave stream into the dataset.\r\n\r\n" + ex.ToString()); return(false); } // Verify that hte frequency is 8K int nSamplingFrequency = (int)AudioWaveformGroup.GetSamplingFrequency(); if (nSamplingFrequency != 8000) { MessageBox.Show("The samples per second (sampling rate) for the wave file should be 8KHz."); return(false); } // Set the channel source nNumberOfChannels = AudioWaveformGroup.ChannelCount; if (nNumberOfChannels > 0) { DicomWaveformChannel channel = null; DicomCodeSequenceItem DicomSourceSequenceItem = new DicomCodeSequenceItem(); DicomSourceSequenceItem.CodeMeaning = "Dictation"; DicomSourceSequenceItem.CodeValue = "110011"; DicomSourceSequenceItem.CodingSchemeDesignator = "DCM"; DicomSourceSequenceItem.CodingSchemeVersion = "01"; for (int nIndex = 0; nIndex < nNumberOfChannels; nIndex++) { channel = AudioWaveformGroup.GetChannel(nIndex); if (channel != null) { try { channel.SetChannelSource(DicomSourceSequenceItem); } catch (Exception ex) { MessageBox.Show("Couldn't set the channel source\r\n\r\n" + ex.ToString()); return(false); } } } } // Insert the waveform group into the dataset try { InDS.AddWaveformGroup(AudioWaveformGroup, 0); } catch (Exception ex) { MessageBox.Show("Couldn't insert the wave stream into the dataset.\r\n\r\n" + ex.ToString()); return(false); } return(true); }
void DumpEncapsulatedDocumentTags(string sMsgIn, DicomEncapsulatedDocument encapsulatedDocument, DicomCodeSequenceItem conceptNameCodeSequence) { try { //Print out all of the attributes for the encapsulated document string sMimeTypes = string.Empty; string[] sListOfMimeTypes = encapsulatedDocument.GetListOfMimeTypes(); foreach (string s in sListOfMimeTypes) { sMimeTypes = sMimeTypes + s + ","; } string sMsg1 = string.Format("{0}\n\nuType: {1}\nInstanceNumber: {2}\nContentDate: {3}\nContentTime: {4}\nAcquisitionDateTime: {5}\nBurnedInAnnotation: {6}\nDocumentTitle: {7}\nVerificationFlag: {8}\nHL7InstanceIdentifier: {9}\nMIMETypeOfEncapsulatedDocument: {10}\nListOfMIMETypes: {11}\n\n", sMsgIn, encapsulatedDocument.Type.ToString(), encapsulatedDocument.InstanceNumber, encapsulatedDocument.ContentDate.ToString(), encapsulatedDocument.ContentTime.ToString(), encapsulatedDocument.AcquisitionDateTime.ToString(), encapsulatedDocument.BurnedInAnnotation, encapsulatedDocument.DocumentTitle, encapsulatedDocument.VerificationFlag, encapsulatedDocument.HL7InstanceIdentifier, encapsulatedDocument.MimeTypeOfEncapsulatedDocument, sMimeTypes ); // ConceptNameCodeSequence string sMsg2 = string.Format("CodeValue: {0}\nCodingSchemeDesignator: {1}\nCodingSchemeVersion: {2}\nCodeMeaning: {3}\nContextIdentifier: {4}\nMappingResource: {5}\nContextGroupVersion: {6}\nContextGroupLocalVersion: {7}\nContextGroupExtensionCreatorUID: {8}", conceptNameCodeSequence.CodeValue, conceptNameCodeSequence.CodingSchemeDesignator, conceptNameCodeSequence.CodingSchemeVersion, conceptNameCodeSequence.CodeMeaning, conceptNameCodeSequence.ContextIdentifier, conceptNameCodeSequence.MappingResource, conceptNameCodeSequence.ContextGroupVersion.ToString(), conceptNameCodeSequence.ContextGroupLocalVersion.ToString(), conceptNameCodeSequence.ContextGroupExtensionCreatorUID ); MessageBox.Show(sMsg1 + sMsg2); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }