Skip to content

Commit c22da7d

Browse files
authored
Merge pull request #410 from e0404/prepareBlaise
Preparations for the Release of "Blaise". Force merged now because review was already performed and approved by markbangert.
2 parents d63a2b0 + 8bf986c commit c22da7d

File tree

162 files changed

+85125
-1392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+85125
-1392
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
MCsquare/bin/Materials/

AUTHORS.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ List of all matRad developers that contributed code (alphabetical)
55
* Lucas Burigo
66
* Gonzalo Cabal
77
* Eduadro Cisternas
8+
* Edgardo Doerner
89
* Louis Charton
910
* Eric Christiansen
1011
* Hubert Gabrys
@@ -17,6 +18,7 @@ List of all matRad developers that contributed code (alphabetical)
1718
* Lucas-Raphael M�ller
1819
* Ahmad Neishabouri
1920
* Giuseppe Pezzano
21+
* Daniel Ramirez
2022
* Carsten Scholz
2123
* Alexander Stadler
2224
* Niklas Wahl

ChangeLog.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Version 2.10.0 "Blaise"
2+
Second Release of matRad. Note that despite major incompatibilities with "Alan" we still chose major version number "2" to have a consistent versioning in the future.
3+
we want to thank all new contributing authors (see AUTHORS.txt)
4+
The new release contains:
5+
- integration tests using TravisCI (with Octave, so no GUI functionalities are tested)
6+
- matRad_rc script to configure matRad paths
7+
- matRad version can now be printed with matRad_version, version correctly shown in GUI and when using matRad_rc
8+
- Seven new Matlab exmaple scripts to demonstrate use of matRad
9+
- added basic interfaces to the open-source photon/proton MC engines ompMC/MCsquare
10+
- Overhaul of the optimization interface using OOP and integration of the fmincon optimizer from Mathworks' MATLAB Optimization toolbox
11+
- Changes to the cst variable (new script to convert old to new cst structures in tools folder)
12+
- separation of ct/optimization/dose calculation grids to allow different resolutions
13+
- The graphical user interface can now be started in developer mode (more error information) and a simplified educational mode (some functionalities disabled, less buttons)
14+
- base data and default phantoms now organized in subfolders
15+
- DICOM export added (only script, dicomImport folder renamed to dicom)
16+
- DICOM import GUI
17+
- binary import and export functionalities (script & GUI)
18+
- overhauled the standalone project file
19+
- standalone toolbox file for matRad
20+
- Dose calculation now uses generalized initialization scripts
21+
- matRad_compareDose tool to compare two dose distributions with difference and gamma analysis
22+
- more tools for visualisation and data analysis in the tools folder
23+
- Possibility to define range shifter
24+
- Quality indicator & DVH display wrapper scripts
25+
- wrapper to allow 3D conformal planning using dij collapsing
26+
- new colormap handling to allow integration of custom colormaps
27+
- modularization of slice display by dedicated functions in plotting folder including generation of 3D views
28+
- New global configuration object (matRad_cfg <- MatRad_Config.m) to store default values and with logging interface
29+
- many bug fixes and many new bugs..
30+
Version 2.1 "Alan"
31+
First official relase of matRad including
32+
- new optimizer IPOPT for constrained optimization
33+
- validated ray tracing
34+
- validated pencil beam particle dose calcualtion
35+
- validated singular value decomposed pencil beam photon dose calculation
36+
- DICOM import including dose and particle pencil beam scanning plan objects
37+
- matRad standalone version
38+
- improved GUI workflow
39+
- many bug fixes and many new bugs...

IO/matRad_writeCube.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
% meta: meta-information in struct.
1313
% Necessary fieldnames are:
1414
% - resolution: [x y z]
15-
% - datatype: numeric MATLAB-Datatype
1615
% Optional:
1716
% - axisPermutation (matRad default [2 1 3])
1817
% - coordinateSystem (matRad default 'LPS')

IO/matRad_writeMHA.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ function matRad_writeMHA(filepath,cube,metadata)
7676
fprintf(fid, 'ElementType = %s\n',matlabTypeToMHAtype(metadata.datatype));
7777
fprintf(fid, 'ElementDataFile = LOCAL\n');
7878
fwrite(fid,cube,metadata.datatype,'b');
79+
fclose(fid);
7980

8081
end
8182

Jenkinsfile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
node {
2+
def osName
3+
stage('Set Environment') {
4+
echo 'Setting the environment..'
5+
checkout scm
6+
if (isUnix()) {
7+
def uname = sh script: 'uname', returnStdout: true
8+
if (uname.startsWith("Darwin")) {
9+
osName= "Macos"
10+
sh label: '', script: 'chmod +x ./submodules/MCsquare/MCsquare_mac'
11+
sh label: '', script: 'chmod +x runtests.sh'
12+
}
13+
else {
14+
osName= "Linux"
15+
sh label: '', script: 'chmod +x ./submodules/MCsquare/MCsquare_linux'
16+
sh label: '', script: 'chmod +x runtests.sh'
17+
}
18+
}
19+
else {
20+
osName= "Windows"
21+
}
22+
23+
}
24+
stage('Test with MATLAB')
25+
{
26+
echo 'Testing on MATLAB..'
27+
echo 'Make sure you can run matlab script from the command line'
28+
if (osName == "Windows") {
29+
bat label: '', script: 'matlab -noFigureWindow -nosplash -minimize -wait -r "cd unitTest; matRad_runTests"'
30+
}
31+
else {
32+
sh label: '', script: 'matlab -nodisplay -r "cd unitTest; matRad_runTests"'
33+
}
34+
}
35+
36+
stage('Test with Octave')
37+
{
38+
echo 'Testing on Octave..'
39+
if (osName == "Windows") {
40+
bat label: '', script: './runtests.sh octave-cli'
41+
}
42+
else {
43+
sh label: '', script: './runtests.sh octave-cli'
44+
}
45+
}
46+
47+
stage('Build') {
48+
echo 'Building....'
49+
if (osName == "Windows") {
50+
bat label: '', script: 'matlab -nodisplay -r "matRad_compileStandalone"'
51+
}
52+
else {
53+
sh label: '', script: 'matlab -nodisplay -r "matRad_compileStandalone"'
54+
}
55+
}
56+
stage('Archive') {
57+
echo 'Archiving....'
58+
archiveArtifacts artifacts: 'standalone/for_redistribution/matRad_installer*', onlyIfSuccessful: true
59+
}
60+
}

LICENSES.txt renamed to LICENSE.md

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
matRad Ipopt
1+
matRad
2+
with Ipopt MCsquare ompMC
23

