diff --git a/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/getAvailableEngines.m b/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/getAvailableEngines.m index 8ef17d112..af42a7a51 100644 --- a/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/getAvailableEngines.m +++ b/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/getAvailableEngines.m @@ -29,7 +29,7 @@ pln = []; else if ~(isstruct(pln) || isempty(pln)) - matRad_cfg.dispError('Invalid pln!'); + matRad_cfg.dispError('Invalid pln struct!'); end end diff --git a/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/matRad_DoseEngineBase.m b/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/matRad_DoseEngineBase.m index bbbd7c398..b0fea5001 100644 --- a/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/matRad_DoseEngineBase.m +++ b/matRad/doseCalc/+DoseEngines/@matRad_DoseEngineBase/matRad_DoseEngineBase.m @@ -281,6 +281,10 @@ function assignBioModelPropertiesFromPln(this, plnModel, warnWhenPropertyChanged % already performed in dij construction resultGUI = []; + + if ~isa(this.multScen,'matRad_ScenarioModel') + this.multScen = matRad_ScenarioModel.create(this.multScen,struct('numOfCtScen',ct.numOfCtScen)); + end for i = 1:this.multScen.totNumScen scenSubIx = this.multScen.linearMask(i,:); diff --git a/matRad/doseCalc/+DoseEngines/matRad_TopasMCEngine.m b/matRad/doseCalc/+DoseEngines/matRad_TopasMCEngine.m index 39e86e1d0..b67e575f1 100644 --- a/matRad/doseCalc/+DoseEngines/matRad_TopasMCEngine.m +++ b/matRad/doseCalc/+DoseEngines/matRad_TopasMCEngine.m @@ -2186,7 +2186,7 @@ function writePatient(obj,ct,pln) fprintf(fID,'d:Ma/%s/Density = %f g/cm3\n',unique_materials{ix},unique_rsp(ix)); end - fprintf(fID,'s:Ge/Patient/Parent="World"\n'); + fprintf(fID,'s:Ge/Patient/Parent="Isocenter"\n'); fprintf(fID,'s:Ge/Patient/Type = "TsImageCube"\n'); fprintf(fID,'s:Ge/Patient/InputDirectory = "./"\n'); fprintf(fID,'s:Ge/Patient/InputFile = "%s"\n',dataFile); @@ -2348,7 +2348,7 @@ function writePatient(obj,ct,pln) % write patient environment matRad_cfg.dispInfo('TOPAS: Writing patient environment\n'); fprintf(fID,'\n# -- Patient parameters\n'); - fprintf(fID,'s:Ge/Patient/Parent="World"\n'); + fprintf(fID,'s:Ge/Patient/Parent="Isocenter"\n'); fprintf(fID,'s:Ge/Patient/Type = "TsImageCube"\n'); fprintf(fID,'b:Ge/Patient/DumpImagingValues = "True"\n'); fprintf(fID,'s:Ge/Patient/InputDirectory = "./"\n'); diff --git a/matRad/doseCalc/topas/world/TOPAS_matRad_geometry.txt.in b/matRad/doseCalc/topas/world/TOPAS_matRad_geometry.txt.in index 4eb3c522e..42e45b5dc 100644 --- a/matRad/doseCalc/topas/world/TOPAS_matRad_geometry.txt.in +++ b/matRad/doseCalc/topas/world/TOPAS_matRad_geometry.txt.in @@ -4,26 +4,23 @@ d:Ge/World/HLY=200.0 cm d:Ge/World/HLZ=200.0 cm b:Ge/World/Invisible = "TRUE" -s:Ge/Nozzle/Parent = "Isocenter" +s:Ge/Nozzle/Parent = "World" s:Ge/Nozzle/Type = "Group" -s:Ge/Isocenter/Parent = "Gantry" +s:Ge/Isocenter/Parent = "Couch" s:Ge/Isocenter/Type = "Group" -d:Ge/Isocenter/RotX = +90. deg +d:Ge/Isocenter/RotX = -90. deg d:Ge/Isocenter/RotY = 0. deg -d:Ge/Isocenter/RotZ = +90. deg +d:Ge/Isocenter/RotZ = 0. deg -s:Ge/Gantry/Parent = "Couch" -s:Ge/Gantry/Type = "Group" -d:Ge/Gantry/RotX = 0. deg -d:Ge/Gantry/RotY = 0. deg -d:Ge/Gantry/RotZ = -1 * Sim/GantryAngle deg - -s:Ge/Couch/Parent = "World" +s:Ge/Couch/Parent = "Gantry" s:Ge/Couch/Type = "Group" -d:Ge/Couch/TransX = 0. cm -d:Ge/Couch/TransY = 0. cm -d:Ge/Couch/TransZ = 0. cm d:Ge/Couch/RotX = 0. deg -d:Ge/Couch/RotY = -1 * Sim/CouchAngle deg -d:Ge/Couch/RotZ = 0. deg \ No newline at end of file +d:Ge/Couch/RotY = 0. deg +d:Ge/Couch/RotZ = Sim/CouchAngle deg + +s:Ge/Gantry/Parent = "World" +s:Ge/Gantry/Type = "Group" +d:Ge/Gantry/RotX = Sim/GantryAngle deg +d:Ge/Gantry/RotY = 0 deg +d:Ge/Gantry/RotZ = -90. deg \ No newline at end of file diff --git a/matRad/planAnalysis/matRad_compareDose.m b/matRad/planAnalysis/matRad_compareDose.m index 274fb7f53..f03f63a8b 100644 --- a/matRad/planAnalysis/matRad_compareDose.m +++ b/matRad/planAnalysis/matRad_compareDose.m @@ -238,7 +238,7 @@ posZ = posZ - isoCenterIx(3); end - if exist('pln','var') && ~isempty(pln) + if exist('pln','var') && ~isempty(pln) && isfield(pln,'propOpt') && isfield(pln.propOpt,'quantityOpt') if strcmp(pln.propOpt.quantityOpt,'physicalDose') yLabelString = 'Dose [Gy]'; else