You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-27Lines changed: 34 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Tomato
2
+
2
3
A library to calculate parametric maps in MRI. It contains ShMOLLI implementation as in [this article](https://jcmr-online.biomedcentral.com/articles/10.1186/1532-429X-12-69).
3
4
**Github** repository can be found [here](https://github.com/MRKonrad/tomato).
4
5
**Documentation** in doxygen can be found [here](https://mrkonrad.github.io/tomato/html).
@@ -14,50 +15,56 @@ A library to calculate parametric maps in MRI. It contains ShMOLLI implementatio
14
15
15
16
16
17
# Usage
17
-
* App - download the latest version of `TomatoExe` from the [Releases][downloads_link] page and follow the youtube tutorial below
18
+
19
+
* App - download the latest version of `TomatoExe` from the [Releases][downloads_link] page and follow the youtube tutorial below
* Lib - download the latest version of `TomatoLib` from the [Releases][downloads_link] page
20
-
* Code - if you want to build the code please take a look at the scripts in the `scriptsBuild` and the continuous integrations scripts `.appveyor.yml` and `travis.yml`
21
+
*Lib - download the latest version of `TomatoLib` from the [Releases][downloads_link] page
22
+
*Code - if you want to build the code please take a look at the scripts in the `scriptsBuild` and the continuous integrations scripts `.appveyor.yml` and `travis.yml`
21
23
22
24
## Tomato and Numerical Recipes
23
25
24
26
**Important**
25
27
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.
26
28
27
29
# Troubleshooting
28
-
* missing msvcp140.dll
29
-
Download https://www.microsoft.com/en-us/download/details.aspx?id=48145 as suggested in https://stackoverflow.com/questions/32998902/msvcp140-dll-missing
30
+
31
+
* missing msvcp140.dll
32
+
Download <https://www.microsoft.com/en-us/download/details.aspx?id=48145> as suggested in <https://stackoverflow.com/questions/32998902/msvcp140-dll-missing>
30
33
31
34
# Software Requirements Specification
32
35
33
-
1. Calculate ShMOLLI with exactly the same results as these from the previous implementation.
34
-
2. API for easily choosing
35
-
* a map calculation algorithm,
36
-
* a fitting algorithm,
37
-
* a model function and corresponding energy function.
38
-
3. Compatibility with:
39
-
* main operating systems (Windows, MacOS, Linux),
40
-
* C++98 (to include the library in older code).
41
-
4. Handling DICOM files.
42
-
5. Fast calculation.
43
-
6. Easily interfaced to calculation environments MATLAB, IDL and Python.
36
+
1. Calculate ShMOLLI with exactly the same results as these from the previous implementation.
37
+
2. API for easily choosing
38
+
* a map calculation algorithm,
39
+
* a fitting algorithm,
40
+
* a model function and corresponding energy function.
41
+
3. Compatibility with:
42
+
* main operating systems (Windows, MacOS, Linux),
43
+
* C++98 (to include the library in older code).
44
+
4. Handling DICOM files.
45
+
5. Fast calculation.
46
+
6. Easily interfaced to calculation environments MATLAB, IDL and Python.
47
+
48
+
# Contributing and code of conduct
49
+
50
+
Please see [contributing.md](contributing.md) and [codeofconduct.md](codeofconduct.md).
44
51
45
52
# Notes
46
53
47
-
***Continuous integration** was tested [in this repo](https://github.com/MRKonrad/ContinousIntegrationPlayground).
48
-
***Gitmodules**: after `git clone` run `git submodule update --init --recursive` to get the submodules code.
49
-
* It would be nice to follow [CppCoreGuidlines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) as far as C++98 allows.
50
-
* Maybe I can write a script for github releases with [github releases REST api](https://developer.github.com/v3/repos/releases/#create-a-release) and [curl REST api](http://www.codingpedia.org/ama/how-to-test-a-rest-api-from-command-line-with-curl/#12_HEAD_requests)?
51
-
* LMFIT - somehow windows does not like the static library, so the dynamic is used
54
+
***Continuous integration** was tested [in this repo](https://github.com/MRKonrad/ContinousIntegrationPlayground).
55
+
***Gitmodules**: after `git clone` run `git submodule update --init --recursive` to get the submodules code.
56
+
*It would be nice to follow [CppCoreGuidlines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) as far as C++98 allows.
57
+
*Maybe I can write a script for github releases with [github releases REST api](https://developer.github.com/v3/repos/releases/#create-a-release) and [curl REST api](http://www.codingpedia.org/ama/how-to-test-a-rest-api-from-command-line-with-curl/#12_HEAD_requests)?
58
+
*LMFIT - somehow windows does not like the static library, so the dynamic is used
52
59
53
60
# TODO:
54
61
55
-
* output SNR maps
56
-
* make sure SNR and nAmoebaCalls is the same as in Shmolli
57
-
* fix downloadITK_linux_osx
58
-
* seperate projects for building tomato dependencies (done for lmfit)
59
-
* possibly I could make all FunctionsT1 object static
60
-
* write user-friendly build scripts (and use them in CI)
62
+
*output SNR maps
63
+
*make sure SNR and nAmoebaCalls is the same as in Shmolli
64
+
*fix downloadITK_linux_osx
65
+
*seperate projects for building tomato dependencies (done for lmfit)
66
+
*possibly I could make all FunctionsT1 object static
67
+
*write user-friendly build scripts (and use them in CI)
0 commit comments