Skip to content
Snippets Groups Projects
Commit a3c25a6c authored by Wolfgang Ludwig's avatar Wolfgang Ludwig
Browse files

Redefine origin of recgeo.orig(3) (z) to match with center of detector

parent 1783f481
No related branches found
No related tags found
No related merge requests found
function gtSetupForwardSimulation(varargin)
function gtSetupForwardSimulation(phaseID, varargin)
% GTSETUPFORWARDSIMULATION Simple helper function to run gtForwardSimulate_v2
% gtSetupForwardSimulation()
% --------------------------
......@@ -8,11 +8,14 @@ conf = struct( ...
'reset_sample', true, ...
'reset_spot2grain', [], ...
'reset_difspot_table', [], ...
'reset_grains', [] );
conf = parse_pv_pairs(conf, varargin);
'reset_grains', [], ...
'list', []);
[conf, rej_conf_pars] = parse_pv_pairs(conf, varargin);
parameters = gtLoadParameters();
[parameters.fsim, rej_pars] = parse_pv_pairs(parameters.fsim, rej_conf_pars);
conf.mode = parameters.fsim.mode
% Let's check every field is in, and in case let's update it!
parameters = gtCheckParameters(parameters, 'fsim', 'verbose', true);
parameters = gtCheckParameters(parameters, 'recgeo', 'verbose', true);
......@@ -22,8 +25,9 @@ end
if (~isfield(parameters.labgeo, 'omstep') || isempty(parameters.labgeo.omstep))
parameters.labgeo.omstep = gtAcqGetOmegaStep(parameters);
end
% Updating recgeo with a consistent set of parameters
parameters.recgeo = gtGeoRecDefaultParameters(parameters.detgeo, parameters.samgeo);
parameters.recgeo = gtGeoRecDefaultParameters(parameters.detgeo, parameters.samgeo, parameters.acq);
gtSaveParameters(parameters);
gtDBConnect();
......@@ -58,6 +62,7 @@ for ii = 1:nof_phases
ngrains(ii) = length(grain);
end
if (isempty(conf.reset_difspot_table))
check = inputwdefault('Do you want to reset grainID/flag/phaseID in the difspot table? [y/n]', 'y');
conf.reset_difspot_table = strcmpi(check, 'y');
......@@ -151,6 +156,12 @@ if (~strcmpi(check, 'y'))
save(fullfile(parameters.acq.dir, 'parameters.mat'), 'parameters');
end
% If list is provided, the grain_ids are distributed over the cluster
if isempty(conf.list)
conf.list = 1 : ngrains(phaseID)
end
% launch forward simulation process to OAR - split to two jobs
check = inputwdefault([ ...
'Launch Forward Simulation with OAR (o), here on the command line ' ...
......@@ -172,7 +183,7 @@ switch(lower(check))
OARh = (OARtmp - OARm) / 60; % hours
OAR_parameters.walltime = sprintf('%02d:%02d:00', OARh, OARm);
OAR_parameters.otherparameters = sprintf('mode %s ', conf.mode);
disp('Using OAR parameters:')
disp(OAR_parameters)
disp(['Using ' num2str(OAR_parameters.njobs) ' OAR jobs']);
......@@ -186,8 +197,8 @@ switch(lower(check))
'walltime', OAR_parameters.walltime, 'mem', OAR_parameters.mem);
else
OAR_make('gtForwardSimulate_v2', 1, ngrains(phaseID), OAR_parameters.njobs, ...
[parameters.acq.dir ' ' phaseID_str], true, ...
'walltime', OAR_parameters.walltime, 'mem', OAR_parameters.mem);
sprintf('%s %s %s ', parameters.acq.dir, phaseID_str, OAR_parameters.otherparameters), true, ...
'walltime', OAR_parameters.walltime, 'mem', OAR_parameters.mem, 'distribute', true, 'list', conf.list);
end
case 'c'
disp('Launching forward simulation...')
......@@ -196,7 +207,7 @@ switch(lower(check))
if (isfield(parameters.labgeo, 'sourcepoint') && ~isempty(parameters.labgeo.sourcepoint))
gtForwardSimulatePoly(1, ngrains(phaseID), parameters.acq.dir, phaseID);
else
gtForwardSimulate_v2(1, ngrains(phaseID), parameters.acq.dir, phaseID, 'display_figure', false);
gtForwardSimulate_v2(1, ngrains(phaseID), parameters.acq.dir, phaseID, 'display_figure', false, 'list', conf.list);
end
otherwise
disp('Quitting forward simulation...')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment