Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Importerfix #791

Closed
wants to merge 1,879 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1879 commits
Select commit Hold shift + click to select a range
7a95346
add external contour type to optimization widget
wahln Jul 31, 2024
10d9738
soem GUI fixes for octave isprop compatibility and to honor colorscheme
wahln Jul 31, 2024
cf387b4
some GUI fixes, introduction of highlightColor
wahln Jul 31, 2024
0a9db12
test iteration
Gattowski Jul 31, 2024
9cc6b69
fix for matRad InfoWidget
wahln Aug 1, 2024
65a46cf
cosmetic update for InfoWidget
wahln Aug 1, 2024
1f9922a
cosmetic changes for octave compatibility in InfoWidget
wahln Aug 1, 2024
89a0241
Better management of Main GUI close requests
wahln Aug 1, 2024
ff74545
Some cosmetic changes to the Optimization Plot Function for IPOPT
wahln Aug 1, 2024
6ad1132
Avoid a warning on main gui deletion
wahln Aug 1, 2024
f0d0672
Merge branch 'e0404:dev' into dev
SimonaFa Aug 1, 2024
d963b10
Update to scenario output after forward dose calculation and optimiza…
wahln Aug 2, 2024
a2f6229
Change output in Simulated Annealing Optimizer
wahln Aug 2, 2024
8799421
Update to also plot scenarios in planAnalysis
wahln Aug 2, 2024
125dadc
always compute scenarios after optimization
wahln Aug 2, 2024
2dc206f
further changes to plotting to enable scenario dvhs
wahln Aug 2, 2024
74f0723
improved theming
wahln Aug 2, 2024
ff71400
fix dvh in compare dose
wahln Aug 2, 2024
71ce59a
fix missing files for dialog and waitbar theming
wahln Aug 5, 2024
2b499df
fix license file reference
wahln Aug 5, 2024
dfda1a2
update standalone build
wahln Aug 6, 2024
e5ade96
some more options for the standalone build
wahln Aug 6, 2024
176509b
bugfix
amitantony Aug 6, 2024
8a12710
update to docker build
wahln Aug 7, 2024
fe4303f
Merge pull request #751 from amitantony/dev_varRBErobOpt_worldCoord
wahln Aug 7, 2024
226fe5b
small fix to default axes calculation to honor xy permutation
wahln Aug 8, 2024
34a9dad
more consistent handling of new coordinate transformations
wahln Aug 8, 2024
b5071be
Merge branch 'dev_varRBErobOpt' into dev
wahln Aug 9, 2024
9a1bab2
update test data to reflect new isocenter coordinate rule
wahln Aug 9, 2024
389456c
fix some GUI bugs
wahln Aug 9, 2024
0a0a7be
LOGO update
wahln Aug 9, 2024
02dccd1
ignore Matlab's asv files
wahln Aug 9, 2024
4e1cf49
ignore default build folder
wahln Aug 9, 2024
7f55928
match logo widget standalone size
wahln Aug 9, 2024
113c577
Submodule Update for testing with MOxUnit and MOcov, writing result t…
wahln Aug 12, 2024
095b1b3
disable plot functions in other optimizers when GUI is disabled (cons…
wahln Aug 12, 2024
36a6d7c
small output fix
wahln Aug 12, 2024
a4881e8
fix for GUI behavior when displaying / switching dose cubes
wahln Aug 14, 2024
63c2e00
GUI polishing, replacing ct scen selection with slider
wahln Aug 14, 2024
0ded48e
introducing dark and light theme
wahln Aug 14, 2024
2e827be
honor log level for ipopt in emittance base data
wahln Aug 14, 2024
23fd494
add result record and json option to standalone build
wahln Aug 14, 2024
6e4da13
log level fix
wahln Aug 14, 2024
01b0d9d
fix and cleanup for slice slider in VisualizationWidget (remove these…
wahln Aug 15, 2024
91a2cf0
Typo fix
remocristoforetti Aug 22, 2024
3e93708
Merge pull request #757 from remocristoforetti/dev_bugFix
wahln Aug 22, 2024
1e107b3
Update matRad_PhotonPencilBeamSVDEngine.m
wahln Aug 23, 2024
96291ae
Merge branch 'e0404:dev' into dev
SimonaFa Aug 27, 2024
8ab2ea8
add new light and dark theme
wahln Aug 27, 2024
7d987e9
add theme credit
wahln Aug 27, 2024
3c001fb
adapt naming and credit of light theme
wahln Aug 27, 2024
a69c991
some safeguards when GUI is disabled
wahln Aug 27, 2024
f979ef4
Merge branch 'feature/theming' into dev
wahln Aug 27, 2024
dfc4d87
theme tests
wahln Aug 27, 2024
0f2c94b
Refactor of the dicom import to object oriented structure
Raedlr Aug 28, 2024
417d967
Small bug fixes to Plan Widget and stf checker
Raedlr Aug 28, 2024
be6a1fa
Added name to authors list
Raedlr Aug 28, 2024
2cbd7b1
fixed small bag
Raedlr Aug 28, 2024
6e21412
generalizing the subclass detection mechanism
wahln Aug 28, 2024
7d62537
better detection of exisiting scenario models
wahln Aug 28, 2024
0675193
Change scenario model availability in plan widget and add ct grid usa…
wahln Aug 28, 2024
d151838
Infrastructure for more flexible scenario model creation from string …
wahln Aug 28, 2024
56909b6
fix tests
wahln Aug 29, 2024
9b5de6a
fix subclass detection when folder is empty
wahln Aug 29, 2024
e87c36e
imrpoved fix for subclass detection in empty folders
wahln Aug 29, 2024
3638d5d
Indend reformatting in matRad_findSubclasses
wahln Aug 29, 2024
9ac5c72
Error if no models can be found
wahln Aug 29, 2024
18ebd1a
all gens are working, matRad stf script implemented
Gattowski Aug 29, 2024
b6ea58d
fix usage of pathsep as generalized path separator
wahln Aug 29, 2024
97a5ce5
honor loglevel in MCsquare engine
wahln Aug 29, 2024
e886f86
Merge branch 'dev_varRBErobOpt' into dev
Gattowski Aug 29, 2024
7650478
octave compatibility fixes
wahln Aug 29, 2024
9a59426
Merge branch 'e0404:dev' into dev
SimonaFa Aug 30, 2024
48529dc
remove strjoin from TOPAS engine
remocristoforetti Aug 30, 2024
ee8eb5c
Delete examples/matRad_example5_protons.asv
Gattowski Aug 30, 2024
6c0e129
Delete matRad/StfGen/matRad_externalStfGenerator.asv
Gattowski Aug 30, 2024
efb7537
Delete matRad/StfGen/matRad_ionStfGenerator.asv
Gattowski Aug 30, 2024
2549866
Merge branch 'dev' into dev
Gattowski Aug 30, 2024
625ef8c
fix scenario test
wahln Aug 30, 2024
a9b5190
replaced the previous name of the script with matRad_generateStf and …
Gattowski Aug 30, 2024
1164888
Update matRad_MonteCarloEngineAbstract.m
SimonaFa Aug 30, 2024
837d7a5
photon and ion gen still showing different result than before weird...
Gattowski Aug 30, 2024
531460c
Merge branch 'e0404:dev' into dev
SimonaFa Aug 30, 2024
c0043a6
Fixed bug with resolution
Raedlr Aug 30, 2024
35f3b2a
Delete test_particleAnalyticalBortfeldEngine.m
SimonaFa Aug 30, 2024
92b9c25
Merge branch 'dev' of https://github.com/SimonaFa/matRad into dev
SimonaFa Aug 30, 2024
e9835d3
added warning: range scnearios are not implemented in MC simulations
JenHardt Aug 30, 2024
aeb87a6
Update AUTHORS.txt
SimonaFa Aug 30, 2024
647ce01
Merge branch 'dev' into dev_topasBugFix_strjoin
wahln Aug 30, 2024
2370d90
Merge pull request #761 from remocristoforetti/dev_topasBugFix_strjoin
wahln Aug 30, 2024
1996fff
Merge branch 'dev' into dev
wahln Aug 30, 2024
321ca7c
Merge pull request #764 from JenHardt/dev
wahln Sep 1, 2024
4c03a79
Merge branch 'e0404:dev' into dev
SimonaFa Sep 2, 2024
07801c9
bug fix for : Viewing widget doing a full update (skips to isocenter)…
amitantony Sep 2, 2024
6fd25cb
fix single bixel stf generation for multiple beams
wahln Sep 2, 2024
a443fe4
Apply weight normalization in engine itself
wahln Sep 2, 2024
27129dd
Clean format of the MCsquare engine
wahln Sep 2, 2024
022f8be
Refactored all MC engines to use weight normalization, so specific ca…
wahln Sep 2, 2024
6adf377
fix missing if check on shape calculation to DoseEngineBase
wahln Sep 2, 2024
b25659d
Merge pull request #762 from SimonaFa/dev
wahln Sep 2, 2024
c37cdc3
new event called cst_param
amitantony Sep 2, 2024
d545170
Added the possibility of selecting patients and structures within a s…
Raedlr Sep 4, 2024
aee6991
A small upgrade for the scan function, adding new parameters that can…
Raedlr Sep 4, 2024
c1bcee4
current fix
amitantony Sep 4, 2024
c5b44ad
some changes in the description of matRad_DicomImporter funktions
Raedlr Sep 4, 2024
5dcd737
scan renamed to scanFolder
Raedlr Sep 4, 2024
182194b
renamed field in stf 'radiationMode' to 'matchRadiationMode'
Raedlr Sep 4, 2024
997b4ce
numerical issues and allowing to obtain outside indices in coordinate…
wahln Sep 5, 2024
7d488ec
Renaming and fix of the StfGeneratorBase
wahln Sep 6, 2024
688aa46
initial fix of Brachytherapy stf generator
wahln Sep 6, 2024
ec7f56f
Fixing the color of the DVH title
amitantony Sep 6, 2024
2d5bdfc
matRad_importDicomParticles was adapted, but I would check it with mo…
Raedlr Sep 6, 2024
49906a7
update to stf generators to unify structure (getting rid of pln refer…
wahln Sep 9, 2024
833caed
some color and octave compatibility fixes
wahln Sep 9, 2024
3bd4c22
fix order and nesting of overriden functions
wahln Sep 9, 2024
85941eb
fixes consistency problem between numOfBixelsPerRay and actual bixels…
wahln Sep 9, 2024
83697cd
Merge pull request #766 from amitantony/dev_ContourFix
wahln Sep 9, 2024
25b7d01
Merge branch 'dev' of github.com:e0404/matRad into dev
wahln Sep 9, 2024
f78fe37
Theme selection given OS configuration
wahln Sep 10, 2024
dd6666c
Renaming, restructuring, documentation
wahln Sep 11, 2024
87faa5e
Small fix to scenario model printing
wahln Sep 11, 2024
5a73aa6
Update to positioning of the Quality Indicator Table
wahln Sep 11, 2024
182519e
Merge branch 'dev' into pr/763
wahln Sep 11, 2024
5bbd607
Scan funktion was adapted for the case whenthe file contains slices w…
Raedlr Sep 12, 2024
93a4bd8
Merge branch 'dev' of github.com:e0404/matRad into dev
wahln Sep 13, 2024
bf58fd6
Merge branch 'dev' of https://github.com/e0404/matRad into dev
wahln Sep 13, 2024
d533b45
Add an option to deactive the check for valid values in the photon bi…
wahln Sep 16, 2024
858b059
some mising value checks in PlanWidget fixed
wahln Sep 16, 2024
5d274ea
Fix pln usage in compareDose when optional pln is not provided
wahln Sep 16, 2024
11d222b
fix to allow bixelWidth set as field in pln stf validation
wahln Sep 16, 2024
e854d08
design adaptation of compare Dose and slice wrapper functions
wahln Sep 16, 2024
90c9934
adjust atuomatic max dose window for display by small numerical bump …
wahln Sep 16, 2024
ba49be4
fix profile plot, screenshot functionality and pln stf comparison
wahln Sep 16, 2024
1404016
Merge branch 'dev' of https://github.com/e0404/matRad into dev
wahln Sep 20, 2024
784d678
Availability functions for Stf Generation
wahln Sep 25, 2024
ec357a8
fix calls to generateStf in examples and test
wahln Sep 25, 2024
93bfb2e
fix required machine and radiationMode in pln struct
wahln Sep 25, 2024
a7f0fed
fix precomputation of available energies in IMPT stf generator
wahln Sep 25, 2024
d684838
fix conversion to rSP / rED cube in stf generator
wahln Sep 25, 2024
6907d12
fix example 5 to return stf
wahln Sep 25, 2024
eb70081
fix helium machine
wahln Sep 25, 2024
70327d5
Further cleanup, renaming and modularization
wahln Sep 25, 2024
033a379
fix example 2
wahln Sep 25, 2024
096d240
Additional layer of abstraction, add Single Photon Beamlet Generator
wahln Sep 25, 2024
0d77d0a
Added abstraction layer for particle stf generation
wahln Sep 25, 2024
d91593f
small fix in single photon beamlet stf generator
wahln Sep 25, 2024
5eef4ca
draft of single particle beamlet generator
wahln Sep 25, 2024
6f06460
fix brachytherapy stf generator calls
wahln Sep 25, 2024
2fa160a
add data initialization function to stf generators
wahln Sep 25, 2024
2625c27
rename patieng geometry setup in stf generators
wahln Sep 25, 2024
874b2aa
fix Particle Stf Generator
wahln Sep 25, 2024
d8c5b05
change shortnames of generators
wahln Sep 25, 2024
c60cf57
deprecate matRad_generateSingleBixelStf
wahln Sep 25, 2024
4a6a50f
Update Example to use new stf generator formalism
wahln Sep 25, 2024
62599e6
fix brachy example
wahln Sep 25, 2024
83b4a69
fix water equivalent cube computation and some initialization
wahln Sep 25, 2024
05a56c8
make sure scenario model is created / validated
wahln Sep 25, 2024
b331aa3
fix missing Abstract Keyword in Stf Generator Base Classes
wahln Sep 25, 2024
9821c82
fix PlotFcn in Optimizer for R2024b compatibility
wahln Sep 25, 2024
62fde50
Merge branch 'dev' into dev
wahln Sep 25, 2024
8171104
Merge branch 'dev' of github.com:e0404/matRad into dev
wahln Sep 25, 2024
6e716bb
Merge branch 'dev' into dev
wahln Sep 25, 2024
9f11e2f
fix default names
wahln Sep 26, 2024
d0da1be
basic stf generator test, reorganize brachy stf generator test
wahln Sep 26, 2024
8da05f2
test photon single bixel stf generator
wahln Sep 26, 2024
0518651
finalize single bixel stf generator tests and apply appropriate fix t…
wahln Sep 26, 2024
96b5ac7
test Availability functions and fix corresponding issues
wahln Sep 26, 2024
8f56024
Merge branch 'dev' of https://github.com/e0404/matRad into dev
wahln Sep 26, 2024
ecd3f9c
photon IMRT stf generator tests
wahln Sep 26, 2024
e2f5153
particle stf generator tests
wahln Sep 26, 2024
c88a08c
change naming scheme
wahln Sep 26, 2024
df8a38d
adapt test_generateStf
wahln Sep 26, 2024
fba6f41
Merge pull request #763 from Gattowski/dev
wahln Sep 26, 2024
ff893ac
generate body contour (#768)
amitantony Sep 26, 2024
baae3f7
Merge branch 'dev' of https://github.com/e0404/matRad into dev
wahln Sep 26, 2024
3b58857
fix spelling mistake
wahln Sep 26, 2024
99bff69
fixed bug
Raedlr Oct 2, 2024
0256b01
some changes in comparePlnStf
Raedlr Oct 2, 2024
142b82a
correction
Raedlr Oct 2, 2024
414a26d
smal GUI fix regarding default machine when selecting new radiation m…
wahln Oct 2, 2024
c948a73
radiationMode renamed back
Raedlr Oct 2, 2024
4ae1815
added test funktion for matRad_DicomImporter constructor
Raedlr Oct 2, 2024
97df3ff
Cutoff method and Analytical Engine test
SimonaFa Oct 2, 2024
d404f4e
Merge branch 'e0404:dev' into dev
SimonaFa Oct 2, 2024
806a94a
removed unnecessary lines and added check for field presence 'bixelWi…
Raedlr Oct 2, 2024
fe02bb8
Merge branch 'dev' of https://github.com/e0404/matRad into refactor/d…
Raedlr Oct 2, 2024
66825be
* added helper function to use temporary directory
wahln Oct 2, 2024
f616715
add actual export test
wahln Oct 2, 2024
2a3c895
use temporary folder helper for example tests
wahln Oct 2, 2024
1e454c6
Analytical engine small modification
SimonaFa Oct 4, 2024
1ec96af
Merge branch 'dev' of https://github.com/SimonaFa/matRad into dev
SimonaFa Oct 4, 2024
a311bba
small improvement of code readability and quality
wahln Oct 4, 2024
0d7beb1
fix tests
wahln Oct 4, 2024
215a84b
Merge pull request #775 from SimonaFa/dev
wahln Oct 4, 2024
cf2612a
small bug fix for calulation with multiple latteral gaussian
JenHardt Oct 8, 2024
814eb43
Merge pull request #776 from JenHardt/dev
wahln Oct 8, 2024
1dfb220
enforcing dicom standard of storing slice thickness as string
amitantony Oct 8, 2024
c425155
Update matRad_scanDicomImportFolder.m
amitantony Oct 8, 2024
1705db5
Update matRad_scanDicomImportFolder.m
amitantony Oct 9, 2024
d56ac92
Update matRad_scanDicomImportFolder.m
amitantony Oct 9, 2024
9e8c918
small quality of life changes:
wahln Oct 9, 2024
4ecde64
respect waitbar settings and loglevels in dicom import
wahln Oct 9, 2024
f89d141
fix in DICOM exporter to pass tests
wahln Oct 9, 2024
0d9f177
disable octave asking for deletion of temporary test directory
wahln Oct 9, 2024
97fdc68
Merge branch 'dev' into refactor/dicomImporter
wahln Oct 9, 2024
5d6be04
Merge pull request #758 from Raedlr/refactor/dicomImporter
wahln Oct 9, 2024
f872e9f
add two tests for badly covered plotting functions
wahln Oct 9, 2024
e5086cd
apply correction from dose calcualtion for more accurate WEPL calcula…
wahln Oct 9, 2024
5624fb8
gcp in try catch block in matRad_sampling
wahln Oct 9, 2024
cabd8ee
extend photons test data with a dij and a resultGUI
wahln Oct 9, 2024
d06b4fc
fix siochi leaf sequencing
wahln Oct 9, 2024
2eb90a6
sequencing tests
wahln Oct 9, 2024
5998f98
fix small typo in impt stf
wahln Oct 9, 2024
ac38d23
adapt test data
wahln Oct 9, 2024
ec64bb8
clean test code
wahln Oct 9, 2024
c0c6028
clean io tests to use helper function for temporary directory
wahln Oct 9, 2024
b5ca585
fix empty masks in isosurface when smoothed too much
wahln Oct 9, 2024
7e64942
remove deprecated generateStfSinglePencilBeam function
wahln Oct 9, 2024
f87e333
remove duplicate progress function
wahln Oct 9, 2024
334a4ca
tests for dose objectives
amitantony Oct 10, 2024
07cf6d9
tests for dose constraints
amitantony Oct 11, 2024
a75ace1
file was in the wrong folder
amitantony Oct 11, 2024
d95d480
Merge pull request #779 from amitantony/dev_ObjTest
amitantony Oct 11, 2024
9b2f413
test cleanup (NaN instead of nan)
wahln Oct 11, 2024
a1df21c
avoid use of mean function due to behavior in Octaves nan package.
wahln Oct 12, 2024
eba1075
Cutoff method
SimonaFa Oct 14, 2024
205cfac
Merge pull request #781 from SimonaFa/dev
wahln Oct 15, 2024
c7ed55a
Merge branch 'dev' of https://github.com/e0404/matRad into dev
wahln Oct 15, 2024
0c84c04
Merge pull request #782 from wahln/dev
wahln Oct 15, 2024
7287144
access change for MainGUI widgets so their properties can be read
wahln Oct 15, 2024
3d98409
class based biological models (#756)
remocristoforetti Oct 16, 2024
c468f8e
stricter acceptable coverage in coverage report
wahln Oct 16, 2024
1befbb5
update CITACTION.cff file
wahln Oct 17, 2024
b2590d6
Small bug fixes for plot visualization and gui (#784)
remocristoforetti Oct 17, 2024
c0e856e
fix on datacursor indices
wahln Oct 17, 2024
3c1af0a
upload coverage to codecov
wahln Oct 17, 2024
6e57e1d
add codecov configuration yml and add badge to README
wahln Oct 17, 2024
5592fed
Update PR template for releases
wahln Oct 17, 2024
624b568
constrained efect optimization, jacobian bug fix in sqrtBetaDose
remocristoforetti Nov 6, 2024
e4ab494
Merge pull request #786 from remocristoforetti/dev_constrainedEffectJ…
wahln Nov 7, 2024
f45b593
some smal scroll fix in GUI
wahln Nov 7, 2024
18380b4
Dev rc/v3 bug fix (#785)
remocristoforetti Nov 8, 2024
1583b38
small typo fixed in Fmincon Optimizer Interface
wahln Nov 8, 2024
2f440f6
Merge branch 'rc/v3' of github.com:e0404/matRad into rc/v3
wahln Nov 8, 2024
e5dfb20
Update matRad_importDicomRTPlan.m
Raedlr Nov 8, 2024
88301f4
fix missing axisPermutation due to elseif in writers
wahln Nov 8, 2024
45d2767
Update matRad_importDicomCt.m
Raedlr Nov 8, 2024
de1e08c
Merge branch 'rc/v3' of https://github.com/e0404/matRad into rc/v3
Raedlr Nov 8, 2024
ff57b7d
Update matRad_importDicomRTPlan.m
Raedlr Nov 8, 2024
89886dd
Fixed logical operation
Raedlr Nov 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ Version of new Release and Type (new major release, minor release, patch release

### Release Checklist

- [ ] Version number changed in matRad_getVersion
- [ ] Adapted Changelog.txt
- [ ] Adapted Changelog.md
- [ ] All required mex files compiled
- [ ] Third Party libraries / scripts up to date
- [ ] Standalone(s) generated and tested
- [ ] Wiki adapted
- [ ] Optional changes to README.md
- [ ] Check license information
- [ ] Version number changed in matRad_getVersion

### References
Any references regarding new functionality etc.
Expand Down
42 changes: 42 additions & 0 deletions .github/actions/test-matlab/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: 'Matlab Test'
author: 'e0404'
description: 'Runs a Matlab Test for a given version'

inputs:
matlab-version:
description: Matlab Version, e.g. R2022b
required: true

runs:
using: 'composite'
steps:
# Install MATLAB
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
with:
release: ${{ inputs.matlab-version }}
products: Image_Processing_Toolbox Parallel_Computing_Toolbox Optimization_Toolbox

# Runs test command
- name: Run Tests
uses: matlab-actions/run-command@v2
with:
command: matRad_runTests('test',true);

- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-matlab-${{ inputs.matlab-version }}
path: |
testresults.xml
coverage.xml
coverage.json


- name: Publish Test Results
uses: test-summary/action@v2
if: success() || failure()
with:
paths: testresults.xml
# check_name: "${{ github.job }}"
39 changes: 39 additions & 0 deletions .github/actions/test-octave/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: 'Octave Test'
author: 'e0404'
description: 'Runs an Octave test. Uses the version in the respective Ubuntu-OS'

runs:
using: 'composite'
steps:
- name: Install OCTAVE
shell: bash
run: |
sudo apt update
sudo apt-get install -y gdb gfortran fonts-freefont-otf gnuplot-x11 libgdcm-dev octave liboctave-dev
- name: Prepare Test Environment
shell: bash
run: |
sudo chmod +x .github/before_install_linux.sh
sudo .github/before_install_linux.sh
- name: Run Tests
shell: bash
run: xvfb-run -a .github/runtests.sh octave-cli
# uses: GabrielBB/xvfb-action@v1 #For Headless tests
# with:
# run: .github/runtests.sh octave-cli
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-octave
path: testresults.xml

- name: Publish Test Results
# uses: EnricoMi/publish-unit-test-result-action@v2
uses: test-summary/action@v2
if: success() || failure()
with:
# files: |
# testresults.xml
paths: testresults.xml
# check_name: "${{ github.job }}"
5 changes: 3 additions & 2 deletions .github/before_install_linux.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#!/usr/bin/env bash

sudo chmod +x .github/runtests.sh
sudo chmod +x MCsquare/bin/MCsquare_linux
sudo chmod +x thirdParty/MCsquare/bin/MCsquare_linux

mv optimization/optimizer/ipopt.m optimization/optimizer/ipopt.m.bak
mv matRad/optimization/optimizer/ipopt.m optimization/optimizer/ipopt.m.bak

octave --no-gui --eval "pkg install -forge dicom"
octave --no-gui --eval "pkg install -forge nan"
octave --no-gui --eval "pkg install -forge image"
2 changes: 2 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
coverage:
range: 50...75
2 changes: 1 addition & 1 deletion .github/runtests.bat
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ set CONTINUOUS_INTEGRATION=true
set CI=true

REM Actually run the test suite
cd unitTest
cd test
set TESTDIR="%cd%"
REM also CD in MATLAB/Octave to make sure that startup files
REM cannot play any role in setting the path
Expand Down
5 changes: 1 addition & 4 deletions .github/runtests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,8 @@ export CONTINUOUS_INTEGRATION=true
export CI=true

## Actually run the test suite
cd unitTest
TESTDIR=`pwd`
# also CD in MATLAB/Octave to make sure that startup files
# cannot play any role in setting the path
${Runner} ${Switches} "cd('${TESTDIR}'); matRad_runTests" > ../runtests.log #2> ../runtests.err put stdout to log, but let it print error messages
${Runner} ${Switches} "matRad_runTests('test');" > ../runtests.log #2> ../runtests.err put stdout to log, but let it print error messages
exitIfError $?
cd ..

66 changes: 66 additions & 0 deletions .github/workflows/coverage-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Coverage Report

permissions:
checks: write
pull-requests: write
actions: read
contents: read


on:
workflow_call:

jobs:
coverage_report:
runs-on: ubuntu-latest

steps:

- name: Download Coverage Artifact
uses: actions/download-artifact@v4
with:
name: test-results-matlab-R2022b
path: coverage

- name: Upload to Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
file: coverage/coverage.json
format: coveralls

- name: Upload to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: coverage/coverage.xml
fail_ci_if_error: false

- name: Publish Coverage Report
uses: irongut/[email protected]
with:
filename: coverage/coverage.xml
badge: true
fail_below_min: false
format: markdown
hide_branch_rate: true
hide_complexity: true
indicators: true
output: both
thresholds: '50 70'

- name: Attach Job Summary
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const markdownContent = fs.readFileSync('code-coverage-results.md', 'utf8');
core.summary.addRaw(markdownContent);
core.summary.write();

- name: Add Coverage PR Comment
uses: marocchino/sticky-pull-request-comment@v2
if: github.event_name == 'pull_request'
with:
recreate: true
path: code-coverage-results.md
40 changes: 40 additions & 0 deletions .github/workflows/test-results.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Test Report

permissions:
checks: write
pull-requests: write

on:
workflow_call:

jobs:
test_report:
runs-on: ubuntu-latest

steps:

- name: Download Results for Matlab R2022b
uses: actions/download-artifact@v4
with:
name: test-results-matlab-R2022b
path: test-results/matlab-R2022b

- name: Download Results for Matlab Latest
uses: actions/download-artifact@v4
with:
name: test-results-matlab-latest
path: test-results/matlab-latest

- name: Download Results for Octave
uses: actions/download-artifact@v4
with:
name: test-results-octave
path: test-results/octave

- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: |
test-results/*/testresults.xml


71 changes: 33 additions & 38 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,57 +1,52 @@
# This is a basic workflow to help you get started with Actions
name: Tests

permissions:
checks: write
pull-requests: write
actions: read
contents: read

# Controls when the action will run.
on: [push, pull_request, workflow_dispatch]
jobs:
test-matlab-stable: #Matlab test Job for supported Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # Checks-out repository under $GITHUB_WORKSPACE
# Install MATLAB
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v1
- uses: actions/checkout@v4 # Checks-out repository under $GITHUB_WORKSPACE
with:
release: R2022b
# Runs test command
- name: Run Tests
uses: matlab-actions/run-command@v1
submodules: 'true'
- name: Run Test
uses: ./.github/actions/test-matlab
with:
command: cd unitTest; matRad_runTests
matlab-version: R2022b

test-matlab-latest: #Matlab test Job for latest Matlab release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # Checks-out repository under $GITHUB_WORKSPACE
# Install MATLAB
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v1
- uses: actions/checkout@v4 # Checks-out repository under $GITHUB_WORKSPACE
with:
release: latest
# Runs test command
- name: Run Tests
uses: matlab-actions/run-command@v1
submodules: 'true'
- uses: ./.github/actions/test-matlab
with:
command: cd unitTest; matRad_runTests
matlab-version: latest

test-octave-6: #Octave test Job
runs-on: ubuntu-22.04 # We use Ubuntu-22.04 because it has Octave 6.4
steps:
- uses: actions/checkout@v3 # Checks-out repository under $GITHUB_WORKSPACE
- name: Install OCTAVE
run: |
sudo apt update
sudo apt-get install -y gdb gfortran fonts-freefont-otf gnuplot-x11 libgdcm-dev octave liboctave-dev
- name: Prepare Test Environment
run: |
sudo chmod +x .github/before_install_linux.sh
sudo .github/before_install_linux.sh
- name: Run Tests
run: xvfb-run -a .github/runtests.sh octave-cli
# uses: GabrielBB/xvfb-action@v1 #For Headless tests
# with:
# run: .github/runtests.sh octave-cli
- name: Upload logs if test fails
uses: actions/upload-artifact@v3
if: failure()
- uses: actions/checkout@v4 # Checks-out repository under $GITHUB_WORKSPACE
with:
name: Test Log
path: runtests.log

submodules: 'true'
- uses: ./.github/actions/test-octave

test-report:
name: Collect Test Results
needs: [test-matlab-stable, test-matlab-latest, test-octave-6]
uses: ./.github/workflows/test-results.yml
secrets: inherit

coverage-report:
name: Collect Coverage Report
needs: [test-matlab-stable]
uses: ./.github/workflows/coverage-report.yml
secrets: inherit
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
MCsquare/bin/Materials/
thirdParty/MCsquare/bin/Materials/
userdata/*
testresults.xml
coverage.xml
coverage.json
*.asv
build/
16 changes: 16 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,23 @@
[submodule "submodules/matlab2tikz"]
path = submodules/matlab2tikz
url = https://github.com/e0404/matlab2tikz.git
branch = dev
[submodule "submodules/latexTable"]
path = submodules/latexTable
url = https://github.com/e0404/latexTable.git
branch = dev
[submodule "submodules/MCsquare"]
path = submodules/MCsquare
url = https://github.com/e0404/MCsquare.git
[submodule "submodules/ompMC"]
path = submodules/ompMC
url = https://github.com/e0404/ompMC
branch = dev_parallel
[submodule "submodules/MOxUnit"]
path = submodules/MOxUnit
url = https://github.com/e0404/MOxUnit
branch = matRad
[submodule "submodules/MOcov"]
path = submodules/MOcov
url = https://github.com/e0404/MOcov
branch = matRad
Loading
Loading