GithubHelp home page GithubHelp logo

smistad / tube-segmentation-framework Goto Github PK

View Code? Open in Web Editor NEW
90.0 13.0 34.0 4.25 MB

A software for fast segmentation and centerline extraction of tubular structures (e.g. blood vessels and airways) from different modalities and organs using GPUs and OpenCL

Home Page: http://link.springer.com/article/10.1007%2Fs11548-013-0956-x

License: Other

C++ 65.73% C 34.27%

tube-segmentation-framework's Introduction

Tube Segmentation Framework

The tube segmentation framework is a software for fast segmentation and centerline extraction of tubular structures (e.g. blood vessels and airways) from different modalities (e.g. CT, MR and US) and organs using GPUs and OpenCL.

For details about the implementation see the following publication:
GPU accelerated segmentation and centerline extraction of tubular structures in medical images
Erik Smistad, Anne C. Elster and Frank Lindseth
International Journal of Computer Assisted Radiology and Surgery
2013

If you use this software in any publications, please cite our article.

See the file LICENSE for license information.

Dependencies

  • OpenCL. You need an OpenCL implementation installed on your system to use this software (AMD, NVIDIA, Intel or Apple)
  • Boost iostreams. E.g. on Ubuntu linux use the following package: libboost-iostreams-dev
  • The two submodules: SIPL and OpenCLUtilities
  • GTK 2 for visualization (not required, used by the SIPL module). On Ubuntu linux use the following package: libgtk2.0-dev

Compiling

To compile the software first make sure that all software dependencies are installed and set up correctly. Next, use cmake.

For instance on linux, do the following:

cmake .
make -j8

Usage

To see the help message use the software with no arguments. ./tubeSegmentation

The first arguments is the dataset to process. This has to be a metadata (.mhd) file.

Some test data is available with the software. You can test the program with the following command:

./tubeSegmentation tests/data/synthetic/dataset_1/noisy.mhd --parameters Synthetic-Vascusynth --display

Parameters

This software has a lot of parameters and several parameter presets are available:

  • Lung-Airways-CT
  • Neuro-Vessels-USA
  • Neuro-Vessels-MRA
  • AAA-Vessels-CT
  • Liver-Vessels-CT
  • Synthetic-Vascusynth

The parameter preset is set with the program argument "--parameters ".

Tests

This software contains several tests written with Google Test. Install Google Test and run cmake again to compile the tests. Run the tests using the command ./tests/runTests

tube-segmentation-framework's People

Contributors

custusxmachine avatar smistad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tube-segmentation-framework's Issues

Error occurred when compiling

Hello

When I compile this project. Error was occurred:

error C2664: 'oul::HistogramPyramid3DBuffer::HistogramPyramid3DBuffer(const oul::HistogramPyramid3DBuffer &)' : cannot convert argument 1 from 'OpenCL' to 'oul::Context &'

Source code is : oul::HistogramPyramid3D hp3(ocl);

That means, there is no conversion between oul::Context and OpenCL. I'm using the newest version OpenCLUtilityLibrary (master) and Tube-Segmentation-Framework (master). I'm wondering if I have a mismatched version.

Thank you very much.

two error occurred when I try to build this project on my mac

OS X 10.11.6
git clone --recurse-submodules https://github.com/smistad/Tube-Segmentation-Framework.git
cd Tube-Segmentation-Framework
cmake .
make -j8
Then I got this:

In file included from /Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Core.cpp:6:
/Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Core.hpp:762:15: error:
no matching constructor for initialization of 'SIPL::ConversionException'
...ConversionException("image size mismatch in assignment", LINE, FILE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Exceptions.hpp:164:7: note:
candidate constructor (the implicit copy constructor) not viable: requires
1 argument, but 3 were provided
class ConversionException : public SIPLException {
^
/Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Exceptions.hpp:164:7: note:
candidate constructor (the implicit move constructor) not viable: requires
1 argument, but 3 were provided
/Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Exceptions.hpp:164:7: note:
candidate constructor (the implicit default constructor) not viable:
requires 0 arguments, but 3 were provided
In file included from /Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Core.cpp:6:
/Users/Leon/Developer/Tube-Segmentation-Framework/SIPL/Core.hpp:802:15: error:
no matching constructor for initialization of 'SIPL::ConversionException'
...ConversionException("volume size mismatch in assignment", LINE, FILE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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.