frankyeh / TIPL

template image processing library
Other
20 stars 10 forks source link

Template Image Processing Library (TIPL)

Introduction

Template Image Processing Library (TIPL) is a lightweight C++ template library designed mainly for high-performance medical imaging processing.

To use it, include the root header tipl.hpp

#include "TIPL/tipl.hpp"  

The library supports Linux, MacOS, Windows, and Jupyter Notebook

Installation with CMake

While the library can be used as is, providing the install location is specified to using projects, we provide a CMake system based installation. To install with CMake do the following:

Using the installed packge

Afterwards client software building with CMake can use this package by specifying

find_package(TIPL)

in its CMakeLists.txt and linking the client application to the imported target TIPL::tipl

A fly in the ointment is that I do not currently know how to make the TIPL libraries C++ standard (14) to be propagated. Client applications should also set the CXX_STANDARD property of downstream libraries and executables to 14.

When the client is configured with CMake, it is necessary for CMake to be able to find the installed TIPL this can be done by adding <install_location> for TIPL to the CMAKE_PREFIX_PATH or by explicitly specifying TIPL_DIR as

cmake -DTIPL_DIR=<install_dir>/lib/cmake/TIPL

Example

Design paradigm

The design paradigm is to provide an "easy-to-use" and also "ready-to-use" header-only library. Most existing image processing libraries are not designed for medical image analysis and have suboptimal performance. TIPL was developed to fill this gap. The design paradigm follows several coding guidelines and principles that make it highly efficient and reusable.

The following is the main paradigm behind TIPL:

Installation

TIPL is header only. You may clon the repo or use CMake to install the package.

  1. Get header files from Github
!git clone http://github.com/frankyeh/TIPL/
  1. Include the header
#include "TIPL/tipl.hpp"  

Now you can use TIPL

Building the C++ examples using CMake

It is possible to install TIPL using CMake, in which case C++ packages using CMake can easily build with it. In this package C++ examples are available in the cpp subdirectory. To build these using CMake:

Naturally one can also locate the CMake TIPLConfig.cmake file using other CMake means than CMAKE_PREFIX_PATH e.g. by providing the CMake option: -DTIPL_DIR=<TIPL_install_directory>/lib/cmake/TIPL to cmake. One should also be able to build out of source (the build directory can really be anywhere).

Installation of the examples is not yet supported