public double[] GetDoubleValueExt(
DicomElement element,
int index,
int count
)
public:
array<double>^ GetDoubleValueExt(
DicomElement^ element,
int index,
int count
)
element
An item in the Data Set.
index
The zero-based index of the first value to retrieve, when more than one value is stored in the Value Field.
count
Value that represents the number of values to retrieve when more than one value is stored in the Value Field. In most instances you will only retrieve one value so this parameter will be equal to one.
A buffer to a double value stored in the Value Field of the specified Data Element. It is null if the length of the Value Field is 0, the method was called for the incorrect Value Representation type, or the method was called for a folder (sequence) element.
This method differs from GetDoubleValue in that it can be called with any numeric value representation. This includes the following:
For more information about Value Representations, refer to Default Value Representation Table. If you have more than one value stored in the Value Field of the specified Data Element, you can retrieve one or more of those elements. For example, if the Value Field of the specified Data Element contains three numeric values, and you are only interested in retrieving the last two numeric values, set index
to 1 and count
to 2. This tells the method to retrieve the numeric values starting at position 1 (the index is zero-based) and retrieve two values. Therefore you would retrieve the values in positions 1 and 2 in the Value Field.
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;
}
}
}
GetDoubleValuePtr(DicomElement,Int32,Int32) Method
GetShortValue(DicomElement,Int32,Int32) Method
GetLongValue(DicomElement,Int32,Int32) Method
GetIntValue(DicomElement,Int32,Int32) Method
GetBinaryValue(DicomElement,Int32) Method
GetByteValue(DicomElement,Int32,Int32) Method
GetFloatValue(DicomElement,Int32,Int32) Method
GetAgeValue(DicomElement,Int32,Int32) Method
GetDateValue(DicomElement,Int32,Int32) Method
GetTimeValue(DicomElement,Int32,Int32) 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