The IDLffDicomEx::GetValueCount function method returns the number of values in a DICOM attribute specified by a standard DICOM attribute tag. This method allows you to return the number of values contained in public attributes. See IDLffDicomEx::GetPrivateValueCount for information on returning the number of values within a private attribute.

GetValueCount will fail if you attempt to return a value for an attribute that does not exist or an attribute that has been removed. If you are not sure if an attribute exists use IDLffDicomEx::QueryValue before calling GetValueCount.

Syntax


Result = Obj->[IDLffDicomEx::]GetValueCount(DicomTag [, SEQID=integer] )

Return Value


Returns an unsigned long value indicating the number of values in the value field of the specified attribute as follows:

  • A value of 0 indicates the tag had no value
  • A value greater than 0 (n) indicates the number of values in the value field

Arguments


DicomTag

A string that identifies the group and element of a DICOM attribute in the form 'XXXX,XXXX'. The DicomTag argument must reference a public tag. See DICOM Attributes for a list of tags.

Keywords


SEQID

Set this keyword only if retrieving the value of an attribute that exists within a sequence. Use this keyword to specify sequence identifier as follows:

  • Set to a non-zero value (a sequence identifier) indicating the sequence in which the value is contained. This sequence identifier may have been returned via a previous call to the GetValue method.
  • Set to 0 or do not specify this keyword to indicate the attribute exists at the root level of the DICOM file. This is the default.

Example


The following example returns the number of items in a multi-valued Image Type attribute (0008,0008) and uses this value to cycle through the collection of values. For more information on the attribute, see IMAGE_TYPE.

PRO read_count_imagetypeattr
 
; Select a DICOM file to examine.
sFile = DIALOG_PICKFILE( $
    PATH=FILEPATH('',SUBDIRECTORY=['examples','data']), $
    TITLE='Select DICOM Patient File', FILTER='*.dcm')
 
; Open the selected file in read-only mode.
 oImg = OBJ_NEW('IDLffDicomEx', sfile)
 
; Return the Image Type attribute count that can have
; 1 to n values. And then return the value of the tag.
vCount = oImg->GetValueCount('0008,0008')
result = oImg->GetValue('0008,0008')
 
FOR i = 1, vCount DO BEGIN
   Print, 'Result number', i, + ' is ', result[i-1]
ENDFOR
 
END

For example, when you select us_test.dcm, the following is printed to the Output Log window:

Result number       1 is ORIGINAL
Result number       2 is PRIMARY
Result number       3 is EPICARDIAL

Version History


6.1

Introduced