Difference between revisions of "Collaboration/Harvard IIC/AstroMed"
(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 | + | ** Will require wrapping our transform object into a subclass of vtkSlicerLogic. |
− | ** Will require loading our FITS reader into | + | ** 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 | + | * 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 | + | * 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
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 |
---|---|
References
- Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, Jens Kauffmann, "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: PPT PDF.
- Michelle Borkin, Alyssa Goodman, Michael Halle, Douglas Alan, "Application of Medical Imaging Software to 3D Visualization of Astronomical Data", 10/2006, ADASS XVI Conference. Presentation: PPT PDF (linked movies).
- Michelle A. Borkin, "A COMPLETE Survey of Velocity Features in Perseus", 5/2006, Harvard University Undergraduate Senior Thesis.
- Michelle A. Borkin, Naomi A. Ridge, Alyssa A. Goodman, Michael Halle, "Demonstration of the Applicability of "3D Slicer" to Astronomical Data using 13CO and C18O Observations of IC348", 5/2005, astro-ph/0506604.
Additional Information
- Astronomical Medicine web site
- Open-source release of our ITK-based FITS file reader/converter.