From cc45aab02093a4a3ad86e8bd4895fa70554d27bc Mon Sep 17 00:00:00 2001
From: Wolfgang Ludwig <wolfgang.ludwig@esrf.fr>
Date: Sat, 14 Jun 2014 14:33:01 +0200
Subject: [PATCH] initialize horizontal rotation axis offset in
 labgeo.detrefpos

Signed-off-by: Wolfgang Ludwig <wolfgang.ludwig@esrf.fr>
---
 1_preprocessing/gtPreprocessing.m       |  1 +
 zUtil_Imaging/gtCheckSegmentation.m     | 10 +++++-----
 zUtil_Indexter/gtINDEXIndividualSpots.m | 16 ++++++++++++----
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/1_preprocessing/gtPreprocessing.m b/1_preprocessing/gtPreprocessing.m
index e7e34cde..e2764227 100644
--- a/1_preprocessing/gtPreprocessing.m
+++ b/1_preprocessing/gtPreprocessing.m
@@ -200,6 +200,7 @@ else
     if strcmpi(check,'y')
         parameters.acq.rotu = gtFindRotationAxis(parameters.acq,bbdir);
         parameters.acq.rotx = parameters.acq.rotu;
+        parameters.labgeo.detrefpos(2) = (parameters.acq.rotu - parameters.acq.xdet / 2) * parameters.acq.pixelsize;
     end
     save(parameters_name,'parameters');
 
diff --git a/zUtil_Imaging/gtCheckSegmentation.m b/zUtil_Imaging/gtCheckSegmentation.m
index b750c1ed..c2a2b0df 100644
--- a/zUtil_Imaging/gtCheckSegmentation.m
+++ b/zUtil_Imaging/gtCheckSegmentation.m
@@ -1,7 +1,7 @@
 function gtCheckSegmentation(imnum,parameters,clims)
  
    %querie1 = sprintf('select XIndex,YIndex from %sdifblobdetails where ZIndex=%d',parameters.acq.name,imnum);
-   querie2 = sprintf('select difspotID,BoundingBoxXOrigin,BoundingBoxYOrigin from %sdifspot where StartImage<%d AND EndImage>%d', parameters.acq.name, imnum, imnum);
+   querie2 = sprintf('select difspotID,BoundingBoxXOrigin,BoundingBoxYOrigin from %sdifspot where StartImage<=%d AND EndImage>=%d', parameters.acq.name, imnum, imnum);
    
    full=gtGetFullImage(imnum,parameters);
    spots=zeros(parameters.acq.ydet,parameters.acq.xdet);
@@ -10,15 +10,15 @@ function gtCheckSegmentation(imnum,parameters,clims)
 %    for i=1:length(x)
 %      spots(y(i),x(i))=1;
 %    end	 
-   
-   [difspotID, bb(:,1), bb(:,2)] = mym(querie2);
+   mym(querie2)
+   [difspotID, bb(:,1), bb(:,2)] = mym(querie2)
    
    
    
    
    for i=1:length(difspotID)
        spot  = gtGetSummedDifSpot(difspotID(i),parameters,true);
-       spots = gtPlaceSubVolume(spots, spot, [bb(i,1)-1, bb(i,2)-1, 0],1,'assign');
+       spots = gtPlaceSubVolume(spots, spot, [bb(i,2)-1, bb(i,1)-1, 0],1,'assign');
    end
    
    cont=bwperim(spots);
@@ -30,7 +30,7 @@ function gtCheckSegmentation(imnum,parameters,clims)
    
    full=mat2gray(full,clims);
    
-   figure();
+   figure(1);
    h=imshow(full-cont,clims);
    
 %    set(gcf,'Renderer','OpenGL');
diff --git a/zUtil_Indexter/gtINDEXIndividualSpots.m b/zUtil_Indexter/gtINDEXIndividualSpots.m
index bb78ce80..9ee0db7c 100644
--- a/zUtil_Indexter/gtINDEXIndividualSpots.m
+++ b/zUtil_Indexter/gtINDEXIndividualSpots.m
@@ -102,8 +102,9 @@ if ~exist('spin','var') || isempty(spin)
     
     fprintf('Loading diff. spot data from difspottable %s ...\n', difspottable)
     gtDBConnect;
-    mysqlcmd = sprintf('SELECT difspotID,CentroidX,CentroidY,CentroidImage,BoundingBoxXsize,BoundingBoxYsize,Integral FROM %s ORDER BY difspotID',difspottable);
-    [spin.id, spin.cu, spin.cv, spin.cw, spin.bbx, spin.bby, spin.int] = mym(mysqlcmd);
+    mysqlcmd = sprintf('SELECT difspotID,CentroidX,CentroidY,CentroidImage,BoundingBoxXsize,BoundingBoxYsize', ...
+        'BoundingBoxXOrigin, BoundingBoxYOrigin, Integral FROM %s ORDER BY difspotID',difspottable);
+    [spin.id, spin.cu, spin.cv, spin.cw, spin.bbx, spin.bby, spin.bbxo, spin.bbyo, spin.int] = mym(mysqlcmd);
 end
 
 
@@ -112,7 +113,11 @@ end
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % Active grains
-actgr = gtFitAllGrainValues(grain,'active',[],1);
+if isfield('grain','active')
+    actgr = gtFitAllGrainValues(grain,'active',[],1);
+else
+    actgr = ones(length(grain), 1);
+end
 
 
 gr.cu      = [];
@@ -349,6 +354,8 @@ spot.simw     = [];
 spot.mesu     = [];
 spot.mesv     = [];
 spot.mesw     = [];
+spot.bbxo     = [];
+spot.bbyo     = [];
 indspot       = 0;
 ovspot        = 0;
 okspot        = 0;
@@ -425,7 +432,8 @@ for ii = 1:length(grain)
     spot.mesu     = [spot.mesu;     spin.cu(spind)];
     spot.mesv     = [spot.mesv;     spin.cv(spind)];
     spot.mesw     = [spot.mesw;     spin.cw(spind)];
-    
+    spot.bbxo     = [spot.bbxo;     spin.bbxo(spind)];
+    spot.bbyo     = [spot.bbyo;     spin.bbyo(spind)];
     
     % Check multiplicity
     mult     = histc(grain{ii}.spot.hklspind, bins);
-- 
GitLab