Git Product home page Git Product logo

xetrocoen / tubetk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from insightsoftwareconsortium/itktubetk

0.0 2.0 0.0 19.53 MB

An open-source toolkit, led by Kitware, Inc., for the segmentation, registration, and analysis of tubes and surfaces in images.

Home Page: http://www.tubetk.org

License: Apache License 2.0

C++ 81.05% CMake 13.10% Python 4.35% C 0.19% Shell 0.77% XSLT 0.18% CSS 0.36%

tubetk's Introduction

TubeTK: Tubular Object Extraction, Registration, and Analysis

Circle CI

TubeTK is an open-source toolkit for the segmentation, registration, and analysis of tubes and surfaces in images, developed by Kitware, Inc.

Tubes and surfaces, as generalized 1D and 2D manifolds in N-dimensional images, are essential components in a variety of image analysis tasks. Instances of tubular structures in images include blood vessels in magnetic resonance angiograms and b-mode ultrasound images, wires in microscopy images of integrated circuits, roads in aerial photographs, and nerves in confocal microscopy.

A guiding premise of TubeTK is that by focusing on 1D and 2D manifolds we can devise methods that are insensitive to the modality, noise, contrast, and scale of the images being analyzed and to the arrangement and deformations of the objects in them. In particular, we propose that TubeTK's manifold methods offer improved performance for many applications, compared to methods involving the analysis of independent geometric measures (e.g., edges and corners) or requiring complete shape models.

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. Interfacing 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 Jupyter notebooks packages must be installed on your computer to run these. These can also be (and are) run as tests to check performance (these test performance, whereas the unit-level tests focus on regression).

  • TubeTK/SlicerModules: These are Slicer modules that combine many of the TubeTK/ITKModules into Slicer elements that accomplish select high-level image analysis tasks using TubeTK.

Python requirements

To be able to run all the python tests and examples, the following packages are required:

  • numpy
  • scipy
  • jupyter
  • IPython
  • tornado
  • pyzmq
  • jinja2
  • tables
  • matplotlib
  • pyqtgraph
  • PyOpengl
  • PySide
  • ITK

Installing most required packages can be done with the following command line:

pip install requirements.txt

To install ITK, please refer to the ITK documentation or define the environment variables ITK_BUILD_DIR and TubeTK_BUILD_DIR to point respectivally to the folder in which ITK and TubeTK are built.

License

TubeTK is licensed under the Apache License, Version 2.0 (the "License"); you may not use TubeTK except in compliance with the License. Unless required by applicable law or agreed to in writing, TubeTK is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Acknowledgements

The development of TubeTK is supported in part by the

tubetk's People

Contributors

aylward avatar thewtex avatar cpatrick avatar rkwitt avatar andinet avatar vovythevov avatar lucasgandel avatar jcfr avatar nathant avatar fbudin69500 avatar cdeepakroy avatar bpayne avatar michael-jeulinl avatar huayang avatar bradking avatar finetjul avatar gabehart avatar matthieuheitz avatar ilknurkabul avatar lassoan avatar vicory avatar sumedhasingla avatar

Watchers

James Cloos avatar neocortex avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.