Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/e0404/matRad into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
amitantony committed Jan 29, 2025
2 parents f5a52e2 + e828dff commit b18964f
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 7 deletions.
8 changes: 7 additions & 1 deletion matRad/bioModels/matRad_BiologicalModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,13 @@
%Use the root folder and the biomodel folder only
folders = {fileparts(mfilename('fullpath'))};
folders = [folders matRad_cfg.userfolders];
metaBioModels = matRad_findSubclasses(meta.class.fromName(mfilename('class')),'folders',folders,'includeSubfolders',true);

persistent metaBioModels lastOptionalPaths
if isempty(metaBioModels) || (~isempty(lastOptionalPaths) && ~isequal(lastOptionalPaths, folders))
lastOptionalPaths = folders;
metaBioModels = matRad_findSubclasses(meta.class.fromName(mfilename('class')),'folders',folders,'includeSubfolders',true);
end

classList = matRad_identifyClassesByConstantProperties(metaBioModels,'model','defaults',{'none'});

if nargin > 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,13 @@

%Get available, valid classes through call to matRad helper function
%for finding subclasses
availableDoseEngines = matRad_findSubclasses('DoseEngines.matRad_DoseEngineBase','packages',{'DoseEngines'},'folders',optionalPaths,'includeAbstract',false);
persistent allAvailableDoseEngines lastOptionalPaths
if isempty(allAvailableDoseEngines) || (~isempty(lastOptionalPaths) && ~isequal(lastOptionalPaths, optionalPaths))
lastOptionalPaths = optionalPaths;
allAvailableDoseEngines = matRad_findSubclasses('DoseEngines.matRad_DoseEngineBase','packages',{'DoseEngines'},'folders',optionalPaths,'includeAbstract',false);
end

availableDoseEngines = allAvailableDoseEngines;

%Now filter for pln
ix = [];
Expand Down
2 changes: 1 addition & 1 deletion matRad/gui/widgets/matRad_PlanWidget.m
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@

matRad_cfg = MatRad_Config.instance();

stfGen = matRad_StfGeneratorBase.getGeneratorFromPln(pln);
stfGen = matRad_StfGeneratorBase.getGeneratorFromPln(pln, false);

set(handles.editBixelWidth,'String',num2str(stfGen.bixelWidth));
set(handles.editGantryAngle,'String',num2str(stfGen.gantryAngles));
Expand Down
7 changes: 6 additions & 1 deletion matRad/scenarios/matRad_ScenarioModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,12 @@ function listAllScenarios(this)
%Use the root folder and the scenarios folder only
folders = {fileparts(mfilename('fullpath'))};
folders = [folders matRad_cfg.userfolders];
metaScenarioModels = matRad_findSubclasses(meta.class.fromName(mfilename('class')),'folders',folders,'includeSubfolders',true);

persistent metaScenarioModels lastOptionalPaths
if isempty(metaScenarioModels) || (~isempty(lastOptionalPaths) && ~isequal(lastOptionalPaths, folders))
lastOptionalPaths = folders;
metaScenarioModels = matRad_findSubclasses(meta.class.fromName(mfilename('class')),'folders',folders,'includeSubfolders',true);
end
classList = matRad_identifyClassesByConstantProperties(metaScenarioModels,'shortName','defaults',{'nomScen'});

if isempty(classList)
Expand Down
18 changes: 15 additions & 3 deletions matRad/steering/matRad_StfGeneratorBase.m
Original file line number Diff line number Diff line change
Expand Up @@ -337,10 +337,14 @@ function createPatientGeometry(this)
end

methods (Static)
function generator = getGeneratorFromPln(pln)
function generator = getGeneratorFromPln(pln, warnDefault)
%GETENGINE Summary of this function goes here
% Detailed explanation goes here

if nargin < 2
warnDefault = true;
end

matRad_cfg = MatRad_Config.instance();

generator = [];
Expand Down Expand Up @@ -384,7 +388,9 @@ function createPatientGeometry(this)
generatorHandle = generatorHandle{1};
end
generator = generatorHandle(pln);
matRad_cfg.dispWarning('Using default stf generator %s!', generator.name);
if warnDefault
matRad_cfg.dispWarning('Using default stf generator %s!', generator.name);
end
elseif ~isempty(classList)
generatorHandle = classList(1).handle;
generator = generatorHandle(pln);
Expand Down Expand Up @@ -439,7 +445,13 @@ function createPatientGeometry(this)

%Get available, valid classes through call to matRad helper function
%for finding subclasses
availableStfGenerators = matRad_findSubclasses(mfilename('class'),'folders',optionalPaths,'includeAbstract',false);
persistent allAvailableStfGenerators lastOptionalPaths
if isempty(allAvailableStfGenerators) || (~isempty(lastOptionalPaths) && ~isequal(lastOptionalPaths, optionalPaths))
lastOptionalPaths = optionalPaths;
allAvailableStfGenerators = matRad_findSubclasses(mfilename('class'),'folders',optionalPaths,'includeAbstract',false);
end

availableStfGenerators = allAvailableStfGenerators;

%Now filter for pln
ix = [];
Expand Down

0 comments on commit b18964f

Please sign in to comment.