public bool SetDoubleValueExt(
DicomElement element,
double[] value,
int count
)
public:
bool SetDoubleValueExt(
DicomElement^ element,
array<double>^ value,
int count
)
element
An item in the Data Set.
value
Buffer that contains the numeric value(s) to set. If you want to set multiple values in the Value Field, put all numeric values in value and set count to the appropriate number of values.
count
Value that represents the number of values to set in the Value Field. If you want to set multiple values in the Value Field, put all the numeric values in value and set count to the appropriate number.
true if the numeric values were set successfully; otherwise, it is false (the numeric values of the Data Element could not be set).
If you want to set more than one value in the Value Field of the Data Element, put all the numeric values in the value and set count to the corresponding number of entries. For example, if you wish to set three numeric values in the Value Field of the Data Element, put the three numeric values in value and set count to three. If more than one value is stored in the Value Field of the Data Element, you must set all values at the same time.
This method differs from SetDoubleValue in that it can be called with any numeric value representation, including:
If you call this method on an integer VR, any fractional part of the input values will be truncated. If you call this method with an input value that is greater than largest maximum value of the VR, then the input value will be adjusted to be the maximum value of the VR. If you call this method with an input value that is less than the smallest minimum value of the VR, then the input value will be adjusted to be the minimum value of the VR. For more information about Value Representations, refer to Default Value Representation Table.
This example will insert several elements into a DICOM dataset, and then set and retrieve the values.
using Leadtools;
using Leadtools.Dicom;
///
public void DicomDataSet_SetDoubleValueExtExample()
{
DicomDataSet ds = new DicomDataSet();
DicomElement element = null;
double[] doubleValues = null;
double[] retrieveDoubleValues = null;
element = ds.InsertElement(null, true, DicomTag.SelectorATValue, DicomVRType.AT, false, 0);
doubleValues = new double[] { DicomTag.PatientName, DicomTag.PatientID, DicomTag.DigitalSignaturesSequence };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorISValue, DicomVRType.IS, false, 0);
doubleValues = new double[] { -2147483648, 2147483647 };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorSLValue, DicomVRType.SL, false, 0);
doubleValues = new double[] { -2147483648, 2147483647 };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorULValue, DicomVRType.UL, false, 0);
doubleValues = new double[] { 0, 4294967295 };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorUSValue, DicomVRType.US, false, 0);
doubleValues = new double[] { 0, 65535 };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorSSValue, DicomVRType.SS, false, 0);
doubleValues = new double[] { -32768, 32767 };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorFLValue, DicomVRType.FL, false, 0);
doubleValues = new double[] { -1.2345F, +1.2345F };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
element = ds.InsertElement(null, true, DicomTag.SelectorFDValue, DicomVRType.FD, false, 0);
doubleValues = new double[] { -1.2345F, +1.2345F };
ds.SetDoubleValueExt(element, doubleValues, doubleValues.Length);
retrieveDoubleValues = ds.GetDoubleValueExt(element, 0, doubleValues.Length);
CompareDoubleArrays(doubleValues, retrieveDoubleValues);
Console.WriteLine("Finished");
}
public void CompareDoubleArrays(double[] d1, double[] d2)
{
if (d1 == null || d2 == null)
return;
if (d1.Length != d2.Length)
{
Console.WriteLine("Error: Not Equal");
return;
}
for (int i = 0; i < d1.Length; i++)
{
if (d1[i] != d2[i])
{
Console.WriteLine("Error: Not Equal");
return;
}
}
}
SetDoubleValue(DicomElement,IntPtr,Int32) Method
SetFloatValue(DicomElement,Single[],Int32) Method
SetIntValue(DicomElement,Int32[],Int32) Method
SetShortValue(DicomElement,Int16[],Int32) Method
SetByteValue(DicomElement,Byte[],Int32) Method
SetBinaryValue(DicomElement,Byte[],Int32) Method
SetStringValue(DicomElement,string) Method
SetStringValue(DicomElement,string,DicomCharacterSetType) Method
SetStringValue(DicomElement,string[]) Method
SetStringValue(DicomElement,string[],DicomCharacterSetType) Method
SetStringValuePtr(DicomElement,IntPtr,int) Method
SetStringValuePtr(DicomElement,IntPtr,int,DicomCharacterSetType) Method
SetDateValue(DicomElement,DicomDateValue[]) Method
SetTimeValue(DicomElement,DicomTimeValue[]) Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document