Class ImageLibrary
- java.lang.Object
-
- com.pixelmed.dicom.ImageLibrary
-
- Direct Known Subclasses:
CrossSectionalImageLibrary,ProjectionXRayImageLibrary
public class ImageLibrary extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classImageLibrary.ImageLibraryEntry
-
Field Summary
Fields Modifier and Type Field Description protected CompositeInstanceContextcompositeInstanceContextprotected java.util.Map<java.lang.String,ImageLibrary.ImageLibraryEntry>entriesIndexedBySOPInstanceUID
-
Constructor Summary
Constructors Constructor Description ImageLibrary()Construct an empty Image Library.ImageLibrary(AttributeList list)Construct an Image Library by extracting it from an existing DICOM SR instance.ImageLibrary(ContentItem imageLibraryContainer, AttributeList list)Construct an Image Library by extracting it from an existing DICOM SR instance.ImageLibrary(java.util.Set<java.io.File> files)Create an SR Image Library from a bunch of DICOM image instances.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ImageLibrary.ImageLibraryEntryaddImage(AttributeList list)Create and add an SR Image Library entry derived from a DICOM image instance.protected voidconstructImageLibrary(ContentItem imageLibraryContainer, AttributeList list)Construct an Image Library by extracting it from an existing DICOM SR instance.static ContentItemfindImageLibraryContainer(ContentItem node)Find the Image Library contained within an SR content tree.AttributeListgetAttributeList()SequenceAttributegetCommonInstanceReferenceModuleReferencedSeriesSequence(java.lang.String studyInstanceUID)SequenceAttributegetHierarchicalEvidenceSequence()Build a hierarchical evidence sequence for the current Image Library content.protected java.util.Map<java.lang.String,HierarchicalSOPInstanceReference>getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID(AttributeList list)StructuredReportgetStructuredReport()ContentItemgetStructuredReportFragment(ContentItem parent)Get the Image Library as an SR fragment.static voidmain(java.lang.String[] arg)Create an SR Image Library from a bunch of DICOM image instances.ImageLibrary.ImageLibraryEntrymakeImageLibraryEntry(AttributeList list)ImageLibrary.ImageLibraryEntrymakeImageLibraryEntry(ContentItemFactory.ImageContentItem imageContentItem, java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> hierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID)static ImageLibraryread(java.lang.String filename)Extract the Image Library from a DICOM SR instance.java.lang.StringtoString()voidwrite(java.lang.String filename)
-
-
-
Field Detail
-
entriesIndexedBySOPInstanceUID
protected java.util.Map<java.lang.String,ImageLibrary.ImageLibraryEntry> entriesIndexedBySOPInstanceUID
-
compositeInstanceContext
protected CompositeInstanceContext compositeInstanceContext
-
-
Constructor Detail
-
ImageLibrary
public ImageLibrary()
Construct an empty Image Library.
-
ImageLibrary
public ImageLibrary(AttributeList list) throws DicomException
Construct an Image Library by extracting it from an existing DICOM SR instance.
Searches the content tree for the Image Library CONTAINER content item.
- Parameters:
list- the attributes comprising the DICOM SR instance containing the Image Library- Throws:
DicomException- if error in DICOM encoding
-
ImageLibrary
public ImageLibrary(ContentItem imageLibraryContainer, AttributeList list)
Construct an Image Library by extracting it from an existing DICOM SR instance.
- Parameters:
imageLibraryContainer- the content item that is the Image Library CONTAINERlist- the attributes comprising the DICOM SR instance containing the Image Library
-
ImageLibrary
public ImageLibrary(java.util.Set<java.io.File> files) throws java.io.IOException, DicomExceptionCreate an SR Image Library from a bunch of DICOM image instances.
Adds a new series (instance UID) to the existing study (instance UID).
- Parameters:
files- the filenames and/or folder names of files containing the input image files- Throws:
DicomException- if error in DICOM encodingjava.io.IOException- if error reading a file
-
-
Method Detail
-
makeImageLibraryEntry
public ImageLibrary.ImageLibraryEntry makeImageLibraryEntry(ContentItemFactory.ImageContentItem imageContentItem, java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> hierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID)
-
makeImageLibraryEntry
public ImageLibrary.ImageLibraryEntry makeImageLibraryEntry(AttributeList list) throws DicomException
- Throws:
DicomException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getCommonInstanceReferenceModuleReferencedSeriesSequence
public SequenceAttribute getCommonInstanceReferenceModuleReferencedSeriesSequence(java.lang.String studyInstanceUID) throws DicomException
- Throws:
DicomException
-
getHierarchicalEvidenceSequence
public SequenceAttribute getHierarchicalEvidenceSequence() throws DicomException
Build a hierarchical evidence sequence for the current Image Library content.
This contains the Study and Series Instance UIDs and is required for most SR IODs.
- Returns:
- a CurrentRequestedProcedureEvidenceSequence listing all the referenced instances
- Throws:
DicomException- if error in DICOM encoding
-
findImageLibraryContainer
public static ContentItem findImageLibraryContainer(ContentItem node)
Find the Image Library contained within an SR content tree.
The Image Library is identified by the ("111028","DCM","Image Library") concept name for the content item.
- Parameters:
node- the content item to being the search at (e.g., the root node)- Returns:
- the content item that is the Image Library CONTAINER
-
getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID
protected java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID(AttributeList list)
-
constructImageLibrary
protected void constructImageLibrary(ContentItem imageLibraryContainer, AttributeList list)
Construct an Image Library by extracting it from an existing DICOM SR instance.
- Parameters:
imageLibraryContainer- the content item that is the Image Library CONTAINERlist- the attributes comprising the DICOM SR instance containing the Image Library
-
getStructuredReportFragment
public ContentItem getStructuredReportFragment(ContentItem parent) throws DicomException
Get the Image Library as an SR fragment.
Has side effect of adding the fragment to the parent if the parent is not null.
- Parameters:
parent- the parent CONTAINER content item (usually the root content item)- Returns:
- a new ContainerContentItem with ImageContentItem children
- Throws:
DicomException- if error in DICOM encoding
-
getStructuredReport
public StructuredReport getStructuredReport() throws DicomException
- Throws:
DicomException
-
getAttributeList
public AttributeList getAttributeList() throws DicomException
- Throws:
DicomException
-
write
public void write(java.lang.String filename) throws DicomException, java.io.IOException- Throws:
DicomExceptionjava.io.IOException
-
read
public static ImageLibrary read(java.lang.String filename) throws DicomException, java.io.IOException
Extract the Image Library from a DICOM SR instance.
- Parameters:
filename- the DICOM SR instance containing the Image Library- Returns:
- an instance of the ImageLibrary class representing the Image Library content encoded in the DICOM SR file
- Throws:
DicomException- if error in DICOM encodingjava.io.IOException- if error reading the file
-
addImage
public ImageLibrary.ImageLibraryEntry addImage(AttributeList list) throws DicomException
Create and add an SR Image Library entry derived from a DICOM image instance.
Requires that a SOP Instance UID be present in the supplied image instance, to be used to inxed the entries.
- Parameters:
list- the list of attributes of the image instance- Returns:
- the new ImageLibraryEntry added to this ImageLibrary, or null if no SOP Instance UID is present in the supplied image instance
- Throws:
DicomException- if error in DICOM encoding
-
main
public static void main(java.lang.String[] arg)
Create an SR Image Library from a bunch of DICOM image instances.
Adds a new series (instance UID) to the existing study (instance UID).
- Parameters:
arg- the path for the SR Image Library output, then the filenames and/or folder names of files containing the input image files
-
-