Collaboration/Harvard IIC/AstroMed

From NAMIC Wiki
Revision as of 21:07, 2 July 2007 by Nessus (talk | contribs) (→‎Progress During Programming Week)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Collaboration < Harvard IIC < AstroMed
Mockup of a future version of Slicer with features desired by the Astronomical Medicine project.

Key Investigators

  • Douglas Alan: Havard IIC
  • Mike Halle: BWH/Harvard IIC
  • Jim Miller: GE
  • Luis Ibanez: Kitware


We are developing tools and enhancements to ITK and Slicer in order to adapt Slicer to be a tool that is useful for the visualization of astronomical data, specifically spectral line data cubes for now.

Approach, Plan

Our approach is summarized on the Astronomical Medicine web site. The main challenge to this approach, at the moment, is the impedance mismatch between celestial coordinates and medical imaging coordinates, and a lack of infrastructure within ITK and Slicer to allow for alternative coordinate systems.

Our plan for the project week is to implement a mechanism that will allow world coordinate system information to travel through the ITK pipeline via an ITK image's metadata dictionary. If we accomplish this, and there is time left over, then we hope to implement bidirectional procedural transforms to map between voxel coordinates and world coordinates.

Prior Progress

We have implemented an open-source FITS reader for ITK. (FITS is the standard file format for astronomical images.) We currently use this reader to convert FITS files into NRRD files so that they can be read into Slicer.

The FITS file converter is available in both source and binary releases here.

The scientists who use this software at the Harvard IIC have given conference talks and will be publishing papers on the scientific results that they have achieved using the Slicer-based visualization tools.

Progress During Programming Week

  • Worked with Jim to implement preservation of the ITK metadata dictionary through the Slicer pipeline.
  • Worked with Luis to implement interface for streaming file I/O.
    • Debugged alpha version of the code.
    • Modified FITS reader to work with new streaming interface.
  • Talked with Steve Pieper to plan out next step to achieve our goal of being able to display astronomical coordinates in Slicer.
    • Will require wrapping our transform object into a subclass of vtkSlicerLogic.
    • Will require loading our FITS reader into Slicer as a DLL.
  • Learned from Luis how to turn our FITS reader into a DLL that can be autoloaded by any ITK application.
  • With some help from Luis, set up more robust dependency rules in our CMake config.
  • Talked with Wendy Plesniak about a couple Slicer 3 interface tweaks that will help out our particular use case.
  • Talked with Curtis Lisle who might implement a volume renderer for Slicer. (This is something that we need.)
  • Luis helped us track down a problem with our use of ITK filters. (The filters were being GC'ed due to no smart pointers pointing to them anymore.)
  • Luis showed us how to use Source Navigator, which turns out to be a very useful tool for fathoming large C++ code bases.

Before After
    Caffeine-free.jpg         Jolt.jpg    


Additional Information