←Select platform

GetDoubleValueExt Method

Summary
Returns an array of numeric values that are stored in the Value Field of the specified element.
Syntax
C#
C++/CLI
public double[] GetDoubleValueExt(  
   DicomElement element, 
   int index, 
   int count 
) 
public: 
array<double>^ GetDoubleValueExt(  
   DicomElement^ element, 
   int index, 
   int count 
)  

Parameters

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.

Return Value

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.

Remarks

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.

Example
C#
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; 
      } 
   } 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.