From 2aa787418b819ccaaada33fecf9254fcf3fde6d6 Mon Sep 17 00:00:00 2001
From: Lorenzo Valzania <valzania@rnice7-0201.esrf.fr>
Date: Thu, 5 Feb 2015 15:24:51 +0100
Subject: [PATCH] 6D-ExtendedGrains: Fixed a bug in the orientation sampling
 statistics generation

Signed-off-by: Lorenzo Valzania <valzania@rnice7-0201.esrf.fr>
---
 zUtil_Deformation/GtOrientationSampling.m | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/zUtil_Deformation/GtOrientationSampling.m b/zUtil_Deformation/GtOrientationSampling.m
index c0bf9b27..68ba40fb 100644
--- a/zUtil_Deformation/GtOrientationSampling.m
+++ b/zUtil_Deformation/GtOrientationSampling.m
@@ -920,10 +920,12 @@ classdef GtOrientationSampling < handle
         function compute_blob_coverage_simple_grid(self)
             omega_step = self.get_omega_step_deg();
 
-            num_blobs = numel(self.bl);
+            bls = self.bl(self.selected);
+
+            num_blobs = numel(bls);
             max_depth_blobs = 0;
             for b_ii = 1:num_blobs
-                max_depth_blobs = max(max_depth_blobs, size(self.bl(b_ii).intm, 3));
+                max_depth_blobs = max(max_depth_blobs, size(bls(b_ii).intm, 3));
             end
 
             switch(self.stats.sampling.type)
@@ -942,15 +944,15 @@ classdef GtOrientationSampling < handle
             max_blob_pos = zeros(num_blobs, 1);
 
             for b_ii = 1:num_blobs
-                depth_blob = size(self.bl(b_ii).intm, 3);
+                depth_blob = size(bls(b_ii).intm, 3);
                 min_blob_pos(b_ii) = floor((max_depth_blobs - depth_blob)/2) + 1;
                 max_blob_pos(b_ii) = min_blob_pos(b_ii) + depth_blob - 1;
 
                 self.stats.pics.blob_intensity(b_ii, min_blob_pos(b_ii):max_blob_pos(b_ii)) ...
-                    = squeeze(sum(sum(self.bl(b_ii).intm, 2), 1));
+                    = squeeze(sum(sum(bls(b_ii).intm, 2), 1));
             end
 
-            limits = cat(1, self.bl(:).bbwim);
+            limits = cat(1, bls(:).bbwim);
             for o_ii = 1:numel(self.lattice)
                 for z_ii = 1:size(self.lattice(o_ii).gr, 3)
                     switch(self.stats.sampling.type)
@@ -960,7 +962,8 @@ classdef GtOrientationSampling < handle
 
                     for y_ii = 1:size(self.lattice(o_ii).gr, 2)
                         for x_ii = 1:size(self.lattice(o_ii).gr, 1)
-                            omegas = self.lattice(o_ii).gr{x_ii, y_ii, z_ii}.allblobs.omega / omega_step;
+                            ab = self.lattice(o_ii).gr{x_ii, y_ii, z_ii}.allblobs;
+                            omegas = ab.omega(self.selected) / omega_step;
                             within_lims = find(omegas >= limits(:, 1) & omegas <= limits(:, 2));
                             pos_in_blobs = round(omegas(within_lims)) - limits(within_lims, 1) + 1;
 
-- 
GitLab