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

From NAMIC Wiki
Jump to: navigation, search
 
(10 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
__NOTOC__
 
__NOTOC__
 
===Key Investigators===
 
===Key Investigators===
 +
* Douglas Alan: Havard IIC
 
* Mike Halle: BWH/Harvard IIC
 
* Mike Halle: BWH/Harvard IIC
* Douglas Alan: Havard IIC
 
 
* Jim Miller: GE
 
* Jim Miller: GE
 
+
* Luis Ibanez: Kitware
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
  
Line 30: Line 30:
 
<div style="width: 40%; float: left;">
 
<div style="width: 40%; float: left;">
  
<h1>Progress</h1>
+
<h1>Prior Progress</h1>
  
 
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.
 
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.
Line 42: Line 42:
  
  
 +
 +
===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'''
 +
|-
 +
| &nbsp; &nbsp; [[Image:caffeine-free.jpg]]  &nbsp; &nbsp; ||  &nbsp; &nbsp;  [[Image:jolt.jpg]] &nbsp; &nbsp;
 +
|}
  
 
===References===
 
===References===
 
TODO: Replace the following with our papers.
 
  
 
* Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, Jens Kauffmann, [http://adsabs.harvard.edu/cgi-bin/nph-bib_query?bibcode=2006AAS...209.5706B&amp;db_key=AST&amp;data_type=HTML&amp;format=&amp;high=438a74bfef26079 "Application of Medical Imaging Software to the 3D Visualization of Astronomical Data"], 1/2007, 2007 AAS/AAPT Joint Meeting, American Astronomical Society Meeting 209, #57.06.  Presentation:  [http://www.cfa.harvard.edu/COMPLETE/astromed/aas209/057.06_borkin.ppt PPT] [http://www.cfa.harvard.edu/COMPLETE/astromed/aas209/057.06_borkin.pdf PDF].
 
* Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, Jens Kauffmann, [http://adsabs.harvard.edu/cgi-bin/nph-bib_query?bibcode=2006AAS...209.5706B&amp;db_key=AST&amp;data_type=HTML&amp;format=&amp;high=438a74bfef26079 "Application of Medical Imaging Software to the 3D Visualization of Astronomical Data"], 1/2007, 2007 AAS/AAPT Joint Meeting, American Astronomical Society Meeting 209, #57.06.  Presentation:  [http://www.cfa.harvard.edu/COMPLETE/astromed/aas209/057.06_borkin.ppt PPT] [http://www.cfa.harvard.edu/COMPLETE/astromed/aas209/057.06_borkin.pdf PDF].
Line 58: Line 79:
  
 
* [http://astromed.iic.harvard.edu Astronomical Medicine web site]
 
* [http://astromed.iic.harvard.edu Astronomical Medicine web site]
 
+
* [http://astromed.iic.harvard.edu/FITS-reader Open-source release] of our ITK-based FITS file reader/converter.
 
</div>
 
</div>

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