com.pixelmed.dicom
Class StructuredReport

java.lang.Object
  extended by com.pixelmed.dicom.StructuredReport
All Implemented Interfaces:
TreeModel

public class StructuredReport
extends Object
implements TreeModel

The StructuredReport class implements a TreeModel to abstract the contents of a list of attributes representing a DICOM Structured Report as a tree in order to provide support for a StructuredReportBrowser.

For details of some of the methods implemented here see javax.swing.tree.TreeModel.

A main method is provided for testing that reads a DICOM file containing an SR and dumps its contents in a human-readable form to System.err.

See Also:
ContentItem, ContentItemFactory, StructuredReportBrowser

Constructor Summary
StructuredReport(AttributeList list)
          Construct an internal tree representation of a structured report from a list of DICOM attributes.
StructuredReport(ContentItem root)
          Construct an internal tree representation of a structured report from an existing root content item.
 
Method Summary
 void addTreeModelListener(TreeModelListener tml)
           
static Vector findAllContainedSOPInstances(ContentItem root, ContentItem item)
          Find all coordinate and image references within content items of the sub-tree rooted at the specified node (which may be the root).
 AttributeList getAttributeList()
          Return the entire content tree of a structured report as an AttributeList.
 Object getChild(Object node, int index)
           
 int getChildCount(Object parent)
           
 int getIndexOfChild(Object parent, Object child)
           
 Object getRoot()
           
 boolean isLeaf(Object node)
           
static void main(String[] arg)
          Dump the SR encoded in the file name on the console.
 void removeTreeModelListener(TreeModelListener tml)
           
 String toString()
          Dump the entire tree as a String.
 void valueForPathChanged(TreePath path, Object newValue)
           
static String walkTreeBuldingString(ContentItem node, String location)
          Dump the tree starting at the specified node as a String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StructuredReport

public StructuredReport(AttributeList list)
                 throws DicomException

Construct an internal tree representation of a structured report from a list of DICOM attributes.

Parameters:
list - the list of attributes in which the structured report is encoded
Throws:
DicomException

StructuredReport

public StructuredReport(ContentItem root)
                 throws DicomException

Construct an internal tree representation of a structured report from an existing root content item.

Parameters:
root - the root content item
Throws:
DicomException
Method Detail

getChild

public Object getChild(Object node,
                       int index)
Specified by:
getChild in interface TreeModel
Parameters:
node -
index -

getIndexOfChild

public int getIndexOfChild(Object parent,
                           Object child)
Specified by:
getIndexOfChild in interface TreeModel
Parameters:
parent -
child -

getRoot

public Object getRoot()
Specified by:
getRoot in interface TreeModel

getChildCount

public int getChildCount(Object parent)
Specified by:
getChildCount in interface TreeModel
Parameters:
parent -

isLeaf

public boolean isLeaf(Object node)
Specified by:
isLeaf in interface TreeModel
Parameters:
node -

valueForPathChanged

public void valueForPathChanged(TreePath path,
                                Object newValue)
Specified by:
valueForPathChanged in interface TreeModel
Parameters:
path -
newValue -

addTreeModelListener

public void addTreeModelListener(TreeModelListener tml)
Specified by:
addTreeModelListener in interface TreeModel
Parameters:
tml -

removeTreeModelListener

public void removeTreeModelListener(TreeModelListener tml)
Specified by:
removeTreeModelListener in interface TreeModel
Parameters:
tml -

getAttributeList

public AttributeList getAttributeList()

Return the entire content tree of a structured report as an AttributeList.

Has the side effect of creating (or replacing) the ContentSequence attributes of the AttributeList of each ContentItem to represent the tree structure.

Returns:
a AttributeList representing the content tree, or null if empty root.

walkTreeBuldingString

public static String walkTreeBuldingString(ContentItem node,
                                           String location)

Dump the tree starting at the specified node as a String.

Parameters:
node -
location - the dotted numeric string describing the location of the starting node
Returns:
a multi-line String representing the tree fragment

toString

public String toString()

Dump the entire tree as a String.

Overrides:
toString in class Object
Returns:
a multi-line String representing the tree

findAllContainedSOPInstances

public static Vector findAllContainedSOPInstances(ContentItem root,
                                                  ContentItem item)

Find all coordinate and image references within content items of the sub-tree rooted at the specified node (which may be the root).

The annotation of the reference is derived from the value of the Concept Name of the parent (and its parent, if a NUM content item).

Parameters:
root - the root node, for dereferencing by-reference relationships
item - the node to start searching from
Returns:
a Vector of SpatialCoordinateAndImageReference

main

public static void main(String[] arg)

Dump the SR encoded in the file name on the console.

Parameters:
arg -