Skip to content

MRKonrad/tomato

Repository files navigation

TOMATO

TOMATO (Total Mapping Toolbox) is a C++ library for the calculation of parametric maps in cardiac magnetic resonance imaging (MRI). As an open source project, TOMATO allows transparent and standardized cardiac longitudinal relaxation time (T1) mapping in clinical applications. With C++ implementation, TOMATO can easily interface and translate between research software environments, and commercial vendors’ closed-source C++ environments on scanners as well as post-processing software. To complement the core library implementation, a ready-to-use command line tool has been provided.

It contains ShMOLLI implementation as in this article.

System Status
🍅 Tutorial 🍅 🍅 Tomato Docs 🍅
Code documentation Doxygen
DOI DOI
OSX/Linux build - Travis Travis (.org)
Windows build - AppVeyor AppVeyor
Test coverage - Codecov codecov
Downloads GitHub Releases

How to compile

CMake build system and Conan cpp package manager are recommended.

  1. Get dependencies
    In the conan-recipes folder:
    conan create conan-gtest-1.8.1 user/testing
    conan create conan-vxl-2.0.2 user/testing
    conan create libyaml user/testing
    conan create lmfit user/testing
  2. Build
    In the source folder:
    mkdir build 
    cd build
    conan install ..
    cmake ..
    cmake --build .
    cmake --build --target INSTALL

TomatoOpenSource and TomatoFull

Important

There are two Tomato version available: TomatoOpenSource compiled with publicly available code and TomatoFull containing additionally private code used for AmoebaPrivateNr2 fitting algorithm using Nelder–Mead algorithm based on Numerical Recipes. Original ShMOLLI (and based on it Tomato) uses code based on Numerical Recipes book. Due to Numerical Recipes licence I cannot share this part of the code online. Please contact me if you would like to use this part of the code. To make up for this limitation we provide a number of alternative fitting procedures.

Contributing and code of conduct

Please see contributing.md and codeofconduct.md.

Troubleshooting