Skip to content

Commit 2eb90a6

Browse files
committed
sequencing tests
1 parent d06b4fc commit 2eb90a6

File tree

3 files changed

+239
-0
lines changed

3 files changed

+239
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
function test_suite = test_engelLeafSequencing
2+
%The output should always be test_suite, and the function name the same as
3+
%your file name
4+
5+
%To collect all tests defined below, this is needed in newer Matlab
6+
%versions. test_functions will collect function handles to below test
7+
%functions
8+
test_functions=localfunctions();
9+
10+
% This will initialize the test suite, i.e., take the functions from
11+
% test_functions, check if they contain "test", convert them into a MOxUnit
12+
% Test Case, and add them to the test-runner
13+
initTestSuite;
14+
15+
function [resultGUI,stf,dij] = helper_getTestData()
16+
p = load('photons_testData.mat');
17+
resultGUI = p.resultGUI;
18+
stf = p.stf;
19+
dij = p.dij;
20+
21+
22+
function test_run_sequencing_basic
23+
[resultGUI,stf,dij] = helper_getTestData();
24+
fn_old = fieldnames(resultGUI);
25+
26+
numOfLevels = [1,10];
27+
28+
for levels = numOfLevels
29+
resultGUI_sequenced = matRad_engelLeafSequencing(resultGUI,stf,dij,levels);
30+
31+
fn_new = fieldnames(resultGUI_sequenced);
32+
for i = 1:numel(fn_old)
33+
assertTrue(any(strcmp(fn_old{i},fn_new)));
34+
assertEqual(resultGUI.(fn_old{i}),resultGUI_sequenced.(fn_old{i}));
35+
end
36+
37+
% Basic additions to resultGUI
38+
assertTrue(isvector(resultGUI_sequenced.wSequenced));
39+
assertTrue(isstruct(resultGUI_sequenced.apertureInfo));
40+
assertTrue(isstruct(resultGUI_sequenced.sequencing));
41+
42+
%Sequencing Struct
43+
seq = resultGUI_sequenced.sequencing;
44+
assertTrue(isstruct(seq.beam));
45+
assertTrue(numel(seq.beam) == numel(stf));
46+
for i = 1:numel(seq.beam)
47+
assertTrue(isscalar(seq.beam(i).numOfShapes));
48+
assertTrue(isnumeric(seq.beam(i).shapes));
49+
shapeSize = size(seq.beam(i).shapes);
50+
assertEqual(shapeSize(3),seq.beam(i).numOfShapes);
51+
assertTrue(isvector(seq.beam(i).shapesWeight));
52+
assertTrue(isvector(seq.beam(i).bixelIx));
53+
assertTrue(ismatrix(seq.beam(i).fluence));
54+
assertEqual(size(seq.beam(i).fluence),shapeSize([1 2]));
55+
end
56+
57+
%ApertureInfo Sturct
58+
apInfo = resultGUI_sequenced.apertureInfo;
59+
assertTrue(isscalar(apInfo.bixelWidth));
60+
assertTrue(isscalar(apInfo.numOfMLCLeafPairs));
61+
assertTrue(isscalar(apInfo.totalNumOfBixels));
62+
assertTrue(isscalar(apInfo.totalNumOfShapes));
63+
assertTrue(isscalar(apInfo.totalNumOfLeafPairs));
64+
assertTrue(isvector(apInfo.apertureVector));
65+
assertTrue(ismatrix(apInfo.mappingMx));
66+
assertTrue(ismatrix(apInfo.limMx));
67+
assertTrue(isstruct(apInfo.beam))
68+
assertTrue(numel(apInfo.beam) == numel(stf));
69+
end
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
function test_suite = test_xiaLeafSequencing
2+
%The output should always be test_suite, and the function name the same as
3+
%your file name
4+
5+
%To collect all tests defined below, this is needed in newer Matlab
6+
%versions. test_functions will collect function handles to below test
7+
%functions
8+
test_functions=localfunctions();
9+
10+
% This will initialize the test suite, i.e., take the functions from
11+
% test_functions, check if they contain "test", convert them into a MOxUnit
12+
% Test Case, and add them to the test-runner
13+
initTestSuite;
14+
15+
function [resultGUI,stf,dij] = helper_getTestData()
16+
p = load('photons_testData.mat');
17+
resultGUI = p.resultGUI;
18+
stf = p.stf;
19+
dij = p.dij;
20+
21+
22+
function test_run_sequencing_basic
23+
[resultGUI,stf,dij] = helper_getTestData();
24+
fn_old = fieldnames(resultGUI);
25+
26+
numOfLevels = [1,10];
27+
28+
for levels = numOfLevels
29+
resultGUI_sequenced = matRad_siochiLeafSequencing(resultGUI,stf,dij,levels);
30+
31+
fn_new = fieldnames(resultGUI_sequenced);
32+
for i = 1:numel(fn_old)
33+
assertTrue(any(strcmp(fn_old{i},fn_new)));
34+
assertEqual(resultGUI.(fn_old{i}),resultGUI_sequenced.(fn_old{i}));
35+
end
36+
37+
% Basic additions to resultGUI
38+
assertTrue(isvector(resultGUI_sequenced.wSequenced));
39+
assertTrue(isstruct(resultGUI_sequenced.apertureInfo));
40+
assertTrue(isstruct(resultGUI_sequenced.sequencing));
41+
42+
%Sequencing Struct
43+
seq = resultGUI_sequenced.sequencing;
44+
assertTrue(isstruct(seq.beam));
45+
assertTrue(numel(seq.beam) == numel(stf));
46+
for i = 1:numel(seq.beam)
47+
assertTrue(isscalar(seq.beam(i).numOfShapes));
48+
assertTrue(isnumeric(seq.beam(i).shapes));
49+
shapeSize = size(seq.beam(i).shapes);
50+
assertEqual(shapeSize(3),seq.beam(i).numOfShapes);
51+
assertTrue(isvector(seq.beam(i).shapesWeight));
52+
assertTrue(isvector(seq.beam(i).bixelIx));
53+
assertTrue(ismatrix(seq.beam(i).fluence));
54+
assertEqual(size(seq.beam(i).fluence),shapeSize([1 2]));
55+
end
56+
57+
%ApertureInfo Sturct
58+
apInfo = resultGUI_sequenced.apertureInfo;
59+
assertTrue(isscalar(apInfo.bixelWidth));
60+
assertTrue(isscalar(apInfo.numOfMLCLeafPairs));
61+
assertTrue(isscalar(apInfo.totalNumOfBixels));
62+
assertTrue(isscalar(apInfo.totalNumOfShapes));
63+
assertTrue(isscalar(apInfo.totalNumOfLeafPairs));
64+
assertTrue(isvector(apInfo.apertureVector));
65+
assertTrue(ismatrix(apInfo.mappingMx));
66+
assertTrue(ismatrix(apInfo.limMx));
67+
assertTrue(isstruct(apInfo.beam))
68+
assertTrue(numel(apInfo.beam) == numel(stf));
69+
end
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
function test_suite = test_xiaLeafSequencing
2+
%The output should always be test_suite, and the function name the same as
3+
%your file name
4+
5+
%To collect all tests defined below, this is needed in newer Matlab
6+
%versions. test_functions will collect function handles to below test
7+
%functions
8+
test_functions=localfunctions();
9+
10+
% This will initialize the test suite, i.e., take the functions from
11+
% test_functions, check if they contain "test", convert them into a MOxUnit
12+
% Test Case, and add them to the test-runner
13+
initTestSuite;
14+
15+
function [resultGUI,stf,dij] = helper_getTestData()
16+
p = load('photons_testData.mat');
17+
resultGUI = p.resultGUI;
18+
stf = p.stf;
19+
dij = p.dij;
20+
21+
22+
function test_run_sequencing_basic
23+
[resultGUI,stf,dij] = helper_getTestData();
24+
fn_old = fieldnames(resultGUI);
25+
26+
numOfLevels = [1,10];
27+
28+
for levels = numOfLevels
29+
resultGUI_sequenced = matRad_xiaLeafSequencing(resultGUI,stf,dij,levels);
30+
31+
fn_new = fieldnames(resultGUI_sequenced);
32+
for i = 1:numel(fn_old)
33+
assertTrue(any(strcmp(fn_old{i},fn_new)));
34+
assertEqual(resultGUI.(fn_old{i}),resultGUI_sequenced.(fn_old{i}));
35+
end
36+
37+
% Basic additions to resultGUI
38+
assertTrue(isvector(resultGUI_sequenced.wSequenced));
39+
assertTrue(isstruct(resultGUI_sequenced.apertureInfo));
40+
assertTrue(isstruct(resultGUI_sequenced.sequencing));
41+
42+
%Sequencing Struct
43+
seq = resultGUI_sequenced.sequencing;
44+
assertTrue(isstruct(seq.beam));
45+
assertTrue(numel(seq.beam) == numel(stf));
46+
for i = 1:numel(seq.beam)
47+
assertTrue(isscalar(seq.beam(i).numOfShapes));
48+
assertTrue(isnumeric(seq.beam(i).shapes));
49+
shapeSize = size(seq.beam(i).shapes);
50+
assertEqual(shapeSize(3),seq.beam(i).numOfShapes);
51+
assertTrue(isvector(seq.beam(i).shapesWeight));
52+
assertTrue(isvector(seq.beam(i).bixelIx));
53+
assertTrue(ismatrix(seq.beam(i).fluence));
54+
assertEqual(size(seq.beam(i).fluence),shapeSize([1 2]));
55+
end
56+
57+
%ApertureInfo Sturct
58+
apInfo = resultGUI_sequenced.apertureInfo;
59+
assertTrue(isscalar(apInfo.bixelWidth));
60+
assertTrue(isscalar(apInfo.numOfMLCLeafPairs));
61+
assertTrue(isscalar(apInfo.totalNumOfBixels));
62+
assertTrue(isscalar(apInfo.totalNumOfShapes));
63+
assertTrue(isscalar(apInfo.totalNumOfLeafPairs));
64+
assertTrue(isvector(apInfo.apertureVector));
65+
assertTrue(ismatrix(apInfo.mappingMx));
66+
assertTrue(ismatrix(apInfo.limMx));
67+
assertTrue(isstruct(apInfo.beam))
68+
assertTrue(numel(apInfo.beam) == numel(stf));
69+
end
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+

0 commit comments

Comments
 (0)