Collaboration/UIowa/Non Rigid Registration

From NAMIC Wiki
Revision as of 14:53, 13 July 2007 by Tkapur (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Collaboration < UIowa < Non Rigid Registration
Initial software development stage of the Non-rigid Image Registration Evaluation Project.
NIREP application splash screen
Example code of the NIREPImageGridViewer class
NIREPImageGridViewer class summary

Key Investigators

  • Gary Christensen, Iowa (NIREP principal investigator)
  • Hans Johnson, Iowa
  • Xiujuan Geng (main NIREP metric software developer)
  • James Harris (main NIREP software developer)
  • Jeff Hawley (NIREP software developer)
  • Luis Ibanez, Kitware
  • Stephen Aylward, Kitware
  • Steve Pieper, Isomics
  • Jim Miller, GE


We have started the Non-rigid Image Registration Evaluation Project (NIREP) to develop software tools and provide shared image validation databases for rigorous testing of non-rigid image registration algorithms. NIREP will extend the scope of prior validation projects by developing evaluation criteria and metrics using large image populations, using richly annotated image databases, using computer simulated data, and increasing the number and types of evaluation criteria.

Approach, Plan

The goal of this project is to establish, maintain, and endorse a standardized set of relevant benchmarks and metrics for performance evaluation of nonrigid image registration algorithms. Furthermore, these standards will be incorporated into an exportable computer program to automatically evaluate the registration accuracy of nonrigid image registration algorithms.

Our goal for this week is to build a prototype software package that contains the following functionality:

  • Database manager that interfaces with the evaluation database, the database of transformations for each algorithm, stores generated results, manages loading of images, manages memory, expands transformations from coefficient files, handles requests from other NIREP components, keeps track of operations using an XML (MRML) description.
  • Display manager is responsible for displaying images, landmarks, contours, surfaces, and associated semantic information. It also displays metric information in various formats. The display is described in an XML (MRML) description.
  • Evaluator is responsible for all the computational aspects of image manipulation and computing metrics.
  • Application interface is a basic menu system for invoking and configuring the display manager and evaluator.


  • Used the ITK, VTK, KWWidgets and SLICER3 architectures for implementing NIREP software.
    • Replaced NIREP current visual studio project architecture with CMake cross-platform make system.
    • Updated the NIREP program to incorporate ITK to VTK.
    • Removed hardcoding in the code and replaced it with ITK and VTK commands.
  • Began the process of extending the functionality of ITK by implementing the AnaylzeObjectReader reader.
    • Learned how to use CMake
    • Implemented test suite and submissions to DART dashboard.
    • SVN commits with multiple developers sharing responsibilities
    • Partial implementation is submited to the NAMIC Sandbox
    • ITK'ize the class and learned the Object model from ITK (LightObject, Object, DataObject, ProcessObject ...)
    • Design of the AnalyzeOjbectReader reader is compliant with the ITK ImageIO mechanism, and will be documented in the Insight-Journal
  • Began the process of extending ITK image streaming.
    • Partial implementation of the NIFTI streaming IO is submitted in NAMIC Sandbox
  • Due to the extremely poor performance of Vista, Gary decided to return his Vista laptop.


This work was supported in part by NIH grants EB004126, CA096679 and HL64368.