com.pixelmed.dicom
Class DicomDictionaryBase

java.lang.Object
  extended by com.pixelmed.dicom.DicomDictionaryBase
Direct Known Subclasses:
DicomDictionary

public abstract class DicomDictionaryBase
extends Object

The DicomDictionaryBase class is an abstract class for creating and accessing a dictionary of DICOM attributes and associated information.

Defines methods for creating a dictionary of DICOM attributes and associated information, and implements methods for accessing that information.


Field Summary
protected  HashMap fullNameByTag
           
protected  HashMap informationEntityByTag
           
protected  HashMap nameByTag
           
protected  HashMap tagByName
           
protected  TreeSet tagList
           
protected  HashMap valueRepresentationsByTag
           
 
Constructor Summary
DicomDictionaryBase()
          Instantiate a dictionary by calling all create methods of the concrete sub-class.
 
Method Summary
protected abstract  void createFullNameByTag()
          Concrete sub-classes implement this method to create a map of attribute full names from tags for each tag in the dictionary.
protected abstract  void createInformationEntityByTag()
          Concrete sub-classes implement this method to create a map of information entities for each tag in the dictionary.
protected abstract  void createNameByTag()
          Concrete sub-classes implement this method to create a map of attribute names from tags for each tag in the dictionary.
protected abstract  void createTagByName()
          Concrete sub-classes implement this method to create a map of tags from attribute names for each tag in the dictionary.
protected abstract  void createTagList()
          Concrete sub-classes implement this method to create a list of all tags in the dictionary.
protected abstract  void createValueRepresentationsByTag()
          Concrete sub-classes implement this method to create a map of value representations for each tag in the dictionary.
 String getFullNameFromTag(AttributeTag tag)
          Get the string full name of an attribute from its tag.
 InformationEntity getInformationEntityFromTag(AttributeTag tag)
          Get the information entity (patient, study, and so on) of an attribute.
 String getNameFromTag(AttributeTag tag)
          Get the string name of an attribute from its tag.
 AttributeTag getTagFromName(String name)
          Get the tag of an attribute from its string name.
 Iterator getTagIterator()
          Get an Iterator to iterate through every tag in the dictionary.
 byte[] getValueRepresentationFromTag(AttributeTag tag)
          Get the value representation of an attribute.
static void main(String[] arg)
          Unit test.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tagList

protected TreeSet tagList

valueRepresentationsByTag

protected HashMap valueRepresentationsByTag

informationEntityByTag

protected HashMap informationEntityByTag

nameByTag

protected HashMap nameByTag

tagByName

protected HashMap tagByName

fullNameByTag

protected HashMap fullNameByTag
Constructor Detail

DicomDictionaryBase

public DicomDictionaryBase()

Instantiate a dictionary by calling all create methods of the concrete sub-class.

Method Detail

createTagList

protected abstract void createTagList()

Concrete sub-classes implement this method to create a list of all tags in the dictionary.


createValueRepresentationsByTag

protected abstract void createValueRepresentationsByTag()

Concrete sub-classes implement this method to create a map of value representations for each tag in the dictionary.


createInformationEntityByTag

protected abstract void createInformationEntityByTag()

Concrete sub-classes implement this method to create a map of information entities for each tag in the dictionary.


createTagByName

protected abstract void createTagByName()

Concrete sub-classes implement this method to create a map of tags from attribute names for each tag in the dictionary.


createNameByTag

protected abstract void createNameByTag()

Concrete sub-classes implement this method to create a map of attribute names from tags for each tag in the dictionary.


createFullNameByTag

protected abstract void createFullNameByTag()

Concrete sub-classes implement this method to create a map of attribute full names from tags for each tag in the dictionary.


getValueRepresentationFromTag

public byte[] getValueRepresentationFromTag(AttributeTag tag)

Get the value representation of an attribute.

Parameters:
tag - the tag of the attribute
Returns:
the value representation of the attribute as an array of two bytes

getInformationEntityFromTag

public InformationEntity getInformationEntityFromTag(AttributeTag tag)

Get the information entity (patient, study, and so on) of an attribute.

Parameters:
tag - the tag of the attribute
Returns:
the information entity of the attribute

getTagFromName

public AttributeTag getTagFromName(String name)

Get the tag of an attribute from its string name.

Though the DICOM standard does not formally define names to be used as keys for attributes, the convention used here is to use the name from the PS 3.6 Name field and remove spaces, apostrophes, capitalize first letters of words and so on to come up with a unique name for each attribute.

Parameters:
name - the string name of the attribute
Returns:
the tag of the attribute

getNameFromTag

public String getNameFromTag(AttributeTag tag)

Get the string name of an attribute from its tag.

Parameters:
tag - the tag of the attribute
Returns:
the string name of the attribute
See Also:
getTagFromName(String)

getFullNameFromTag

public String getFullNameFromTag(AttributeTag tag)

Get the string full name of an attribute from its tag.

The full name may not be unique, so do not use it as a key (e.g., "Group Length").

Parameters:
tag - the tag of the attribute
Returns:
the string full name of the attribute

getTagIterator

public Iterator getTagIterator()

Get an Iterator to iterate through every tag in the dictionary.

The order in which the dictionary attributes are returned is by ascending tag value.

Returns:
an iterator
See Also:
AttributeTag.compareTo(Object)

main

public static void main(String[] arg)

Unit test.

Parameters:
arg - ignored