TubeTK: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(120 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<h1><center><b>TubeTK</b></center></h1>
__NOTITLE__
__NOTOC__


= PUBLIC RELEASE =
{| border="1" cellpadding="10" cellspacing="0"
|+ [[image:TubeTK_Header.jpg|1000px|TubeTK]]
|-
| style="background:#efefef;" align="left" valign="top" width="150px" |


TubeTK is being developed as open-source software, released under the Apache 2.0 license.  It is work-in-progress.
'''[[TubeTK|Home]]'''
*[[TubeTK/About|About]]
*[[TubeTK/Images|Image Gallery]]
*[[TubeTK/Data|Data and Publications]]
<br>
----
<br>
'''For Users'''
* [[TubeTK/Installation|Installation]]
* [[TubeTK/Documentation|Methods & Apps]]
* [[TubeTK/Slicer|TubeTK with 3D Slicer]]
* [[TubeTK/OsiriX|TubeTK with OsiriX]]
<br>
----
<br>
'''For Developers'''
* [[TubeTK/Development|Development Docs]]
<br>
----
<br>
'''[https://github.com/TubeTK/TubeTK/issues Report Bugs<br>Request Features]'''
<br>
<br>
----
<br>
'''[[TubeTK/Contact|Contact Us]]'''


| align="left" width="800px" |
= Overview =
= Overview =


TubeTK Overview goes here...
TubeTK is being developed to host algorithms for applications involving images of tubes (blood vessel in medical images, roads in satellite images, etc.). It also offers methods for handling other geometries (points, surfaces, and densities) in images.  


<em>The development of TubeTK is being funded, in part, by the NIH sponsored National Alliance of Medical Image Computing (NA-MIC, http://www.na-mic.org) and the DARPA sponsored TRUST project. </em>
By focusing on local geometric structure, the algorithms are able to accomplish segmentations, registrations, and other analyses that consider the physicial properties of objects and their variations, while not requiring limiting assumptions on the specific arrangement or general shape of the objects in the images.  We are applying these techniques to push image understanding in new directions such as:
# registration of abdominal images even when organs slides against one another
# forming statistical atlases of intra-canrial vessel network topology even when that topology changes between subjects
# segmentation of arbitrary objects in images even when intensity statistics of those objects, and the objects around them, vary from image to image.


== License ==
At this time TubeTK is targeted for
# Software developers who wish to write code to integrate our algorithms into their applications
# Researchers who can write bash and other scripts to string together TubeTK's command-line tools


In summary, you are free to use, modify, and redistribute TubeTK for non-commercial and commercial uses.   Details are provided in the header text of each file:
TubeTK offers various interface layers:
* '''TubeTK/Base:''' This is the algorithms library. It is the lowest level of access to the methods of TubeTK. It is only available via C++, and it requires considerable expertise to effectively combine and call its methods to do anything useful. Iterfacing directly with these algorithms is not recommended and is not well supported. Unit-level testing is performed continuously on these methods.
* '''TubeTK/ITKModules:''' This is the ITK interface to select methods in TubeTK/Base. This level of interface is intended for ITK users and Python scripts writers. The methods exposed represent a level of modularization that invites experimentation, integration with other toolkits (e.g., Scikit-Learn), and development of processing pipelines that accomplish significant image analysis goals. The interface is available as an ITK Extension and thereby available via Python using Wrapped ITK.
* '''TubeTK/Applications:''' These are the command-line interface (CLI) equivalents to the methods available via TubeTK/ITKModules. This is intended for bash, bat, and other system-call scripts. The level of modularization and intended users are similar to those of TubeTK/ITKModules. C++ and python-based CLIs are provided. Continuous, unit-level testing of TubeTK/ITKModules is provided via these applications.
* '''TubeTK/Experiments:''' These are Python Jupyter notebooks that combine many TubeTK/ITKModules into Python scripts that show how to accomplish high-level image analysis goals with TubeTK. They are intended to be an interactive basis for exploring TubeTK. Python and Jypter notebooks packages must be installed on your computer to run these. These can also be (and are) run as tests to check performance (whereas the unit-level tests focus on regression).
* '''TubeTK/SlicerModules:''' These are Slicer modules that combine many of the TubeTK/ITKMoudles into Slicer elements that accomplish select high-level image analysis tasks using TubeTK.


<pre>
If you have questions regarding or suggestions for improving TubeTK, please do not hesitate to [[TubeTK/Contact|contact the development team]].
/*=========================================================================


Library:  TubeTK
== Features ==
* Centerline vascular segmentation
* Vascular atlas formation
* Vascular network to image registration
* Organ segmentation
* Vascular-ness measures
* Multi-modality support


Copyright 2010 Kitware Inc. 28 Corporate Drive,
== Driving Applications ==
Clifton Park, NY, 12065, USA.
* [[NeuralNav | NeuralNav: Brain tumor resection guidance via intra-operative registration]]
* Diagnosis of retinopathy of prematurity
* Analysis of vascular differences within and between populations to identify focal (e.g., stroke) and diffuse (e.g., schizophrenia) diseases.
* Vascular atlas formation
* Radiofrequency ablation guidance via intra-operative registration of pre-op CT with intra-op Ultrasound
* Quantifying tumor micro-environments


All rights reserved.
== Technical Focus ==


Licensed under the Apache License, Version 2.0 (the "License");
* [[TubeTK/Vascular_Pattern_Analysis | Vascular pattern analysis]] is the characterization and comparison of individuals and populations based on "spatial graphs" as representations of vascular networks.
you may not use this file except in compliance with the License.
* [[TubeTK/Sliding_Organ_Registration | Sliding organ registration]] are methods for registering images of multiple organs in which the organs may have shifted, expanded, or compressed independently.
You may obtain a copy of the License at
* [[TubeTK/Intra-operative_Ultrasound_Registration | Intra-operative ultrasound registration]] is the grand challenge of real-time transcription of pre-operative surgical plans into intra-operative ultrasound images.


    http://www.apache.org/licenses/LICENSE-2.0
== Acknowledgement ==


Unless required by applicable law or agreed to in writing, software
If you find TubeTK useful for your work and publications, please include a reference to this website and to
distributed under the License is distributed on an "AS IS" BASIS,
* S. R. Aylward and E. Bullitt, “Initialization, noise, singularities, and scale in height ridge traversal for tubular object centerline extraction,” Medical Imaging, IEEE Transactions on, vol. 21, no. 2, pp. 61–75, 2002.
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Thank you!
See the License for the specific language governing permissions and
limitations under the License.


=========================================================================*/
== External Links ==
</pre>


== Project Links ==
* [http://open.cdash.org/index.php?project=TubeTK TubeTK Dashboard]
* Dashboard
* [https://github.com/KitwareMedical/TubeTK/issues TubeTK GitHub Issues]
** https://www.kitware.com/CDash/index.php?project=TubeTK
* [https://github.com/KitwareMedical/TubeTK TubeTK GitHub Repository]
* Git
* [http://midas3.kitware.com/midas/community/7 TubeTK Midas Platform Community]
** http://gitorious.org/tubetk/tubetk
* [https://github.com/KitwareMedical KitwareMedical GitHub]
** git clone git://gitorious.org/tubetk/tubetk.git
** git push git@gitorious.org:tubetk/tubetk.git origin/master; git pull
* Mantis
** TBD
* Doxygen
** TBD


== Documentation ==
* [[TubeTK/Design | Design discussions]]
* [[TubeTK/Build | Build instructions]]
* [[TubeTK/DevelopersGuide | Developers guide]]
* [[TubeTK/GITCheatSheet | GIT cheat sheet]]
* [[TubeTK/Reference | References and related works]]


== Image Gallery ==
[[Category:TubeTK|*]]
 
== Users ==
 
= Applications =
== Hessian Vesselness 2D ==
HessianVesselness2D is a module that uses an adaptation of Frangi's method proposed in [http://hdl.handle.net/1926/576 "this paper"] in the Insight Journal.
 
== Curves 2D Extractor ==
Curves2DExtractor is a command line version of the fltk application in Insight Applications. It's reference is exactly the same as that application, except for the lack of interactivity. The original documentation can be found [http://itk.org/ITK/applications/Curve2DExtraction.html here]
 
= Modules =
 
* Pre-processing
** [[TubeTK/Anisotropic Hybrid Diffusion with Continuous Switch]]
* Object segmentation
* Tube extraction
* Data structures
* Topology analysis
* Editing
* Export
* Documentation
 
= Developers =
* Stephen Aylward
** stephen.aylward@kitware.com
** 919-969-6990 (Ext 300)
* Andinet Enquobaharie
* Casey Goodlett
* Patrick Reynolds

Latest revision as of 12:31, 9 May 2016

__NOTITLE__


TubeTK

Home




For Users




For Developers




Report Bugs
Request Features




Contact Us

Overview

TubeTK is being developed to host algorithms for applications involving images of tubes (blood vessel in medical images, roads in satellite images, etc.). It also offers methods for handling other geometries (points, surfaces, and densities) in images.

By focusing on local geometric structure, the algorithms are able to accomplish segmentations, registrations, and other analyses that consider the physicial properties of objects and their variations, while not requiring limiting assumptions on the specific arrangement or general shape of the objects in the images. We are applying these techniques to push image understanding in new directions such as:

  1. registration of abdominal images even when organs slides against one another
  2. forming statistical atlases of intra-canrial vessel network topology even when that topology changes between subjects
  3. segmentation of arbitrary objects in images even when intensity statistics of those objects, and the objects around them, vary from image to image.

At this time TubeTK is targeted for

  1. Software developers who wish to write code to integrate our algorithms into their applications
  2. Researchers who can write bash and other scripts to string together TubeTK's command-line tools

TubeTK offers various interface layers:

  • TubeTK/Base: This is the algorithms library. It is the lowest level of access to the methods of TubeTK. It is only available via C++, and it requires considerable expertise to effectively combine and call its methods to do anything useful. Iterfacing directly with these algorithms is not recommended and is not well supported. Unit-level testing is performed continuously on these methods.
  • TubeTK/ITKModules: This is the ITK interface to select methods in TubeTK/Base. This level of interface is intended for ITK users and Python scripts writers. The methods exposed represent a level of modularization that invites experimentation, integration with other toolkits (e.g., Scikit-Learn), and development of processing pipelines that accomplish significant image analysis goals. The interface is available as an ITK Extension and thereby available via Python using Wrapped ITK.
  • TubeTK/Applications: These are the command-line interface (CLI) equivalents to the methods available via TubeTK/ITKModules. This is intended for bash, bat, and other system-call scripts. The level of modularization and intended users are similar to those of TubeTK/ITKModules. C++ and python-based CLIs are provided. Continuous, unit-level testing of TubeTK/ITKModules is provided via these applications.
  • TubeTK/Experiments: These are Python Jupyter notebooks that combine many TubeTK/ITKModules into Python scripts that show how to accomplish high-level image analysis goals with TubeTK. They are intended to be an interactive basis for exploring TubeTK. Python and Jypter notebooks packages must be installed on your computer to run these. These can also be (and are) run as tests to check performance (whereas the unit-level tests focus on regression).
  • TubeTK/SlicerModules: These are Slicer modules that combine many of the TubeTK/ITKMoudles into Slicer elements that accomplish select high-level image analysis tasks using TubeTK.

If you have questions regarding or suggestions for improving TubeTK, please do not hesitate to contact the development team.

Features

  • Centerline vascular segmentation
  • Vascular atlas formation
  • Vascular network to image registration
  • Organ segmentation
  • Vascular-ness measures
  • Multi-modality support

Driving Applications

  • NeuralNav: Brain tumor resection guidance via intra-operative registration
  • Diagnosis of retinopathy of prematurity
  • Analysis of vascular differences within and between populations to identify focal (e.g., stroke) and diffuse (e.g., schizophrenia) diseases.
  • Vascular atlas formation
  • Radiofrequency ablation guidance via intra-operative registration of pre-op CT with intra-op Ultrasound
  • Quantifying tumor micro-environments

Technical Focus

  • Vascular pattern analysis is the characterization and comparison of individuals and populations based on "spatial graphs" as representations of vascular networks.
  • Sliding organ registration are methods for registering images of multiple organs in which the organs may have shifted, expanded, or compressed independently.
  • Intra-operative ultrasound registration is the grand challenge of real-time transcription of pre-operative surgical plans into intra-operative ultrasound images.

Acknowledgement

If you find TubeTK useful for your work and publications, please include a reference to this website and to

  • S. R. Aylward and E. Bullitt, “Initialization, noise, singularities, and scale in height ridge traversal for tubular object centerline extraction,” Medical Imaging, IEEE Transactions on, vol. 21, no. 2, pp. 61–75, 2002.

Thank you!

External Links