Skip to content
Snippets Groups Projects
Commit ba40a8c5 authored by Nicola Vigano's avatar Nicola Vigano
Browse files

Assemble: added support for twinned cluster

parent c36dec94
No related branches found
No related tags found
No related merge requests found
......@@ -548,6 +548,10 @@ classdef GtAssembleVol3D < handle
phase_id, clusters(ii).included_ids, ...
'fields', {'SEG', 'ODF6D'});
if (clusters(ii).cluster_type == 1)
cluster_rec = obj.mergeTwinClusterRec(cluster_rec);
end
int_vol = cluster_rec.ODF6D.intensity;
if (rotate_vols)
......@@ -731,6 +735,20 @@ classdef GtAssembleVol3D < handle
end
end
function cluster_rec = mergeTwinClusterRec(obj, cluster_rec)
cl_seg = cluster_rec.SEG(1);
cl_rec = cluster_rec.ODF6D(1);
for ii = 2:numel(cluster_rec.SEG)
cl_seg.seg = cl_seg.seg + cluster_rec.SEG(ii).seg;
cl_rec.intensity = cl_rec.intensity + cluster_rec.ODF6D(ii).intensity;
mask = gtPlaceSubVolume(zeros(size(cl_rec.intensity), 'uint8'), cluster_rec.SEG(ii).seg, cl_seg.segbb(1:3));
mask = logical(mask);
mask = cat(4, mask, mask, mask);
cl_rec.voxels_avg_R_vectors(mask) = cluster_rec.ODF6D(ii).voxels_avg_R_vectors(mask);
end
cluster_rec = struct('ODF6D', cl_rec, 'SEG', cl_seg);
end
function [volume, g_info] = placeTwinSubVolume(obj, gauge, volume, phase_id, grain_id, seg_vol, seg_bb)
sample = obj.getSample();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment