Class DicomDictionaryBase
- java.lang.Object
-
- com.pixelmed.dicom.DicomDictionaryBase
-
- Direct Known Subclasses:
DicomDictionary
public abstract class DicomDictionaryBase extends java.lang.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
Fields Modifier and Type Field Description protected java.util.HashMap
fullNameByTag
protected java.util.HashMap
informationEntityByTag
protected java.util.HashMap
nameByTag
protected java.util.HashMap
tagByName
protected java.util.TreeSet
tagList
protected java.util.HashMap
valueRepresentationsByTag
-
Constructor Summary
Constructors Constructor Description DicomDictionaryBase()
Instantiate a dictionary by calling all create methods of the concrete sub-class.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.java.lang.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.java.lang.String
getNameFromTag(AttributeTag tag)
Get the string name of an attribute from its tag.AttributeTag
getTagFromName(java.lang.String name)
Get the tag of an attribute from its string name.java.util.Iterator
getTagIterator()
Get anIterator
to iterate through every tag in the dictionary.byte[]
getValueRepresentationFromTag(AttributeTag tag)
Get the value representation of an attribute.static void
main(java.lang.String[] arg)
Unit test.
-
-
-
Field Detail
-
tagList
protected java.util.TreeSet tagList
-
valueRepresentationsByTag
protected java.util.HashMap valueRepresentationsByTag
-
informationEntityByTag
protected java.util.HashMap informationEntityByTag
-
nameByTag
protected java.util.HashMap nameByTag
-
tagByName
protected java.util.HashMap tagByName
-
fullNameByTag
protected java.util.HashMap fullNameByTag
-
-
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(java.lang.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 java.lang.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 java.lang.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 java.util.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(java.lang.String[] arg)
Unit test.
- Parameters:
arg
- ignored
-
-