From 640bf98521c7609ba352b4c2f380eddb18df92b2 Mon Sep 17 00:00:00 2001 From: Nicola Vigano <nicola.vigano@esrf.fr> Date: Mon, 3 Sep 2018 11:12:04 +0200 Subject: [PATCH] Fixed a couple of bug with the latest changes in the grain structure Signed-off-by: Nicola Vigano <nicola.vigano@esrf.fr> --- 4_grains/gtCalculateGrain.m | 10 +++++++--- 4_grains/gtGrainAllblobsFilterOrder.m | 4 +++- zUtil_Deformation/Gt6DReconstructionAlgorithmFactory.m | 9 +-------- zUtil_Deformation/gtDefShapeFunctionsFwdProj.m | 4 ++-- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/4_grains/gtCalculateGrain.m b/4_grains/gtCalculateGrain.m index 834a1394..10d28f66 100644 --- a/4_grains/gtCalculateGrain.m +++ b/4_grains/gtCalculateGrain.m @@ -123,9 +123,13 @@ for det_ind = app.det_ind end if (is_topotomo && isempty(app.pl_ind)) - warning('gtCalculateGrain:wrong_argument', ... - 'When mode is "topotomo", "pl_ind" should also be pased'); - continue + if (~isfield(acq, 'pl_ind') || isempty(acq.pl_ind)) + warning('gtCalculateGrain:wrong_argument', ... + 'When mode is "topotomo", "pl_ind" should also be pased'); + continue + else + app.pl_ind = acq.pl_ind; + end end omstep = gtAcqGetOmegaStep(parameters, det_ind); diff --git a/4_grains/gtGrainAllblobsFilterOrder.m b/4_grains/gtGrainAllblobsFilterOrder.m index 34af0f68..90e070c5 100644 --- a/4_grains/gtGrainAllblobsFilterOrder.m +++ b/4_grains/gtGrainAllblobsFilterOrder.m @@ -20,7 +20,7 @@ function gr = gtGrainAllblobsFilterOrder(gr, refgr_omind, det_ind) for ii_f = 1:numel(fnames) fname = fnames{ii_f}; switch(fname) - case 'srot' + case {'srot', 'rot_s2l', 'rot_l2s'} srot = gr.allblobs(ii_d).(fname); srot(:, :, refgr_omind_ind) = srot(:, :, gr_omind_ind); gr.allblobs(ii_d).(fname) = srot; @@ -32,6 +32,8 @@ function gr = gtGrainAllblobsFilterOrder(gr, refgr_omind, det_ind) prop(refgr_omind_ind, :) = prop(gr_omind_ind, :); gr.allblobs(ii_d).detector.(subfname) = prop; end + case 'type' + % Do nothing otherwise prop = gr.allblobs(ii_d).(fname); prop(refgr_omind_ind, :) = prop(gr_omind_ind, :); diff --git a/zUtil_Deformation/Gt6DReconstructionAlgorithmFactory.m b/zUtil_Deformation/Gt6DReconstructionAlgorithmFactory.m index 89b95e99..1346e58b 100644 --- a/zUtil_Deformation/Gt6DReconstructionAlgorithmFactory.m +++ b/zUtil_Deformation/Gt6DReconstructionAlgorithmFactory.m @@ -459,9 +459,6 @@ classdef Gt6DReconstructionAlgorithmFactory < handle is_topotomo = strcmpi(self.parameters.acq(det_ind).type, 'topotomo'); ref_gr = sampler.get_reference_grain(); - if (is_topotomo) - ref_gr_topo = sampler.get_reference_grain_topotomo(); - end [orients, orients_ss] = sampler.get_orientations(det_ind); @@ -490,11 +487,7 @@ classdef Gt6DReconstructionAlgorithmFactory < handle fprintf(' - Dealing with blobs/scattering intensities:\n') if (self.use_predicted_scatter_ints) fprintf(' * Computing families'' scattering intensities\n') - if (is_topotomo) - [scatter_ints_avg, scatter_ints_ors] = self.get_scattering_intensities(ref_gr_topo, ors_allblobs, det_ind); - else - [scatter_ints_avg, scatter_ints_ors] = self.get_scattering_intensities(ref_gr, ors_allblobs, det_ind); - end + [scatter_ints_avg, scatter_ints_ors] = self.get_scattering_intensities(ref_gr, ors_allblobs, det_ind); else fprintf(' * Using blobs'' intensities\n') scatter_ints_avg = [bl(:).intensity]'; diff --git a/zUtil_Deformation/gtDefShapeFunctionsFwdProj.m b/zUtil_Deformation/gtDefShapeFunctionsFwdProj.m index 7ff0a219..e785e6ee 100644 --- a/zUtil_Deformation/gtDefShapeFunctionsFwdProj.m +++ b/zUtil_Deformation/gtDefShapeFunctionsFwdProj.m @@ -115,7 +115,7 @@ function shape_funcs = gtDefShapeFunctionsFwdProj(sampler, varargin) fedpars.ref_eta = ref_gr.allblobs(conf.det_ind).eta; % Only one lattice allowed for the moment! - num_ors = numel(sampler.lattice(conf.det_ind).gr); + num_ors = size(sampler.R_vectors, 1); shape_funcs = cell(num_ors, 1); fprintf('Computing %s shape functions: ', upper(conf.shape_function_type)) @@ -123,7 +123,7 @@ function shape_funcs = gtDefShapeFunctionsFwdProj(sampler, varargin) for ii_g = 1:num_ors num_chars = fprintf('%03d/%03d', ii_g, num_ors); - or = sampler.lattice(conf.det_ind).gr{ii_g}; + or = sampler.lattice.gr{ii_g}; or_gv = gv; or_gv.d = gtMathsRodSum(gv.d, or.R_vector'); -- GitLab