Projects:QIN:3D Slicer Annotation Image Markup:Existing AIM-compatible tools

From NAMIC Wiki
Jump to: navigation, search
Home < Projects:QIN:3D Slicer Annotation Image Markup:Existing AIM-compatible tools

NW AIM 3.0 API

File:AIM 3 model.pdf

TCGA ClearCanvas

Using AIM annotations with ClearCanvas, as explained by Justin Kirby.

Prerequisites:

  • Windows
  • Admin account (otherwise DICOM studies cannot be imported apparently)
  • Cannot query AIM data service while on Partners wireless, need cable connection

Steps to load images and annotations into ClearCanvas:

  1. Explorer -> DICOM, select folder with the studies of interest, click 'Import'
  2. In the tab with the selected study, click "AIM Data Service" and enter URL listed above
  3. Back to Explorer -> AIM Data Service, click "Search"
  4. Locate annotation that corresponds to the selected study, right mouse click, "Retrieve Selected Annotations"
  5. Back to the selected study tab, should be able to see annotations if select "Show all AIM annotations"
Supported markups in ClearCanvas
Supported markups visualized
<?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>
Template-based annotation in ClearCanvas for the annotation template defined on the left

AIM ePAD (OsiriX)

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.