From badc95c15eab90f1414f7a7b76f71daed7b5313e Mon Sep 17 00:00:00 2001
From: Wolfgang Ludwig <wolfgang.ludwig@esrf.fr>
Date: Wed, 25 May 2016 18:19:43 +0200
Subject: [PATCH] small fix to previous coommit and simpple helper function for
 detecting missing 6D reconstructions...

Signed-off-by: Wolfgang Ludwig <wolfgang.ludwig@esrf.fr>
---
 3_pairmatchingGUI/gtMatchInitialize.m |  3 +--
 5_reconstruction/gtFindFailedGrains.m | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 5_reconstruction/gtFindFailedGrains.m

diff --git a/3_pairmatchingGUI/gtMatchInitialize.m b/3_pairmatchingGUI/gtMatchInitialize.m
index c665102c..83154b5b 100644
--- a/3_pairmatchingGUI/gtMatchInitialize.m
+++ b/3_pairmatchingGUI/gtMatchInitialize.m
@@ -307,8 +307,7 @@ handles.fitting.tolfun = 1e-10;
 handles.fitting.derstep = 1e-7;
 
 % Activate use of equal number of pairs for fitting
-if (exist(parameters.match.equalize_hkls, 'var') || ...
-        isempty(parameters.match.equalize_hkls)
+if ~isfield(parameters.match, 'equalize_hkls')        
     handles.fitting. equalize_hkls = false;
 else
     handles.fitting.equalize_hkls = parameters.match.equalize_hkls;
diff --git a/5_reconstruction/gtFindFailedGrains.m b/5_reconstruction/gtFindFailedGrains.m
new file mode 100644
index 00000000..379c2d5d
--- /dev/null
+++ b/5_reconstruction/gtFindFailedGrains.m
@@ -0,0 +1,23 @@
+function list = gtFindFailedGrains(phase_ID)
+
+
+load(sprintf('4_grains/phase_%02d/index.mat', phase_ID)); 
+grain_file_name = sprintf('4_grains/phase_%02d/grain_details_', phase_ID);
+
+num_grains = numel(grain);
+
+list = [];
+
+failed_grains = 0;
+for i = 1 : num_grains
+    num_chars = fprintf('%d/%d (failed: %d)', i, num_grains, failed_grains);
+    mf = matfile(sprintf('%s%04d.mat', grain_file_name, i));
+    try 
+        size(mf, 'ODF6D');
+    catch
+        list = [list, i];
+        failed_grains = failed_grains + 1;
+    end
+    fprintf(repmat('\b', [1 num_chars]))
+end
+end
-- 
GitLab