Projects:QIN:3D Slicer Annotation Image Markup:Existing AIM-compatible tools
Contents
NW AIM 3.0 API
TCGA ClearCanvas
Using AIM annotations with ClearCanvas, as explained by Justin Kirby.
Prerequisites:
Steps to load images and annotations into ClearCanvas:
|
|
<?xml version="1.0" encoding="UTF-8"?> <TemplateContainer authors="oslo_mgh" name="RANO_NEW" version="1.0" description="RANO WITHOUT MEASURABLE DISEASE ASSESSMENT" creationDate="2011-11-18" xsi:schemaLocation="gme://caCORE.caCORE/3.2/edu.northwestern.radiology.AIMTemplate AIMTemplate_v1rv18.xsd" xmlns="gme://caCORE.caCORE/3.2/edu.northwestern.radiology.AIMTemplate" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Template name="RANO_NEW" version="1.0" authors="oslo_mgh" description="Response Assessment in Neuro-Oncology" uid="123.987.32156.8454.1213156464.87987" codeValue="RANO" codeMeaning="Response Assessment in Neuro-Oncology" codingSchemeDesignator="RANO" creationDate="2011-11-18"> <Component label="2-Non-Measurable Disease" minCardinality="1" maxCardinality="1" itemNumber="1" shouldDisplay="true" explanatoryText="Evaluation of Non-Measurable Disease" authors="mcpinho77"> <Inference annotatorConfidence="false"/> <AllowedTerm codeMeaning="Stable Disease" codeValue="RANO1" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Progressive Disease" codeValue="RANO4" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Baseline" codeValue="RANO0" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Not Present" codeValue="RANO5" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Non-evaluable" codeValue="RANO6" codingSchemeDesignator="RANO"> </AllowedTerm> </Component> <Component label="3-FLAIR" minCardinality="1" maxCardinality="1" itemNumber="2" shouldDisplay="true" explanatoryText="Tumor Evaluation on FLAIR" authors="mcpinho77"> <Inference annotatorConfidence="false"/> <AllowedTerm codeMeaning="Stable Disease" codeValue="RANO1" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Progressive Disease" codeValue="RANO4" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Baseline" codeValue="RANO0" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Not Present" codeValue="RANO5" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Non-evaluable" codeValue="RANO6" codingSchemeDesignator="RANO"> </AllowedTerm> </Component> <Component label="1-Measurable Disease" minCardinality="1" maxCardinality="1" itemNumber="0" shouldDisplay="true" explanatoryText="Presence or Absence of Measurable Lesions" authors="mcpinho77"> <Inference annotatorConfidence="false"/> <AllowedTerm codeMeaning="Yes" codeValue="RANO7" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="No" codeValue="RANO8" codingSchemeDesignator="RANO"> </AllowedTerm> <AllowedTerm codeMeaning="Not Evaluable" codeValue="RANO6" codingSchemeDesignator="RANO"> </AllowedTerm> </Component> </Template> </TemplateContainer> |
|
- ClearCanvas (NOT TCGA ClearCanvas!) DICOM conformance statement: http://www.clearcanvas.ca/dnn/Products/CommunityEdition/tabid/278/Default.aspx
AIM ePAD (OsiriX)
- Download link: https://cabig.nci.nih.gov/tools/AIM_ePAD
- Current experience: annotations created in ClearCanvas cannot be loaded into ePAD (question posted to AIM mailing list Dec 7, 2011)
- OsiriX DICOM conformance statement: http://www.osirix-viewer.com/DICOMConformanceStatements.pdf
AIM Q&A (from caBIG-KC AIM forum discussions)
What are the advantages of AIM over DICOM SR?
- Pat Mongkolwat:
AIM is an information model. Information that AIM represents can be stored as AIM DICOM SR objects, AIM XML documents and HL7 CDA (available in AIM 1.0 only for now). The information in the three formats are virtually the same.
AIM DICOM SR is suitable for an environment whereby the usage of DICOM technology is primary source of image management e.g. PACS. The ClearCanvas implementation works well in the PACS environment. If you retrieve a study from a PACS or DICOM store SCP (with DICOM query/retrieve capability) and you create AIM for the study, the workstation will store AIM DICOM SR you crated to the PACS or DICOM store SCP as well as to the local DICOM storage on the workstation. The workstation also creates and stores AIM XML documents. The workstation cannot import AIM XML currently. We are going to add this capability in the future.
ClearCanvas user's manual can be found at https://wiki.nci.nih.gov/pages/viewpage.action?pageId=40599934
AIM XML document is good for people who are not familiar with DICOM technology. HL7 CDA is used in a larger context of medical information systems. These systems are mostly not aware of DICOM technology. So, if you want to pass AIM information to other medical systems, HL7 CDA is the format.
See the below web sites for further information.
https://wiki.nci.nih.gov/display/ImagingKC/Imaging+Knowledge+Center https://wiki.nci.nih.gov/display/AIM/Annotation+Imaging+Markup+%28AIM%29
- Daniel Rubin:
DICOM SR is a larger spec than AIM, focused generically on the world of non-image data. A variety of templates for SR have been created for a variety of purposes (it's use case driven). A template has even been created for serializing AIM..
AIM is a semantic model of the "results" of images (ROIs, observations, calculations, anatomy, etc). It includes an XML serialization, but as mentioned, an SR serialization is also provided in the AIM toolkit (in a tool called ANIVATR). However, extracting info from SR is an exercise for the SR user.. no tools for that are yet available. All that said, the main advantage of AIM is ease of use for developers to create/use image metadata--a variety of tools and some vendors support it, and recently we have created AIM API to make it easier for developers to create AIM XML. SR is part of the DICOM standard, so that's an advantage, and SR can be stored in a dicom database if vendors support SR (few do at present)
Is the concept to create an AIM object per mark-up?
Cited from here (AIM Developer Discussion forum at caBIG Imaging Knowledge Center):
- We have agreed that an AIM instance represents or refers to a single thing, such as a nodule. A single nodule can be marked up with multiple GeometricShape. An ImagingObservation can reference a specific GeometriShape. In AIM version 3.0, there is no label attribute in GeometricShape. Do you want to have “label” in AIM 4.0?
- A better solution is to have a reference to RTSTRUCT object.
- In AIM version 3.0 we don’t have a class that will explicitly reference RTSTRUCT
How to establish what template was used to create AIM annotation?
Cited from here (AIM Developer Discussion forum at caBIG Imaging Knowledge Center): The current AIM 3.0 does not have a mechanism to store AIM Template information. This issue, however, has been resolved in AIM 4.0. The AIM 4.0 model will be completed within the coming months. The AIM 4.0 toolkit (library) will be available this Fall/Winter. The new AIM 4.0 capable workstation will be available in that time frame as well.
As an interim solution, a user may store AIM Template UID in the attribute "comment", available in the Annotation class. But, you must know what the comment attribute is storing.
How to represent 3D shapes?
Cited from here (AIM Developer Discussion forum at caBIG Imaging Knowledge Center):
- Question: How to represent 3D shapes? There is a ST_Polygon class that has a PolyedralSurface class as a field, but there is no documentation about this classes. The PolyedralSurface class is the only one with a name that suggests it can hold a 3D surface. Is that the case? Let's say I want to make an spherical ROI around a lesion, how do I represent it in AIM?
- Answer: You would create a DICOM segmentation object (see DICOM part 3). The you put referenced information (DICOM UID) in AIM.