Error processing SSI file
LEADTOOLS Medical (Leadtools.Dicom assembly)

Show in webframe

SetStringValue(DicomElement,String,DicomCharacterSetType) Method








An item in the Data Set.
Character string that contains the string value to set.
Character set to use when inserting the input string.
Sets the string value(s) of a Data Element.
Syntax
'Declaration
 
Public Overloads Function SetStringValue( _
   ByVal element As DicomElement, _
   ByVal value As String, _
   ByVal characterSet As DicomCharacterSetType _
) As Boolean
'Usage
 
Dim instance As DicomDataSet
Dim element As DicomElement
Dim value As String
Dim characterSet As DicomCharacterSetType
Dim value As Boolean
 
value = instance.SetStringValue(element, value, characterSet)
public boolean setStringValue(DicomElement element, String value)
 function Leadtools.Dicom.DicomDataSet.SetStringValue(DicomElement,String,DicomCharacterSetType)( 
   element ,
   value ,
   characterSet 
)

Parameters

element
An item in the Data Set.
value
Character string that contains the string value to set.
characterSet
Character set to use when inserting the input string.

Return Value

true if the string value(s) were set successfully. false if could not set the string value(s) of the Data Element.
Remarks
This method can be called only if the Value Representation of the Data Element is: For more information about Value Representations, refer to Default Value Representation Table.
Example

This example shows how to use the various overloads of SetStringValue and SetStringValuePtr to write a japanese string as the value of a DICOM element in a DicomDataSet

Copy Code  
Imports Leadtools
Imports Leadtools.Dicom

