Leadtools.Dicom Namespace > DicomDataSet Class : SetValue Method |
public bool SetValue( DicomElement element, object value )
'Declaration Public Function SetValue( _ ByVal element As DicomElement, _ ByVal value As Object _ ) As Boolean
'Usage Dim instance As DicomDataSet Dim element As DicomElement Dim value As Object Dim value As Boolean value = instance.SetValue(element, value)
public bool SetValue( DicomElement element, object value )
ObjectiveC Syntax
public: bool SetValue( DicomElement^ element, Object^ value )
This is very flexible function that can be used to set the value of almost any DICOM data element, regardless of the DicomVRType The System.Object can be any of the following:
''' Private Function MyInsertElement(ByVal ds As DicomDataSet, ByVal tag As Long) As DicomElement Dim myTag As DicomTag = DicomTagTable.Instance.Find(tag) Dim element As DicomElement = ds.InsertElement(Nothing, False, tag, myTag.VR, False, 0) Return element End Function Private Sub DicomDataSet_SetValueExample() Dim element As DicomElement = Nothing Dim ds As DicomDataSet = New DicomDataSet() ' Set a string element = MyInsertElement(ds, DicomTag.PatientName) ds.SetValue(element, "Joe^Patient") ' Set an array of strings element = MyInsertElement(ds, DicomTag.OtherPatientNames) Dim names As String() = {"One", "Two", "Three"} ds.SetValue(element, names) ' Another way to do an array of strings Dim it As List(Of String) = New List(Of String)() it.Add("ORIGINAL") it.Add("PRIMARY") element = MyInsertElement(ds, DicomTag.ImageType) ds.SetValue(element, it.ToArray()) ' Set an array of integers, that will be converted to strings element = MyInsertElement(ds, DicomTag.PhysicianOfRecord) Dim namesInt As Integer() = {1, 2, 3} ds.SetValue(element, namesInt) ' Set a DicomDateValue element = MyInsertElement(ds, DicomTag.PatientBirthDate) Dim dicomDate As DicomDateValue = New DicomDateValue(1961, 6, 5) ds.SetValue(element, dicomDate) ' Set a DateTime element = MyInsertElement(ds, DicomTag.InstanceCreationDate) Dim dateTime As DateTime = New DateTime(2003, 5, 16) ds.SetValue(element, dateTime) ' Set an array of DateTime element = MyInsertElement(ds, DicomTag.DateOfLastCalibration) Dim dateTimeArray As DateTime() = {New DateTime(2000, 3, 8), New DateTime(2003, 5, 16)} ds.SetValue(element, dateTimeArray) ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "test.dcm"), DicomDataSetSaveFlags.None) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
/// private DicomElement MyInsertElement(DicomDataSet ds, long tag) { DicomTag myTag = DicomTagTable.Instance.Find(tag); DicomElement element = ds.InsertElement(null, false, tag, myTag.VR, false, 0); return element; } private void DicomDataSet_SetValueExample() { DicomElement element = null; DicomDataSet ds = new DicomDataSet(); // Set a string element = MyInsertElement(ds, DicomTag.PatientName); ds.SetValue(element, "Joe^Patient"); // Set an array of strings element = MyInsertElement(ds, DicomTag.OtherPatientNames); string[] names = { "One", "Two", "Three" }; ds.SetValue(element, names); // Another way to do an array of strings List<string> it = new List<string>(); it.Add("ORIGINAL"); it.Add("PRIMARY"); element = MyInsertElement(ds, DicomTag.ImageType); ds.SetValue(element, it.ToArray()); // Set an array of integers, that will be converted to strings element = MyInsertElement(ds, DicomTag.PhysicianOfRecord); int[] namesInt = { 1, 2, 3 }; ds.SetValue(element, namesInt); // Set a DicomDateValue element = MyInsertElement(ds, DicomTag.PatientBirthDate); DicomDateValue dicomDate = new DicomDateValue(1961, 6, 5); ds.SetValue(element, dicomDate); // Set a DateTime element = MyInsertElement(ds, DicomTag.InstanceCreationDate); DateTime dateTime = new DateTime(2003, 5, 16); ds.SetValue(element, dateTime); // Set an array of DateTime element = MyInsertElement(ds, DicomTag.DateOfLastCalibration); DateTime[] dateTimeArray = { new DateTime(2000, 3, 8), new DateTime(2003, 5, 16) }; ds.SetValue(element, dateTimeArray); ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "test.dcm"), DicomDataSetSaveFlags.None); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
///// private DicomElement MyInsertElement(DicomDataSet ds, long tag) { DicomTag myTag = DicomTagTable.Instance.Find(tag); DicomElement element = ds.InsertElement(null, false, tag, myTag.VR, false, 0); return element; } private async Task DicomDataSet_SetValueExample() { DicomElement element = null; DicomDataSet ds = new DicomDataSet(); // Set a string element = MyInsertElement(ds, DicomTagConstants.PatientName); ds.SetValue(element, "Joe^Patient"); // Set an array of strings element = MyInsertElement(ds, DicomTagConstants.OtherPatientNames); string[] names = { "One", "Two", "Three" }; ds.SetValue(element, names); // Another way to do an array of strings List<string> it = new List<string>(); it.Add("ORIGINAL"); it.Add("PRIMARY"); element = MyInsertElement(ds, DicomTagConstants.ImageType); ds.SetValue(element, it.ToArray()); // Set an array of integers, that will be converted to strings element = MyInsertElement(ds, DicomTagConstants.PhysicianOfRecord); int[] namesInt = { 1, 2, 3 }; ds.SetValue(element, namesInt); // Set a DicomDateValue element = MyInsertElement(ds, DicomTagConstants.PatientBirthDate); DicomDateValue dicomDate = DicomDateValueHelper.Create(1961, 6, 5); ds.SetValue(element, dicomDate); // Set a DateTime element = MyInsertElement(ds, DicomTagConstants.InstanceCreationDate); DateTime dateTime = new DateTime(2003, 5, 16); ds.SetValue(element, dateTime); // Set an array of DateTime element = MyInsertElement(ds, DicomTagConstants.DateOfLastCalibration); DateTime[] dateTimeArray = { new DateTime(2000, 3, 8), new DateTime(2003, 5, 16) }; ds.SetValue(element, dateTimeArray); string dicomFileNameOutput = "test.dcm"; StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(dicomFileNameOutput); ILeadStream streamOutput = LeadStreamFactory.Create(saveFile); using (IDisposable disposableOUT = streamOutput as IDisposable) { await ds.SaveAsync(streamOutput, DicomDataSetSaveFlags.None); } }
private DicomElement MyInsertElement(DicomDataSet ds, long tag) { DicomTag myTag = DicomTagTable.Instance.Find(tag); DicomElement element = ds.InsertElement(null, false, tag, myTag.VR, false, 0); return element; } private void DicomDataSet_SetValueExample(Stream outputStream) { DicomElement element = null; DicomDataSet ds = new DicomDataSet(); // Set a string element = MyInsertElement(ds, DicomTag.PatientName); ds.SetValue(element, "Joe^Patient"); // Set an array of strings element = MyInsertElement(ds, DicomTag.OtherPatientNames); string[] names = { "One", "Two", "Three" }; ds.SetValue(element, names); // Another way to do an array of strings List<string> it = new List<string>(); it.Add("ORIGINAL"); it.Add("PRIMARY"); element = MyInsertElement(ds, DicomTag.ImageType); ds.SetValue(element, it.ToArray()); // Set an array of integers, that will be converted to strings element = MyInsertElement(ds, DicomTag.PhysicianOfRecord); int[] namesInt = { 1, 2, 3 }; ds.SetValue(element, namesInt); // Set a DicomDateValue element = MyInsertElement(ds, DicomTag.PatientBirthDate); DicomDateValue dicomDate = new DicomDateValue(1961, 6, 5); ds.SetValue(element, dicomDate); // Set a DateTime element = MyInsertElement(ds, DicomTag.InstanceCreationDate); DateTime dateTime = new DateTime(2003, 5, 16); ds.SetValue(element, dateTime); // Set an array of DateTime element = MyInsertElement(ds, DicomTag.DateOfLastCalibration); DateTime[] dateTimeArray = { new DateTime(2000, 3, 8), new DateTime(2003, 5, 16) }; ds.SetValue(element, dateTimeArray); ds.Save(outputStream, DicomDataSetSaveFlags.None); }
Private Function MyInsertElement(ByVal ds As DicomDataSet, ByVal tag As Long) As DicomElement Dim myTag As DicomTag = DicomTagTable.Instance.Find(tag) Dim element As DicomElement = ds.InsertElement(Nothing, False, tag, myTag.VR, False, 0) Return element End Function Private Sub DicomDataSet_SetValueExample(ByVal outputStream As Stream) Dim element As DicomElement = Nothing Dim ds As DicomDataSet = New DicomDataSet() ' Set a string element = MyInsertElement(ds, DicomTag.PatientName) ds.SetValue(element, "Joe^Patient") ' Set an array of strings element = MyInsertElement(ds, DicomTag.OtherPatientNames) Dim names As String() = {"One", "Two", "Three"} ds.SetValue(element, names) ' Another way to do an array of strings Dim it As List(Of String) = New List(Of String)() it.Add("ORIGINAL") it.Add("PRIMARY") element = MyInsertElement(ds, DicomTag.ImageType) ds.SetValue(element, it.ToArray()) ' Set an array of integers, that will be converted to strings element = MyInsertElement(ds, DicomTag.PhysicianOfRecord) Dim namesInt As Integer() = {1, 2, 3} ds.SetValue(element, namesInt) ' Set a DicomDateValue element = MyInsertElement(ds, DicomTag.PatientBirthDate) Dim dicomDate As DicomDateValue = New DicomDateValue(1961, 6, 5) ds.SetValue(element, dicomDate) ' Set a DateTime element = MyInsertElement(ds, DicomTag.InstanceCreationDate) Dim dateTime As DateTime = New DateTime(2003, 5, 16) ds.SetValue(element, dateTime) ' Set an array of DateTime element = MyInsertElement(ds, DicomTag.DateOfLastCalibration) Dim dateTimeArray As DateTime() = {New DateTime(2000, 3, 8), New DateTime(2003, 5, 16)} ds.SetValue(element, dateTimeArray) ds.Save(outputStream, DicomDataSetSaveFlags.None) End Sub
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
DicomDataSet Class
DicomDataSet Members
DicomDataSet.SetValue(DicomElement, object)
DicomDataSet.SetIntValue(DicomElement, int[], int)
DicomDataSet.SetShortValue(DicomElement, short[], int)
DicomDataSet.SetByteValue(DicomElement, Byte[], int)
DicomDataSet.SetBinaryValue(DicomElement, Byte[], int)
DicomDataSet.SetStringValue(DicomElement, string[], DicomCharacterSetType)
DicomDataSet.SetFloatValue(DicomElement, float[], int)
DicomDataSet.SetDoubleValue(DicomElement, double[], int)
SetAgeValue Method
SetDateValue(DicomElement,DicomDateValue[]) Method
SetTimeValue(DicomElement,DicomTimeValue[]) Method
SetDateTimeValue(DicomElement,DicomDateTimeValue[]) Method
SetConvertValue(DicomElement,String,Int32) Method