From 1d05bdec2c00a9ba20b01fe055be6145e649a696 Mon Sep 17 00:00:00 2001 From: Nicola Vigano <nicola.vigano@esrf.fr> Date: Mon, 20 Jun 2016 15:52:28 +0200 Subject: [PATCH] 6D-Twinned-Grains: added include_all option and made optional the use of the parent mask for raw images Signed-off-by: Nicola Vigano <nicola.vigano@esrf.fr> --- ...t6DCreateProjDataFromTwinnedGrainFwdProj.m | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/zUtil_Deformation/gt6DCreateProjDataFromTwinnedGrainFwdProj.m b/zUtil_Deformation/gt6DCreateProjDataFromTwinnedGrainFwdProj.m index efc9943e..3633b22c 100644 --- a/zUtil_Deformation/gt6DCreateProjDataFromTwinnedGrainFwdProj.m +++ b/zUtil_Deformation/gt6DCreateProjDataFromTwinnedGrainFwdProj.m @@ -22,9 +22,17 @@ function [samp_ors, estim_space_bbox_pix, estim_orient_bbox] = gt6DCreateProjDat 'check_spots', false, ... 'stack_oversize', 1.4, ... 'use_raw_images', false, ... + 'use_parent_mask', false, ... + 'include_all', false, ... 'save', false ); conf = parse_pv_pairs(conf, varargin); + if (~conf.use_raw_images && conf.include_all) + warning('gt6DCreateProjDataFromTwinnedGrainFwdProj:wrong_argument', ... + '"include_all" cannot be enabled if "use_raw_images" is not enabled') + conf.include_all = false; + end + p = gtLoadParameters(); symm = gtCrystGetSymmetryOperators(p.cryst(phase_id).crystal_system); @@ -126,8 +134,14 @@ function [samp_ors, estim_space_bbox_pix, estim_orient_bbox] = gt6DCreateProjDat refgr_proj = refgr.proj(conf.det_index); ref_ondet = refgr_proj.ondet; - ref_included = refgr_proj.included; - ref_selected = refgr_proj.selected; + if (conf.include_all) + ref_included = 1:numel(ref_ondet); + ref_selected = false(size(ref_included)); + ref_selected(refgr_proj.included(refgr_proj.selected)) = true; + else + ref_included = refgr_proj.included; + ref_selected = refgr_proj.selected; + end if (conf.verbose > 1) produce_matching_reflections_table(grs, conf, refl_matches, ref_ondet, ref_included) @@ -293,8 +307,10 @@ function [samp_ors, estim_space_bbox_pix, estim_orient_bbox] = gt6DCreateProjDat if (ii_g > 1) blobs(extended_projs(ii_g).shared_refl) = samp_ors(1).proj(conf.det_index).bl(extended_projs(ii_g).shared_refl_pos_in_parent); - proj_bl_masks = project_masks(samp_ors(ii_g), extended_projs(ii_g), grs(1).fwd_sim(conf.det_index).gv_verts, p, conf); - blobs = assign_masks(blobs, proj_bl_masks, ~extended_projs(ii_g).shared_refl); + if (conf.use_parent_mask) + proj_bl_masks = project_masks(samp_ors(ii_g), extended_projs(ii_g), grs(1).fwd_sim(conf.det_index).gv_verts, p, conf); + blobs = assign_masks(blobs, proj_bl_masks, ~extended_projs(ii_g).shared_refl); + end end else fprintf(' - Loading segmented blobs..') @@ -583,8 +599,14 @@ function eproj = find_matches_with_refor(refor, twingr, refl_matches, conf) refor_proj = refor.proj(conf.det_index); ref_ondet = refor_proj.ondet; - ref_included = refor_proj.included; - ref_selected = refor_proj.selected; + if (conf.include_all) + ref_included = 1:numel(ref_ondet); + ref_selected = false(size(ref_included)); + ref_selected(refor_proj.included(refor_proj.selected)) = true; + else + ref_included = refor_proj.included; + ref_selected = refor_proj.selected; + end bool_ref_inc = false(size_refl_list); bool_ref_inc(ref_ondet(ref_included)) = true; -- GitLab