'''
Private Sub DicomSetStringValueTest()
   DicomEngine.Startup()
   Dim ds As New DicomDataSet()
   Dim japaneseText1 As String = "亜美"
   Dim japaneseText2 As String = "千香子"
   Dim japaneseStrings() As String = {japaneseText1, japaneseText2}
   Dim element As DicomElement

   ' Example 1 - uses Specific Character Set Attribute (0008,0005) to set one string
   ds.Reset()
   element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0)
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8
   ds.SetStringValue(element, japaneseText1)
   Dim result As String = ds.GetStringValue(element, 0)
   Debug.Assert(result = japaneseText1)

   ' Example 2 - uses Specific Character Set Attribute (0008,0005) to set two strings
   ds.Reset()
   element = ds.InsertElement(Nothing, False, DicomTag.OtherPatientNames, DicomVRType.PN, False, 0)
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8
   ds.SetStringValue(element, japaneseStrings)
   Debug.Assert(ds.GetStringValue(element, 0) = japaneseStrings(0))
   Debug.Assert(ds.GetStringValue(element, 1) = japaneseStrings(1))

   ' Example 3 - pass in a DicomCharacterSet and set one string
   ds.Reset()
   element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0)
   ds.SetStringValue(element, japaneseText1, DicomCharacterSetType.UnicodeInUtf8)
   result = ds.GetStringValue(element, 0)
   Debug.Assert(result = japaneseText1)

   ' Example 4 -- pass in a DicomCharacterSet and set two strings
   ds.Reset()
   element = ds.InsertElement(Nothing, False, DicomTag.OtherPatientNames, DicomVRType.PN, False, 0)
   ds.SetStringValue(element, japaneseStrings, DicomCharacterSetType.UnicodeInUtf8)
   Debug.Assert(ds.GetStringValue(element, 0) = japaneseStrings(0))
   Debug.Assert(ds.GetStringValue(element, 1) = japaneseStrings(1))

   ' Example 5 -- uses Specific Character Set Attribute (0008,0005) to set one string using IntPtr
   ds.Reset()
   Dim pinnedArray As GCHandle = GCHandle.Alloc(japaneseText1, GCHandleType.Pinned)
   Dim pointer As IntPtr = pinnedArray.AddrOfPinnedObject()
   element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0)
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8
   ds.SetStringValuePtr(element, pointer, 1)
   result = ds.GetStringValue(element, 0)
   Debug.Assert(result = japaneseText1)
   pinnedArray.Free()

   DicomEngine.Shutdown()
End Sub
using Leadtools;
using Leadtools.Dicom;

///

private void DicomSetStringValueTest()
{
   DicomEngine.Startup();
   DicomDataSet ds = new DicomDataSet();
   string japaneseText1 = "亜美";
   string japaneseText2 = "千香子";
   string[] japaneseStrings = { japaneseText1, japaneseText2 };
   DicomElement element;

   // Example 1 - uses Specific Character Set Attribute (0008,0005) to set one string
   ds.Reset();
   element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0);
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192");     // Unicode in UTF-8
   ds.SetStringValue(element, japaneseText1);
   string result = ds.GetStringValue(element, 0);
   Debug.Assert(result == japaneseText1);

   // Example 2 - uses Specific Character Set Attribute (0008,0005) to set two strings
   ds.Reset();
   element = ds.InsertElement(null, false, DicomTag.OtherPatientNames, DicomVRType.PN, false, 0);
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192");     // Unicode in UTF-8
   ds.SetStringValue(element, japaneseStrings);
   Debug.Assert(ds.GetStringValue(element, 0) == japaneseStrings[0]);
   Debug.Assert(ds.GetStringValue(element, 1) == japaneseStrings[1]);

   // Example 3 - pass in a DicomCharacterSet and set one string
   ds.Reset();
   element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0);
   ds.SetStringValue(element, japaneseText1, DicomCharacterSetType.UnicodeInUtf8);
   result = ds.GetStringValue(element, 0);
   Debug.Assert(result == japaneseText1);

   // Example 4 -- pass in a DicomCharacterSet and set two strings
   ds.Reset();
   element = ds.InsertElement(null, false, DicomTag.OtherPatientNames, DicomVRType.PN, false, 0);
   ds.SetStringValue(element, japaneseStrings, DicomCharacterSetType.UnicodeInUtf8);
   Debug.Assert(ds.GetStringValue(element, 0) == japaneseStrings[0]);
   Debug.Assert(ds.GetStringValue(element, 1) == japaneseStrings[1]);

   // Example 5 -- uses Specific Character Set Attribute (0008,0005) to set one string using IntPtr
   ds.Reset();
   GCHandle pinnedArray = GCHandle.Alloc(japaneseText1, GCHandleType.Pinned);
   IntPtr pointer = pinnedArray.AddrOfPinnedObject();
   element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0);
   ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192");     // Unicode in UTF-8
   ds.SetStringValuePtr(element, pointer, 1);
   result = ds.GetStringValue(element, 0);
   Debug.Assert(result == japaneseText1);
   pinnedArray.Free();

   DicomEngine.Shutdown();
}
Requirements

Target Platforms

See Also

Reference

DicomDataSet Class
DicomDataSet Members
Overload List
SetValue Method
SetStringValue(DicomElement,String,DicomCharacterSetType) Method
SetStringValue(DicomElement,String[],DicomCharacterSetType) Method
SetStringValue(DicomElement,String) Method
SetStringValue(DicomElement,String[]) Method
SetStringValuePtr(DicomElement,IntPtr,Int32) Method
SetStringValuePtr(DicomElement,IntPtr,UInt32,DicomCharacterSetType) Method
SetBinaryValue(DicomElement,Byte[],Int32) Method
SetShortValue(DicomElement,Int16[],Int32) Method
SetIntValue(DicomElement,Int32[],Int32) Method
SetFloatValue(DicomElement,Single[],Int32) Method
SetDoubleValue(DicomElement,Double[],Int32) Method
SetAgeValue Method
SetDateValue(DicomElement,DicomDateValue[]) Method
SetTimeValue(DicomElement,DicomTimeValue[]) Method
SetDateTimeValue(DicomElement,DicomDateTimeValue[]) Method

Error processing SSI file
Leadtools.Dicom requires a Medical toolkit server license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features