Skip to content

Commit 0d7beb1

Browse files
committed
fix tests
1 parent a311bba commit 0d7beb1

File tree

1 file changed

+27
-38
lines changed

1 file changed

+27
-38
lines changed

test/doseCalc/test_Analytical.m

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66

77
function test_getAnalyticalEngineFromPln
88
% Single gaussian lateral model
9-
protonDummyPln = struct('radiationMode','protons','machine','Generic');
10-
protonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
11-
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(protonDummyPln);
9+
testData.pln = struct('radiationMode','protons','machine','Generic');
10+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
11+
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(testData.pln);
1212
assertTrue(isa(engine,'DoseEngines.matRad_ParticleAnalyticalBortfeldEngine'));
1313

1414
% Double Gaussian lateral model
1515
% If you don't have my clusterDose basedata you cannot try this :P
1616
%{
17-
protonDummyPln = struct('radiationMode','protons','machine','Generic_clusterDose');
18-
protonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
19-
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(protonDummyPln);
17+
testData.pln = struct('radiationMode','protons','machine','Generic_clusterDose');
18+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
19+
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(testData.pln);
2020
assertTrue(isa(engine,'DoseEngines.matRad_ParticleAnalyticalBortfeldEngine'));
2121
%}
2222

@@ -31,50 +31,39 @@
3131
end
3232

3333
function test_calcDoseAnalytical
34-
matRad_cfg = MatRad_Config.instance();
35-
36-
protonDummyPln = struct('radiationMode','protons','machine','Generic');
37-
protonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
38-
39-
load([protonDummyPln.radiationMode '_' protonDummyPln.machine]);
40-
41-
load BOXPHANTOM.mat
42-
43-
stf = matRad_generateStf(ct, cst, protonDummyPln);
44-
45-
resultGUI = matRad_calcDoseForward(ct, cst, stf, protonDummyPln, ones([1, stf(:).totalNumOfBixels]));
34+
testData = load('protons_testData.mat');
35+
assertTrue(DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.isAvailable(testData.pln))
36+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
37+
resultGUI = matRad_calcDoseForward(testData.ct, testData.cst, testData.stf, testData.pln, ones(sum([testData.stf(:).totalNumOfBixels]),1));
4638

4739
assertTrue(isfield(resultGUI, 'physicalDose'));
4840
assertTrue(isfield(resultGUI, 'w'));
49-
assertTrue(isequal(size(ct.cube{1}), size(resultGUI.physicalDose)))
41+
assertTrue(isequal(testData.ct.cubeDim, size(resultGUI.physicalDose)));
5042

5143
function test_nonSupportedSettings
5244
% Radiation mode other than protons not implemented
53-
carbonDummyPln = struct('radiationMode','carbon','machine','Generic');
54-
carbonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
55-
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(carbonDummyPln);
56-
assertTrue(~isa(engine,'DoseEngines.matRad_ParticleAnalyticalBortfeldEngine'));
57-
45+
testData = load('carbon_testData.mat');
46+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
47+
assertFalse(DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.isAvailable(testData.pln));
48+
5849
% Biological models, LET, other lateral models not implemented
59-
protonDummyPln = struct('radiationMode','protons','machine','Generic');
60-
protonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
61-
protonDummyPln.propDoseCalc.calcLET = true;
62-
protonDummyPln.propDoseCalc.calcBioDose = true;
63-
protonDummyPln.propDoseCalc.lateralModel = 'double';
64-
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(protonDummyPln);
50+
testData = load('protons_testData.mat');
51+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
52+
testData.pln.propDoseCalc.calcLET = true;
53+
testData.pln.propDoseCalc.calcBioDose = true;
54+
testData.pln.propDoseCalc.lateralModel = 'double';
55+
engine = DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.getEngineFromPln(testData.pln);
6556
assertTrue(isa(engine,'DoseEngines.matRad_ParticleAnalyticalBortfeldEngine'));
66-
load BOXPHANTOM.mat
67-
stf = matRad_generateStf(ct, cst, protonDummyPln);
68-
resultGUI = matRad_calcDoseForward(ct, cst, stf, protonDummyPln, ones([1, stf(:).totalNumOfBixels]));
57+
58+
resultGUI = matRad_calcDoseForward(testData.ct, testData.cst, testData.stf, testData.pln, ones(sum([testData.stf(:).totalNumOfBixels]),1));
6959
assertTrue(~engine.calcLET)
7060
%assertTrue(~engine.calcBioDose) % Access protected property
7161

7262
% Invalid machine without radiation mode field
73-
matRad_cfg = MatRad_Config.instance();
74-
protonDummyPln = struct('radiationMode','protons','machine','Empty');
75-
protonDummyPln.propDoseCalc.engine = 'AnalyticalPB';
76-
machine = [];
77-
assertExceptionThrown(@() DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.isAvailable(protonDummyPln, machine));
63+
testData.pln.machine = 'Empty';
64+
testData.pln.propDoseCalc.engine = 'AnalyticalPB';
65+
assertExceptionThrown(@() DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.isAvailable(testData.pln));
66+
assertFalse(DoseEngines.matRad_ParticleAnalyticalBortfeldEngine.isAvailable(testData.pln,[]));
7867

7968

8069

0 commit comments

Comments
 (0)