3-
This is a compilation of matRad and Ipopt as separate and independent works (or
4+
This matRad as a compilation with Ipopt, MCsquare and ompMC as separate and independent works (or
45
modules, components, programs).
56

67
It is the intention of the copyright owners of matRad and Ipopt that matRad and Ipopt
@@ -35,7 +36,7 @@ http://e0404.github.io/matRad/;
3536
a wiki documentation is under constant development at
3637
https://github.com/e0404/matRad/wiki.
3738

38-
Copyright (C) 2015 by the contributors and German Cancer Research Center
39+
Copyright (C) 2020 by the contributors and German Cancer Research Center
3940

4041
This program is free software: you can redistribute it and/or modify
4142
it under the terms of the GNU General Public License as published by
@@ -57,8 +58,8 @@ Ipopt (or a modified version of that library), containing parts covered
5758
by the terms of Eclipse Public License, Version 1.0 (EPL-1.0), the licensors of this
5859
Program grant you additional permission to run, use and convey the resulting work.
5960

60-
Contact: Mark Bangert, E040 Research group Optimization Algorithms
61-
61+
Contact: Niklas Wahl, E040 Research Group Radiotherapy Optimization
62+
6263
address:
6364
Division of Medical Physics in Radiation Oncology
6465
German Cancer Research Center
@@ -976,4 +977,27 @@ Agreement will bring a legal action under this Agreement more than one year
976977
after the cause of action arose. Each party waives its rights to a jury trial
977978
in any resulting litigation.
978979

980+
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
981+
982+
ompMC
983+
984+
Information and source code of ompMC is available on https://github.com/edoerner/ompMC
985+
Precompiled binaries and reference data of ompMC are used within matRad.
986+
The source code itself is referenced as a git submodule. Contents of the ompMC subfolder
987+
and the submodule are licensed under GNU GPL v3.0 as stated in the respective LICENSE
988+
files located in these folders.
989+
990+
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
991+
992+
MCsquare
993+
994+
MCsquare is an open-source software developed/maintained at UC Louvain, Belgium.
995+
Information and source code of MCsquare is available on http://openmcsquare.org and
996+
https://https://gitlab.com/openmcsquare/MCsquare
997+
Precompiled binaries and reference data of MCsquare are used within and distributed with
998+
matRad.
999+
The source code itself is referenced as a git submodule. Contents of the MCsquare/bin
1000+
subfolder and the submodule are licensed under the Apache-2.0 license as stated in the
1001+
respective LICENSE files located in these folders.
1002+
9791003
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--UPenn beam model (double gaussian)--
2+
# Beam data library (IBA dedicated nozzle - P2)
3+
4+
Nozzle exit to Isocenter distance
5+
410.0
6+
7+
SMX to Isocenter distance
8+
2234.8
9+
10+
SMY to Isocenter distance
11+
1859.1
12+
13+
Beam parameters
14+
26 energies
15+
16+
NominalEnergy MeanEnergy EnergySpread ProtonsMU Weight1 SpotSize1x Divergence1x Correlation1x SpotSize1y Divergence1y Correlation1y Weight2 SpotSize2x Divergence2x Correlation2x SpotSize2y Divergence2y Correlation2y
17+
100.000 100.305 0.665290 86703300.0 0.948000 3.985307 0.006356 0.072822 5.586431 0.006545 -0.266240 0.052000 38.949745 0.045088 -0.125083 22.339186 0.036249 -0.222186
18+
105.000 105.422 0.666242 89871181.4 0.949500 3.833945 0.006042 0.073534 5.367650 0.006287 -0.274306 0.050500 36.982519 0.044140 -0.137515 21.012691 0.034217 -0.218228
19+
110.000 110.467 0.685850 93251731.2 0.951000 3.681490 0.005728 0.074736 5.147248 0.006029 -0.282458 0.049000 35.026632 0.043192 -0.151587 19.694115 0.032185 -0.214273
20+
115.000 115.556 0.625346 94578587.1 0.953000 3.497435 0.005755 0.069735 4.968569 0.005852 -0.285047 0.047000 33.523035 0.042600 -0.193003 19.076456 0.030397 -0.204120
21+
120.000 120.650 0.637829 98511877.6 0.954000 3.487801 0.005363 0.057775 4.776565 0.005600 -0.286595 0.046000 31.397749 0.044289 -0.195394 18.361173 0.029910 -0.209811
22+
125.000 125.579 0.653920 101505000.0 0.955000 3.406551 0.005222 0.037192 4.649421 0.005597 -0.303451 0.045000 29.864739 0.041281 -0.153880 17.440032 0.026862 -0.156490
23+
130.000 130.656 0.644983 105630000.0 0.956000 3.323215 0.005081 0.016711 4.523329 0.005595 -0.320989 0.044000 28.395821 0.038274 -0.109282 16.581150 0.023815 -0.097645
24+
135.000 135.571 0.621086 106742000.0 0.956750 3.305639 0.004969 -0.016027 4.232780 0.005284 -0.287037 0.043250 27.087089 0.042076 -0.208666 15.791805 0.025198 -0.163535
25+
140.000 140.496 0.636823 109872000.0 0.957500 3.284013 0.004857 -0.047616 3.949676 0.004974 -0.251242 0.042500 26.059423 0.045877 -0.313754 15.083101 0.026580 -0.235456
26+
145.000 145.404 0.610956 113008000.0 0.958250 3.180466 0.004679 -0.043499 3.912240 0.004771 -0.261328 0.041750 24.263559 0.042630 -0.296853 14.519874 0.025190 -0.215696
27+
150.000 150.559 0.626557 115140000.0 0.959000 3.077055 0.004502 -0.039148 3.871036 0.004567 -0.270952 0.041000 22.496600 0.039382 -0.278384 13.965773 0.023799 -0.194537
28+
155.000 155.445 0.589504 118316250.0 0.960000 2.977594 0.004522 -0.058541 3.754582 0.004511 -0.282809 0.040000 20.815900 0.037870 -0.314509 13.320911 0.023652 -0.218842
29+
160.000 160.429 0.600311 120487500.0 0.961000 2.879674 0.004542 -0.079435 3.638438 0.004455 -0.295247 0.039000 19.162852 0.036358 -0.355983 12.690601 0.023506 -0.245978
30+
165.000 165.530 0.584234 123677500.0 0.962000 2.755333 0.004306 -0.044188 3.537004 0.004338 -0.301278 0.038000 17.529102 0.031529 -0.281662 12.186412 0.021208 -0.196310
31+
170.000 170.502 0.569782 126875000.0 0.963000 2.635201 0.004070 -0.006930 3.435107 0.004220 -0.307402 0.037000 16.040880 0.026699 -0.192572 11.715631 0.018911 -0.141841
32+
175.000 175.464 0.550193 129063750.0 0.964000 2.529284 0.003964 0.009452 3.347097 0.004192 -0.316191 0.036000 15.150856 0.023970 -0.152680 11.338980 0.017710 -0.128027
33+
180.000 180.458 0.546055 132275000.0 0.965000 2.424619 0.003858 0.026109 3.259540 0.004164 -0.325502 0.035000 14.290621 0.021241 -0.107808 10.960669 0.016509 -0.112793
34+
185.000 185.393 0.526841 133456250.0 0.965250 2.344716 0.003829 0.018276 3.149883 0.003814 -0.299819 0.034750 13.833703 0.019720 -0.103672 10.651510 0.014879 -0.080749
35+
190.000 190.579 0.529259 136680000.0 0.965500 2.265417 0.003799 0.009508 3.042401 0.003464 -0.271910 0.034500 13.361031 0.018198 -0.097930 10.348118 0.013248 -0.046014
36+
195.000 195.562 0.470476 139060000.0 0.965750 2.179563 0.003720 0.018909 2.967881 0.003233 -0.269937 0.034250 12.920569 0.018366 -0.091326 10.136295 0.013213 -0.048919
37+
200.000 200.484 0.441133 141450000.0 0.966000 2.094484 0.003642 0.028193 2.891102 0.003001 -0.267050 0.034000 12.478472 0.018534 -0.085365 9.925279 0.013177 -0.052148
38+
205.000 205.420 0.420131 142822500.0 0.966250 1.990941 0.003639 0.064952 2.866584 0.002748 -0.264913 0.033750 11.160975 0.012439 0.362073 9.672448 0.010983 0.079347
39+
210.000 210.472 0.400878 145230000.0 0.966500 1.885162 0.003636 0.104236 2.838630 0.002494 -0.262297 0.033500 11.508698 0.006344 0.788183 9.573300 0.008789 0.213919
40+
215.000 215.436 0.344861 147766666.7 0.966750 1.846725 0.003638 0.232336 2.882585 0.002114 -0.194544 0.033250 11.127675 0.008806 0.602110 9.711900 0.009239 0.193964
41+
220.000 220.476 0.327202 150316666.7 0.967000 1.802803 0.003639 0.374296 2.939637 0.001735 -0.127838 0.033000 11.075270 0.011268 0.391640 9.854619 0.009689 0.174312
42+
225.000 225.217 0.268174 152880000.0 0.968000 2.024567 0.003920 0.449243 3.223547 0.002592 -0.246340 0.032000 11.631725 0.009600 0.565136 10.688153 0.009301 0.145048

0 commit comments

Comments
 (0)