Difference between revisions of "Collaboration/Harvard IIC/AstroMed"

From NAMIC Wiki
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 47: Line 47:
 
* Worked with Jim to implement preservation of the ITK metadata dictionary through the Slicer pipeline.
 
* 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.
 
* 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.
 
* 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 xxxx into an xxxx Logic object.
+
** Will require wrapping our transform object into a subclass of vtkSlicerLogic.
** Will require loading our FITS reader into Slider as a DLL.
+
** 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.
 
* Learned from Luis how to turn our FITS reader into a DLL that can be autoloaded by any ITK application.
* With help from Luis, set up proper dependency rules in our CMake config.
+
* 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 Wendy Plesniak about a couple Slicer 3 interface tweaks that will help out our particular use case.
* Talked with xxxx who might implement a volume renderer for Slicer. (This is something that we need.)
+
* 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.
  
  

Latest revision as of 21:07, 2 July 2007

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

Objective

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    

References

Additional Information