diff --git a/zUtil_Parameters/build_list_v2.m b/zUtil_Parameters/build_list_v2.m index 72642d96e4a513fa42c6b0dd67944ff096971b70..a88bdbf2ed27aa8db602e5e1fd8853b67763b007 100644 --- a/zUtil_Parameters/build_list_v2.m +++ b/zUtil_Parameters/build_list_v2.m @@ -1,5 +1,5 @@ function list = build_list_v2() -% BUILD_LIST Builds a list of {fieldname, description, class} +% BUILD_LIST Builds a list of {fieldname, description, class} % for each field of parameters.mat % % list = build_list_v2() @@ -40,105 +40,105 @@ list = []; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% list.version{1,1} = 'number'; list.version{1,2} = 'Version number of this parameters structure'; list.version{1,3} = 'double'; % scalar - list.version{1,4} = 2; - - + list.version{1,4} = 0; + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Acquisition parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.acq{1,1} = 'collection_dir'; list.acq{1,2} = 'Collection directory'; +list.acq{1,1} = 'collection_dir'; list.acq{1,2} = 'Collection directory'; list.acq{1,3} = 'char'; - list.acq{1,4} = 2; -list.acq{2,1} = 'name'; list.acq{2,2} = 'Name of the dataset'; + list.acq{1,4} = 1; +list.acq{2,1} = 'name'; list.acq{2,2} = 'Name of the dataset'; list.acq{2,3} = 'char'; - list.acq{2,4} = 2; -list.acq{3,1} = 'dir'; list.acq{3,2} = 'Directory in which to analyse the data'; + list.acq{2,4} = 1; +list.acq{3,1} = 'dir'; list.acq{3,2} = 'Directory in which to analyse the data'; list.acq{3,3} = 'char'; - list.acq{3,4} = 2; -list.acq{4,1} = 'date'; list.acq{4,2} = 'Date of acquisition'; + list.acq{3,4} = 1; +list.acq{4,1} = 'date'; list.acq{4,2} = 'Date of acquisition'; list.acq{4,3} = 'char'; - list.acq{4,4} = 2; -list.acq{5,1} = 'xdet'; list.acq{5,2} = 'Detector ROI size X or U (raw image size in pixels)'; + list.acq{4,4} = 0; +list.acq{5,1} = 'xdet'; list.acq{5,2} = 'Detector ROI size X or U (raw image size in pixels)'; list.acq{5,3} = 'double'; % scalar - list.acq{5,4} = 2; -list.acq{6,1} = 'ydet'; list.acq{6,2} = 'Detector ROI size Y or V (raw image size in pixels)'; + list.acq{5,4} = 1; +list.acq{6,1} = 'ydet'; list.acq{6,2} = 'Detector ROI size Y or V (raw image size in pixels)'; list.acq{6,3} = 'double'; % scalar - list.acq{6,4} = 2; -list.acq{7,1} = 'nproj'; list.acq{7,2} = 'Number of images in *180 DEGREES* of scan'; + list.acq{6,4} = 1; +list.acq{7,1} = 'nproj'; list.acq{7,2} = 'Number of images in *180 DEGREES* of scan'; list.acq{7,3} = 'double'; % scalar - list.acq{7,4} = 2; -list.acq{8,1} = 'refon'; list.acq{8,2} = 'References after how many images'; + list.acq{7,4} = 1; +list.acq{8,1} = 'refon'; list.acq{8,2} = 'References after how many images'; list.acq{8,3} = 'double'; % scalar list.acq{8,4} = 2; -list.acq{9,1} = 'nref'; list.acq{9,2} = 'How many reference images in a group'; +list.acq{9,1} = 'nref'; list.acq{9,2} = 'How many reference images in a group'; list.acq{9,3} = 'double'; % scalar list.acq{9,4} = 2; -list.acq{10,1} = 'ndark'; list.acq{10,2} = 'How many dark images taken'; +list.acq{10,1} = 'ndark'; list.acq{10,2} = 'How many dark images taken'; list.acq{10,3} = 'double'; % scalar list.acq{10,4} = 2; -list.acq{11,1} = 'pixelsize'; list.acq{11,2} = 'Detector pixelsize (mm/pixel)'; +list.acq{11,1} = 'pixelsize'; list.acq{11,2} = 'Detector pixelsize (mm/pixel)'; list.acq{11,3} = 'double'; % scalar - list.acq{11,4} = 2; -list.acq{12,1} = 'count_time'; list.acq{12,2} = 'Image integration time (s)'; + list.acq{11,4} = 1; +list.acq{12,1} = 'count_time'; list.acq{12,2} = 'Image integration time (s)'; list.acq{12,3} = 'double'; % scalar - list.acq{13,4} = 2; -list.acq{13,1} = 'energy'; list.acq{13,2} = 'Beam energy (keV)'; + list.acq{12,4} = 2; +list.acq{13,1} = 'energy'; list.acq{13,2} = 'Beam energy (keV)'; list.acq{13,3} = 'double'; % scalar - list.acq{14,4} = 2; -list.acq{14,1} = 'dist'; list.acq{14,2} = 'Sample-detector distance (mm) [computed]'; + list.acq{13,4} = 1; +list.acq{14,1} = 'dist'; list.acq{14,2} = 'Sample-detector distance (mm) [computed]'; list.acq{14,3} = 'double'; % scalar - list.acq{15,4} = 2; -list.acq{15,1} = 'sensortype'; list.acq{15,2} = 'Camera type (''frelon''/''kodak4mv1'')'; + list.acq{14,4} = 1; +list.acq{15,1} = 'sensortype'; list.acq{15,2} = 'Camera type (''frelon''/''kodak4mv1'')'; list.acq{15,3} = 'char'; - list.acq{16,4} = 2; -list.acq{16,1} = 'type'; list.acq{16,2} = 'DCT scan type (''360degree'',''180degree'', etc)'; + list.acq{15,4} = 1; +list.acq{16,1} = 'type'; list.acq{16,2} = 'DCT scan type (''360degree'',''180degree'', etc)'; list.acq{16,3} = 'char'; - list.acq{17,4} = 2; -list.acq{17,1} = 'interlaced_turns'; list.acq{17,2} = 'Interlaced scan? 0 for normal scan, 1 for one extra turn, etc'; + list.acq{16,4} = 1; +list.acq{17,1} = 'interlaced_turns'; list.acq{17,2} = 'Interlaced scan? 0 for normal scan, 1 for one extra turn, etc'; list.acq{17,3} = 'double'; % scalar - list.acq{18,4} = 2; -list.acq{18,1} = 'mono_tune'; list.acq{18,2} = 'Monochromator was tuned after N reference groups, or 0 for not tuned'; + list.acq{17,4} = 1; +list.acq{18,1} = 'mono_tune'; list.acq{18,2} = 'Monochromator was tuned after N reference groups, or 0 for not tuned'; list.acq{18,3} = 'double'; % scalar - list.acq{19,4} = 2; -list.acq{19,1} = 'rotation_axis'; list.acq{19,2} = 'Rotation axis orientation (''vertical''/''horizontal'')'; + list.acq{18,4} = 0; +list.acq{19,1} = 'rotation_axis'; list.acq{19,2} = 'Rotation axis orientation (''vertical''/''horizontal'')'; list.acq{19,3} = 'char'; - list.acq{19,4} = 2; -list.acq{20,1} = 'distortion'; list.acq{20,2} = 'Distortion correction file with path (or ''none'')'; + list.acq{19,4} = 1; +list.acq{20,1} = 'distortion'; list.acq{20,2} = 'Distortion correction file with path (or ''none'')'; list.acq{20,3} = 'char'; - list.acq{20,4} = 2; + list.acq{20,4} = 1; list.acq{21,1} = 'beamchroma'; list.acq{21,2} = 'Beam chromaticity (''mono''/''poly'')'; list.acq{21,3} = 'char'; list.acq{21,4} = 2; -list.acq{22,1} = 'no_direct_beam'; list.acq{22,2} = 'Special scan with no direct beam (taper frelon, offset detector)?'; +list.acq{22,1} = 'no_direct_beam'; list.acq{22,2} = 'Special scan with no direct beam (taper frelon, offset detector)?'; list.acq{22,3} = 'logical'; - list.acq{22,4} = 2; -list.acq{23,1} = 'rotation_direction'; list.acq{23,2} = 'Horizontal axis scan - rotate images (''clockwise''/''counterclockwise'')'; + list.acq{22,4} = 1; +list.acq{23,1} = 'rotation_direction'; list.acq{23,2} = 'Horizontal axis scan - rotate images (''clockwise''/''counterclockwise'')'; list.acq{23,3} = 'char'; list.acq{23,4} = 2; -list.acq{24,1} = 'collection_dir_old'; list.acq{24,2} = 'Old collection directory'; +list.acq{24,1} = 'collection_dir_old'; list.acq{24,2} = 'Old collection directory'; list.acq{24,3} = 'char'; list.acq{24,4} = 2; -list.acq{25,1} = 'rotu'; list.acq{25,2} = 'U coordinate of rotation axis projection in image [computed] ??? equals to rotx ???'; +list.acq{25,1} = 'rotu'; list.acq{25,2} = 'U coordinate of rotation axis projection in image [computed] ??? equals to rotx ???'; list.acq{25,3} = 'double'; % scalar - list.acq{25,4} = 2; -list.acq{26,1} = 'rotx'; list.acq{26,2} = 'V coordinate of rotation axis projection in image [computed] ??? equals to rotu ???'; + list.acq{25,4} = 0; +list.acq{26,1} = 'rotx'; list.acq{26,2} = 'V coordinate of rotation axis projection in image [computed] ??? equals to rotu ???'; list.acq{26,3} = 'double'; % scalar - list.acq{26,4} = 2; -list.acq{27,1} = 'bb'; list.acq{27,2} = 'Sample bbox symm. around rot. axis [umin vmin usize vsize]; reconstructed sample volume has size [bb(3) bb(3) bb(4)]'; + list.acq{26,4} = 0; +list.acq{27,1} = 'bb'; list.acq{27,2} = 'Sample bbox symm. around rot. axis [umin vmin usize vsize]; reconstructed sample volume has size [bb(3) bb(3) bb(4)]'; list.acq{27,3} = 'double'; % scalar - list.acq{27,4} = 2; -list.acq{28,1} = 'bbdir'; list.acq{28,2} = 'Direct beam bounding box [umin vmin usize vsize]'; + list.acq{27,4} = 0; +list.acq{28,1} = 'bbdir'; list.acq{28,2} = 'Direct beam bounding box [umin vmin usize vsize]'; list.acq{28,3} = 'double'; % scalar - list.acq{28,4} = 2; + list.acq{28,4} = 0; list.acq{29,1} = 'nof_phases'; list.acq{29,2} = 'Number of phases in sample to be analysed'; list.acq{29,3} = 'double'; % scalar - list.acq{29,4} = 2; + list.acq{29,4} = 1; list.acq{30,1} = 'true_detsizeu'; list.acq{30,2} = 'True detector X or U size before cropping (pixels)'; list.acq{30,3} = 'double'; % scalar - list.acq{30,4} = 2; + list.acq{30,4} = 1; list.acq{31,1} = 'true_detsizev'; list.acq{31,2} = 'True detector Y or V size before cropping (pixels)'; list.acq{31,3} = 'double'; % scalar - list.acq{31,4} = 2; + list.acq{31,4} = 1; list.acq{32,1} = 'detroi_u_off'; list.acq{32,2} = 'X or U offset of cropped detector ROI (the corner pixel)'; list.acq{32,3} = 'double'; % scalar list.acq{32,4} = 2; @@ -147,48 +147,48 @@ list.acq{33,1} = 'detroi_v_off'; list.acq{33,2} = 'Y or V list.acq{33,4} = 2; list.acq{34,1} = 'pair_tablename'; list.acq{34,2} = 'Table name for spot pairs'; list.acq{34,3} = 'char'; - list.acq{34,4} = 2; -list.acq{35,1} = 'calib_tablename'; list.acq{35,2} = ''; - list.acq{35,3} = 'char'; - list.acq{35,4} = 2; + list.acq{34,4} = 0; +list.acq{35,1} = 'calib_tablename'; list.acq{35,2} = '[not used] Table name for calibration of spot pairs matching'; + list.acq{35,3} = 'char'; + list.acq{35,4} = 0; list.acq{36,1} = 'flip_images'; list.acq{36,2} = 'Do you want to flip the images left-right for some reason?'; - list.acq{36,3} = 'logical'; - list.acq{36,4} = 2; -list.acq{37,1} = 'maxradius'; list.acq{37,2} = 'Maximum active radius of the detector, for example in case of vignetting'; + list.acq{36,3} = 'logical'; + list.acq{36,4} = 1; +list.acq{37,1} = 'maxradius'; list.acq{37,2} = '[Computed] Maximum active radius of the detector, for example in case of vignetting'; list.acq{37,3} = 'double'; % scalar - list.acq{37,4} = 2; + list.acq{37,4} = 0; + + - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % xop for phase 1; if necessary the same for other phases -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% list.xop{1,1} = 'twotheta'; list.xop{1,2} = 'Twotheta angle (2*Bragg angle)'; - list.xop{1,3} = 'single'; - list.xop{1,4} = 2; + list.xop{1,3} = 'single'; + list.xop{1,4} = 0; list.xop{2,1} = 'dspacing'; list.xop{2,2} = 'd-spacing'; list.xop{2,3} = 'single'; - list.xop{2,4} = 2; + list.xop{2,4} = 0; list.xop{3,1} = 'int'; list.xop{3,2} = 'Intensity'; list.xop{3,3} = 'single'; - list.xop{3,4} = 2; + list.xop{3,4} = 0; list.xop{4,1} = 'formfactor'; list.xop{4,2} = 'Form factor'; list.xop{4,3} = 'single'; - list.xop{4,4} = 2; -list.xop{5,1} = 'mult'; list.xop{5,2} = 'Multiplicity'; + list.xop{4,4} = 0; +list.xop{5,1} = 'mult'; list.xop{5,2} = 'Multiplicity'; list.xop{5,3} = 'int8'; - list.xop{5,4} = 2; + list.xop{5,4} = 0; list.xop{6,1} = 'hkl'; list.xop{6,2} = 'hkl Miller indexes'; list.xop{6,3} = 'int8'; - list.xop{6,4} = 2; + list.xop{6,4} = 0; list.xop{7,1} = 'filename'; list.xop{7,2} = 'XOP/Diamond crystallographic file'; list.xop{7,3} = 'char'; - list.xop{7,4} = 2; + list.xop{7,4} = 0; list.xop{8,1} = 'xop_dir'; list.xop{8,2} = 'Directory for the XOP input file'; list.xop{8,3} = 'char'; - list.xop{8,4} = 2; + list.xop{8,4} = 0; + - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Crystallography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -197,15 +197,15 @@ list.xop{8,1} = 'xop_dir'; list.xop{8,2} = 'Director % In case of one phase only, both 'list.cryst(1)' and 'list.cryst' can be % used in Matlab to refer to that phase. -list.cryst{1,1} = 'name'; list.cryst{1,2} = 'Name of phase to display (e.g. Al, Austenite, Beta_Titanium)'; +list.cryst{1,1} = 'name'; list.cryst{1,2} = 'Name of phase to display (e.g. Al, Austenite, Beta_Titanium)'; list.cryst{1,3} = 'char'; - list.cryst{1,4} = 2; -list.cryst{2,1} = 'composition'; list.cryst{2,2} = 'Chemical composition of phase (e.g BaTiO3)'; + list.cryst{1,4} = 1; +list.cryst{2,1} = 'composition'; list.cryst{2,2} = 'Chemical composition of phase (e.g BaTiO3)'; list.cryst{2,3} = 'char'; - list.cryst{2,4} = 2; + list.cryst{2,4} = 1; list.cryst{3,1} = 'material'; list.cryst{3,2} = 'Distinctive reference name of sample material (e.g AlLi_July2010_recrystallized)'; list.cryst{3,3} = 'char'; % to distinguish materials from different sources or processing - list.cryst{3,4} = 2; + list.cryst{3,4} = 1; list.cryst{4,1} = 'latticepar'; list.cryst{4,2} = 'Lattice parameters [a b c alpha beta gamma] (angstrom, deg)'; list.cryst{4,3} = 'double'; % size (1,6) list.cryst{4,4} = 2; @@ -258,294 +258,294 @@ list.cryst{20,1} = 'mult'; list.cryst{20,2} = 'Multi list.cryst{20,3} = 'double'; % size (1,n) list.cryst{20,4} = 2; - + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Parameters to describe the setup geometry %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % coordinates are given in the Lab reference -list.labgeo{1,1} = 'beamdir'; list.labgeo{1,2} = 'Beam direction in LAB reference (unit row vector)'; +list.labgeo{1,1} = 'beamdir'; list.labgeo{1,2} = 'Beam direction in LAB reference (unit row vector)'; list.labgeo{1,3} = 'double'; % size (1,3) - list.labgeo{1,4} = 2; -list.labgeo{2,1} = 'rotdir'; list.labgeo{2,2} = 'Rotation axis direction in LAB (unit row vector); omega is right-handed rotation'; + list.labgeo{1,4} = 1; +list.labgeo{2,1} = 'rotdir'; list.labgeo{2,2} = 'Rotation axis direction in LAB (unit row vector); omega is right-handed rotation'; list.labgeo{2,3} = 'double'; % size (1,3) - list.labgeo{2,4} = 2; -list.labgeo{3,1} = 'rotpos'; list.labgeo{3,2} = 'Rotation axis position (arbitrary point on axis) in LAB'; - list.labgeo{3,3} = 'double'; % size (1,3) - list.labgeo{3,4} = 2; + list.labgeo{2,4} = 1; +list.labgeo{3,1} = 'rotpos'; list.labgeo{3,2} = 'Rotation axis position (arbitrary point on axis) in LAB'; + list.labgeo{3,3} = 'double'; % size (1,3) + list.labgeo{3,4} = 1; list.labgeo{4,1} = 'detrefpos'; list.labgeo{4,2} = 'Detector reference point (usually center) position in LAB'; list.labgeo{4,3} = 'double'; % size (1,3) - list.labgeo{4,4} = 2; -list.labgeo{5,1} = 'detrefu'; list.labgeo{5,2} = 'Detector reference point U coordinate in pixels'; + list.labgeo{4,4} = 1; +list.labgeo{5,1} = 'detrefu'; list.labgeo{5,2} = 'Detector reference point U coordinate in pixels'; list.labgeo{5,3} = 'double'; % scalar - list.labgeo{5,4} = 2; -list.labgeo{6,1} = 'detrefv'; list.labgeo{6,2} = 'Detector reference point V coordinate in pixels'; + list.labgeo{5,4} = 1; +list.labgeo{6,1} = 'detrefv'; list.labgeo{6,2} = 'Detector reference point V coordinate in pixels'; list.labgeo{6,3} = 'double'; % scalar - list.labgeo{6,4} = 2; -list.labgeo{7,1} = 'detdiru'; list.labgeo{7,2} = 'Detector U direction in LAB (unit row vector)'; + list.labgeo{6,4} = 1; +list.labgeo{7,1} = 'detdiru'; list.labgeo{7,2} = 'Detector U direction in LAB (unit row vector)'; list.labgeo{7,3} = 'double'; % size (1,3) - list.labgeo{7,4} = 2; -list.labgeo{8,1} = 'detdirv'; list.labgeo{8,2} = 'Detector V direction in LAB (unit row vector)'; + list.labgeo{7,4} = 1; +list.labgeo{8,1} = 'detdirv'; list.labgeo{8,2} = 'Detector V direction in LAB (unit row vector)'; list.labgeo{8,3} = 'double'; % size (1,3) - list.labgeo{8,4} = 2; -list.labgeo{9,1} = 'pixelsizeu'; list.labgeo{9,2} = 'Detector pixel size in direction U (lab unit/pixel)'; - list.labgeo{9,3} = 'double'; % scalar - list.labgeo{9,4} = 2; -list.labgeo{10,1} = 'pixelsizev'; list.labgeo{10,2} = 'Detector pixel size in direction V (lab unit/pixel)'; - list.labgeo{10,3} = 'double'; % scalar - list.labgeo{10,4} = 2; -list.labgeo{11,1} = 'samenvtop'; list.labgeo{11,2} = 'Distance from rotpos to top of sample envelope along rotdir (signed scalar in lab units)'; - list.labgeo{11,3} = 'double'; % scalar - list.labgeo{11,4} = 2; -list.labgeo{12,1} = 'samenvbot'; list.labgeo{12,2} = 'Distance from rotpos to bottom of sample envelope along rotdir (signed scalar in lab units)'; - list.labgeo{12,3} = 'double'; % scalar - list.labgeo{12,4} = 2; -list.labgeo{13,1} = 'samenvrad'; list.labgeo{13,2} = 'Radius of sample envelope (in lab units)'; - list.labgeo{13,3} = 'double'; % scalar - list.labgeo{13,4} = 2; -list.labgeo{14,1} = 'detanglemin'; list.labgeo{14,2} = 'Detector minimum 2Theta angle to consider [computed]'; + list.labgeo{8,4} = 1; +list.labgeo{9,1} = 'pixelsizeu'; list.labgeo{9,2} = 'Detector pixel size in direction U (lab unit/pixel)'; + list.labgeo{9,3} = 'double'; % scalar + list.labgeo{9,4} = 1; +list.labgeo{10,1} = 'pixelsizev'; list.labgeo{10,2} = 'Detector pixel size in direction V (lab unit/pixel)'; + list.labgeo{10,3} = 'double'; % scalar + list.labgeo{10,4} = 1; +list.labgeo{11,1} = 'samenvtop'; list.labgeo{11,2} = '[Computed] Distance from rotpos to top of sample envelope along rotdir (signed scalar in lab units)'; + list.labgeo{11,3} = 'double'; % scalar + list.labgeo{11,4} = 0; +list.labgeo{12,1} = 'samenvbot'; list.labgeo{12,2} = '[Computed] Distance from rotpos to bottom of sample envelope along rotdir (signed scalar in lab units)'; + list.labgeo{12,3} = 'double'; % scalar + list.labgeo{12,4} = 0; +list.labgeo{13,1} = 'samenvrad'; list.labgeo{13,2} = '[Computed] Radius of sample envelope (in lab units)'; + list.labgeo{13,3} = 'double'; % scalar + list.labgeo{13,4} = 0; +list.labgeo{14,1} = 'detanglemin'; list.labgeo{14,2} = '[Computed] Detector minimum 2Theta angle to consider'; list.labgeo{14,3} = 'double'; % scalar - list.labgeo{14,4} = 2; -list.labgeo{15,1} = 'detanglemax'; list.labgeo{15,2} = 'Detector maximum 2Theta angle to consider [computed]'; - list.labgeo{15,3} = 'double'; % scalar - list.labgeo{15,4} = 2; -list.labgeo{16,1} = 'detnorm'; list.labgeo{16,2} = 'Detector normal direction in LAB (unit row vector) [computed]'; - list.labgeo{16,3} = 'double'; % size (1,3) - list.labgeo{16,4} = 2; -list.labgeo{17,1} = 'detorig'; list.labgeo{17,2} = 'Detector origin position (center of pixel 0,0) in LAB [computed]'; - list.labgeo{17,3} = 'double'; % size (1,3) - list.labgeo{17,4} = 2; -list.labgeo{18,1} = 'labunit'; list.labgeo{18,2} = 'LAB units (default is mm) [for records only]'; - list.labgeo{18,3} = 'char'; - list.labgeo{18,4} = 2; -list.labgeo{19,1} = 'deflabX'; list.labgeo{19,2} = 'Description how Lab X direction was chosen [for records only]'; - list.labgeo{19,3} = 'char'; - list.labgeo{19,4} = 2; -list.labgeo{20,1} = 'deflabY'; list.labgeo{20,2} = 'Description how Lab Y direction was chosen [for records only]'; - list.labgeo{20,3} = 'char'; - list.labgeo{20,4} = 2; -list.labgeo{21,1} = 'deflabZ'; list.labgeo{21,2} = 'Description how Lab Z direction was chosen [for records only]'; - list.labgeo{21,3} = 'char'; - list.labgeo{21,4} = 2; + list.labgeo{14,4} = 0; +list.labgeo{15,1} = 'detanglemax'; list.labgeo{15,2} = '[Computed] Detector maximum 2Theta angle to consider'; + list.labgeo{15,3} = 'double'; % scalar + list.labgeo{15,4} = 0; +list.labgeo{16,1} = 'detnorm'; list.labgeo{16,2} = '[Computed] Detector normal direction in LAB (unit row vector) [computed]'; + list.labgeo{16,3} = 'double'; % size (1,3) + list.labgeo{16,4} = 0; +list.labgeo{17,1} = 'detorig'; list.labgeo{17,2} = '[Computed] Detector origin position (center of pixel 0,0) in LAB [computed]'; + list.labgeo{17,3} = 'double'; % size (1,3) + list.labgeo{17,4} = 0; +list.labgeo{18,1} = 'labunit'; list.labgeo{18,2} = 'LAB units (default is mm) [for records only]'; + list.labgeo{18,3} = 'char'; + list.labgeo{18,4} = 1; +list.labgeo{19,1} = 'deflabX'; list.labgeo{19,2} = 'Description how Lab X direction was chosen [for records only]'; + list.labgeo{19,3} = 'char'; + list.labgeo{19,4} = 1; +list.labgeo{20,1} = 'deflabY'; list.labgeo{20,2} = 'Description how Lab Y direction was chosen [for records only]'; + list.labgeo{20,3} = 'char'; + list.labgeo{20,4} = 1; +list.labgeo{21,1} = 'deflabZ'; list.labgeo{21,2} = 'Description how Lab Z direction was chosen [for records only]'; + list.labgeo{21,3} = 'char'; + list.labgeo{21,4} = 1; list.labgeo{22,1} = 'detsizeu'; list.labgeo{22,2} = 'Number of pixels along the u direction'; list.labgeo{22,3} = 'double'; % scalar - list.labgeo{22,4} = 2; -list.labgeo{23,1} = 'detsizev'; list.labgeo{23,2} = 'Number of pixels along the v direction'; + list.labgeo{22,4} = 0; +list.labgeo{23,1} = 'detsizev'; list.labgeo{23,2} = 'Number of pixels along the v direction'; list.labgeo{23,3} = 'double'; % scalar - list.labgeo{23,4} = 2; -list.labgeo{24,1} = 'rotcomp'; list.labgeo{24,2} = 'Rotation matrix components [computed]'; - list.labgeo{24,3} = 'struct'; - list.labgeo{24,4} = 2; -list.labgeo__rotcomp{1,1} = 'const'; list.labgeo__rotcomp{1,2} = '[computed] See gtMathsRotationMatrixComp'; + list.labgeo{23,4} = 0; +list.labgeo{24,1} = 'rotcomp'; list.labgeo{24,2} = '[Computed] Rotation matrix components'; + list.labgeo{24,3} = 'struct'; + list.labgeo{24,4} = 0; +list.labgeo__rotcomp{1,1} = 'const'; list.labgeo__rotcomp{1,2} = '[Computed] See gtMathsRotationMatrixComp'; list.labgeo__rotcomp{1,3} = 'double'; % size (3,3) - list.labgeo__rotcomp{1,4} = 2; -list.labgeo__rotcomp{2,1} = 'cos'; list.labgeo__rotcomp{2,2} = '[computed] See gtMathsRotationMatrixComp'; + list.labgeo__rotcomp{1,4} = 0; +list.labgeo__rotcomp{2,1} = 'cos'; list.labgeo__rotcomp{2,2} = '[Computed] See gtMathsRotationMatrixComp'; list.labgeo__rotcomp{2,3} = 'double'; % size (3,3) - list.labgeo__rotcomp{2,4} = 2; -list.labgeo__rotcomp{3,1} = 'sin'; list.labgeo__rotcomp{3,2} = '[computed] See gtMathsRotationMatrixComp'; + list.labgeo__rotcomp{2,4} = 0; +list.labgeo__rotcomp{3,1} = 'sin'; list.labgeo__rotcomp{3,2} = '[Computed] See gtMathsRotationMatrixComp'; list.labgeo__rotcomp{3,3} = 'double'; % size (3,3) - list.labgeo__rotcomp{3,4} = 2; - - + list.labgeo__rotcomp{3,4} = 0; + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Sample geometry parameters for matching and indexing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.samgeo{1,1} = 'orig'; list.samgeo{1,2} = 'Lab coordinates of the origin of Sample reference'; +list.samgeo{1,1} = 'orig'; list.samgeo{1,2} = 'Lab coordinates of the origin of Sample reference'; list.samgeo{1,3} = 'double'; % size (1,3) - list.samgeo{1,4} = 2; -list.samgeo{2,1} = 'dirx'; list.samgeo{2,2} = 'Lab coordinates of Sample axis X (unit row vector)'; + list.samgeo{1,4} = 0; +list.samgeo{2,1} = 'dirx'; list.samgeo{2,2} = 'Lab coordinates of Sample axis X (unit row vector)'; list.samgeo{2,3} = 'double'; % size (1,3) - list.samgeo{2,4} = 2; -list.samgeo{3,1} = 'diry'; list.samgeo{3,2} = 'Lab coordinates of Sample axis Y (unit row vector)'; + list.samgeo{2,4} = 0; +list.samgeo{3,1} = 'diry'; list.samgeo{3,2} = 'Lab coordinates of Sample axis Y (unit row vector)'; list.samgeo{3,3} = 'double'; % size (1,3) - list.samgeo{3,4} = 2; -list.samgeo{4,1} = 'dirz'; list.samgeo{4,2} = 'Lab coordinates of Sample axis Z (unit row vector)'; + list.samgeo{3,4} = 0; +list.samgeo{4,1} = 'dirz'; list.samgeo{4,2} = 'Lab coordinates of Sample axis Z (unit row vector)'; list.samgeo{4,3} = 'double'; % size (1,3) - list.samgeo{4,4} = 2; -list.samgeo{5,1} = 'voxsize'; list.samgeo{5,2} = 'Voxel sizes of the Sample reference along X,Y,Z (lab unit/voxel); size(1,3)'; + list.samgeo{4,4} = 0; +list.samgeo{5,1} = 'voxsize'; list.samgeo{5,2} = 'Voxel sizes of the Sample reference along X,Y,Z (lab unit/voxel); size(1,3)'; list.samgeo{5,3} = 'double'; % size (1,3) - list.samgeo{5,4} = 2; + list.samgeo{5,4} = 0; + - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Database %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.database{1,1} = 'name'; list.database{1,2} = 'Database name'; +list.database{1,1} = 'name'; list.database{1,2} = 'Database name'; list.database{1,3} = 'char'; - list.database{1,4} = 2; -list.database{2,1} = 'host'; list.database{2,2} = 'Database host'; + list.database{1,4} = 0; +list.database{2,1} = 'host'; list.database{2,2} = 'Database host'; list.database{2,3} = 'char'; - list.database{2,4} = 2; -list.database{3,1} = 'user'; list.database{3,2} = 'Database user'; + list.database{2,4} = 0; +list.database{3,1} = 'user'; list.database{3,2} = 'Database user'; list.database{3,3} = 'char'; - list.database{3,4} = 2; -list.database{4,1} = 'password'; list.database{4,2} = 'Database password'; + list.database{3,4} = 0; +list.database{4,1} = 'password'; list.database{4,2} = 'Database password'; list.database{4,3} = 'char'; - list.database{4,4} = 2; + list.database{4,4} = 0; + - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Preprocessing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.prep{1,1} = 'normalisation'; list.prep{1,2} = 'How to normalise images (''margin''/''fullbeam'')'; +list.prep{1,1} = 'normalisation'; list.prep{1,2} = 'How to normalise images (''none''/''margin''/''fullbeam'')'; list.prep{1,3} = 'char'; list.prep{1,4} = 2; -list.prep{2,1} = 'absint'; list.prep{2,2} = 'Moving median interval, direct beam (images, mod(total projection, absint)=0)'; +list.prep{2,1} = 'absint'; list.prep{2,2} = 'Moving median interval, direct beam (images, mod(total projection, absint)=0)'; list.prep{2,3} = 'double'; % scalar - list.prep{2,4} = 2; -list.prep{3,1} = 'absrange'; list.prep{3,2} = 'Moving median range, direct beam (images, n*2*absint)'; + list.prep{2,4} = 1; +list.prep{3,1} = 'absrange'; list.prep{3,2} = 'Moving median range, direct beam (images, n*2*absint)'; list.prep{3,3} = 'double'; % scalar - list.prep{3,4} = 2; -list.prep{4,1} = 'fullint'; list.prep{4,2} = 'Moving median interval, diffracted image (images, mod(total projection, fullint)=0)'; + list.prep{3,4} = 1; +list.prep{4,1} = 'fullint'; list.prep{4,2} = 'Moving median interval, diffracted image (images, mod(total projection, fullint)=0)'; list.prep{4,3} = 'double'; % scalar - list.prep{4,4} = 2; -list.prep{5,1} = 'fullrange'; list.prep{5,2} = 'Moving median range, diffracted image (images, n*2*fullint)'; + list.prep{4,4} = 1; +list.prep{5,1} = 'fullrange'; list.prep{5,2} = 'Moving median range, diffracted image (images, n*2*fullint)'; list.prep{5,3} = 'double'; % scalar - list.prep{5,4} = 2; -list.prep{6,1} = 'margin'; list.prep{6,2} = 'Margin width for normalisation (pixels)'; + list.prep{5,4} = 1; +list.prep{6,1} = 'margin'; list.prep{6,2} = 'Margin width for normalisation (pixels)'; list.prep{6,3} = 'double'; % scalar list.prep{6,4} = 2; -list.prep{7,1} = 'intensity'; list.prep{7,2} = 'Assumed direct beam intensity of normalisation'; +list.prep{7,1} = 'intensity'; list.prep{7,2} = 'Assumed direct beam intensity of normalisation'; list.prep{7,3} = 'double'; % scalar list.prep{7,4} = 2; -list.prep{8,1} = 'filtsize'; list.prep{8,2} = '2D median filter size for full images [pixels x pixels]'; +list.prep{8,1} = 'filtsize'; list.prep{8,2} = '2D median filter size for full images [pixels x pixels]'; list.prep{8,3} = 'double'; % size (1,2) list.prep{8,4} = 2; -list.prep{9,1} = 'drifts_pad'; list.prep{9,2} = 'How to pad shifted images (''av'' or value)'; +list.prep{9,1} = 'drifts_pad'; list.prep{9,2} = 'How to pad shifted images (''av'' or value)'; list.prep{9,3} = 'char'; list.prep{9,4} = 2; -list.prep{10,1} = 'renumbered'; list.prep{10,2} = '...for interlaced scans'; +list.prep{10,1} = 'renumbered'; list.prep{10,2} = '[Computed] ...for interlaced scans'; list.prep{10,3} = 'logical'; - list.prep{10,4} = 2; -list.prep{11,1} = 'bbox'; list.prep{11,2} = 'Bounding Box'; + list.prep{10,4} = 0; +list.prep{11,1} = 'bbox'; list.prep{11,2} = '[Computed] Bounding Box'; list.prep{11,3} = 'double'; % size (1,4) - list.prep{11,4} = 2; -list.prep{12,1} = 'correct_drift'; list.prep{12,2} = ''; + list.prep{11,4} = 0; +list.prep{12,1} = 'correct_drift'; list.prep{12,2} = 'we will shift images at the end of preprocessing, no shifting before flatfielding...'; list.prep{12,3} = 'char'; - list.prep{12,4} = 2; -list.prep{13,1} = 'udrift'; list.prep{13,2} = 'Values for shifting images in U direction to compensate sample drifts'; + list.prep{12,4} = 0; +list.prep{13,1} = 'udrift'; list.prep{13,2} = '[Computed] Values for shifting images in U direction to compensate sample drifts'; list.prep{13,3} = 'double'; % row vector - list.prep{13,4} = 2; -list.prep{14,1} = 'udriftabs'; list.prep{14,2} = ''; + list.prep{13,4} = 0; +list.prep{14,1} = 'udriftabs'; list.prep{14,2} = '[Computed] Values for shifting abs images in U direction to compensate sample drifts'; list.prep{14,3} = 'double'; % row vector - list.prep{14,4} = 2; -list.prep{15,1} = 'vdrift'; list.prep{15,2} = 'Values for shifting images in V direction to compensate sample drifts'; + list.prep{14,4} = 0; +list.prep{15,1} = 'vdrift'; list.prep{15,2} = '[Computed] Values for shifting images in V direction to compensate sample drifts'; list.prep{15,3} = 'double'; % row vector - list.prep{15,4} = 2; + list.prep{15,4} = 0; -% ??? -% list.prep{16,1} = 'correct_drift_iteration'; list.prep{16,2} = ''; +% ??? +% list.prep{16,1} = 'correct_drift_iteration'; list.prep{16,2} = ''; % list.prep{16,3} = 'char'; -% list.prep{16,4} = 2; - - +% list.prep{16,4} = 0; + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Segmentation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.seg{1,1} = 'bbox'; list.seg{1,2} = 'Segmentation Bounding Box; segmentation is done excluding this area'; +list.seg{1,1} = 'bbox'; list.seg{1,2} = 'Segmentation Bounding Box; segmentation is done excluding this area'; list.seg{1,3} = 'double'; % size (1,4) list.seg{1,4} = 2; -list.seg{2,1} = 'method'; list.seg{2,2} = 'Segmentation method: ''singlethr'' - single threshold; ''doublethr'' - double threshold'; +list.seg{2,1} = 'method'; list.seg{2,2} = 'Segmentation method: ''singlethr'' - single threshold; ''doublethr'' - double threshold'; list.seg{2,3} = 'char'; list.seg{2,4} = 2; -list.seg{3,1} = 'thr_single'; list.seg{3,2} = 'Threshold for ''single threshold'' segmentation'; % old th2 - list.seg{3,3} = 'double'; % scalar +list.seg{3,1} = 'thr_single'; list.seg{3,2} = 'Threshold for ''single threshold'' segmentation'; % old th2 + list.seg{3,3} = 'double'; % scalar list.seg{3,4} = 2; -list.seg{4,1} = 'thr_seed'; list.seg{4,2} = 'Threshold for finding seeds (for double threshold)'; % old th1 for doublethr +list.seg{4,1} = 'thr_seed'; list.seg{4,2} = 'Threshold for finding seeds (for double threshold)'; % old th1 for doublethr list.seg{4,3} = 'double'; % scalar list.seg{4,4} = 2; -list.seg{5,1} = 'thr_grow_rat'; list.seg{5,2} = 'Relative intensity threshold for growing seeds (for double threshold)'; % old f +list.seg{5,1} = 'thr_grow_rat'; list.seg{5,2} = 'Relative intensity threshold for growing seeds (for double threshold)'; % old f list.seg{5,3} = 'double'; % scalar list.seg{5,4} = 2; -list.seg{6,1} = 'thr_grow_low'; list.seg{6,2} = 'Lower absolut limit of thr_grow for growing seeds (for double threshold)'; +list.seg{6,1} = 'thr_grow_low'; list.seg{6,2} = 'Lower absolut limit of thr_grow for growing seeds (for double threshold)'; list.seg{6,3} = 'double'; % scalar list.seg{6,4} = 2; -list.seg{7,1} = 'thr_grow_high'; list.seg{7,2} = 'Upper absolut limit of thr_grow for growing seeds (for double threshold)'; +list.seg{7,1} = 'thr_grow_high'; list.seg{7,2} = 'Upper absolut limit of thr_grow for growing seeds (for double threshold)'; list.seg{7,3} = 'double'; % scalar list.seg{7,4} = 2; -list.seg{8,1} = 'seedminarea'; list.seg{8,2} = 'Minimum seed area (for double threshold)'; - list.seg{8,3} = 'double'; % scalar +list.seg{8,1} = 'seedminarea'; list.seg{8,2} = 'Minimum seed area (for double threshold)'; + list.seg{8,3} = 'double'; % scalar list.seg{8,4} = 2; -list.seg{9,1} = 'minsize'; list.seg{9,2} = 'Minimum accepted volume of a blob in voxels (for single threshold)'; +list.seg{9,1} = 'minsize'; list.seg{9,2} = 'Minimum accepted volume of a blob in voxels (for single threshold)'; list.seg{9,3} = 'double'; % scalar list.seg{9,4} = 2; -list.seg{10,1} = 'omintlimmin'; list.seg{10,2} = 'Min. relative intensity in omega image stack to create difspots from blobs'; +list.seg{10,1} = 'omintlimmin'; list.seg{10,2} = 'Min. relative intensity in omega image stack to create difspots from blobs'; list.seg{10,3} = 'double'; % scalar; used in gtDBBlob2SpotTable_WriteDifspots list.seg{10,4} = 2; -list.seg{11,1} = 'omintlimtail'; list.seg{11,2} = 'Relative integrated intensity for tail cut off to create difspots from blobs'; +list.seg{11,1} = 'omintlimtail'; list.seg{11,2} = 'Relative integrated intensity for tail cut off to create difspots from blobs'; list.seg{11,3} = 'double'; % scalar; used in gtDBBlob2SpotTable_WriteDifspots list.seg{11,4} = 2; -list.seg{12,1} = 'minblobsize'; list.seg{12,2} = 'Minimum accepted blob size (for double threshold)'; +list.seg{12,1} = 'minblobsize'; list.seg{12,2} = 'Minimum accepted blob size (for double threshold)'; list.seg{12,3} = 'double'; % size (1,3) list.seg{12,4} = 2; -list.seg{13,1} = 'maxblobsize'; list.seg{13,2} = 'Maximum accepted blob size (for double threshold)'; +list.seg{13,1} = 'maxblobsize'; list.seg{13,2} = 'Maximum accepted blob size (for double threshold)'; list.seg{13,3} = 'double'; % size (1,3) list.seg{13,4} = 2; -list.seg{14,1} = 'extendblobinc'; list.seg{14,2} = 'Blob extention increment (for double threshold)'; +list.seg{14,1} = 'extendblobinc'; list.seg{14,2} = 'Blob extention increment (for double threshold)'; list.seg{14,3} = 'double'; % size (1,3) list.seg{14,4} = 2; -list.seg{15,1} = 'background_subtract'; list.seg{15,2} = 'Offset the remaining median value of each full image to zero (computed and applied outside seg.bbox)'; +list.seg{15,1} = 'background_subtract'; list.seg{15,2} = 'Offset the remaining median value of each full image to zero (computed and applied outside seg.bbox)'; list.seg{15,3} = 'logical'; list.seg{15,4} = 2; -list.seg{16,1} = 'overlaps_removed'; list.seg{16,2} = 'Removing of overlaps'; +list.seg{16,1} = 'overlaps_removed'; list.seg{16,2} = 'Removing of overlaps'; list.seg{16,3} = 'logical'; list.seg{16,4} = 2; -list.seg{17,1} = 'difspotmask'; list.seg{17,2} = 'Mask used to create difspot.edf from blob (''none''/''blob2D''/''blob3D'')'; +list.seg{17,1} = 'difspotmask'; list.seg{17,2} = 'Mask used to create difspot.edf from blob (''none''/''blob2D''/''blob3D'')'; list.seg{17,3} = 'char'; % used in gtDBBlob2SpotTable_WriteDifspots list.seg{17,4} = 2; -list.seg{18,1} = 'dbfields'; list.seg{18,2} = 'Database ''difspot'' table fields list'; +list.seg{18,1} = 'dbfields'; list.seg{18,2} = 'Database ''difspot'' table fields list'; list.seg{18,3} = 'char'; list.seg{18,4} = 2; -list.seg{19,1} = 'icut'; list.seg{19,2} = 'Difspots may extend over tens of images - we will sum up extspots only in the intensity percentile range [seg.icut : 1-seg.icut]'; +list.seg{19,1} = 'icut'; list.seg{19,2} = 'Difspots may extend over tens of images - we will sum up extspots only in the intensity percentile range [seg.icut : 1-seg.icut]'; list.seg{19,3} = 'double'; % scalar; used in gtDBBlob2SpotTable (is it still used?) list.seg{19,4} = 2; - - - + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Friedel pair matching %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.match{1,1} = 'thr_theta'; list.match{1,2} = 'Max. theta angular deviation for a match (in degrees)'; +list.match{1,1} = 'thr_theta'; list.match{1,2} = 'Max. theta angular deviation for a match (in degrees)'; list.match{1,3} = 'double'; % scalar list.match{1,4} = 2; -list.match{2,1} = 'thr_theta_scale'; list.match{2,2} = 'Linear scaling for thr_theta: thr = thr_theta + thr_theta_scale*theta'; +list.match{2,1} = 'thr_theta_scale'; list.match{2,2} = 'Linear scaling for thr_theta: thr = thr_theta + thr_theta_scale*theta'; list.match{2,3} = 'double'; % scalar list.match{2,4} = 2; -list.match{3,1} = 'thr_max_offset'; list.match{3,2} = 'Max. centroid image offset for a match (in no. of images)'; +list.match{3,1} = 'thr_max_offset'; list.match{3,2} = 'Max. centroid image offset for a match (in no. of images)'; list.match{3,3} = 'double'; % scalar list.match{3,4} = 2; -list.match{4,1} = 'thr_ext_offset'; list.match{4,2} = 'Max. offset of first and last image in omega stack (in no. of images)'; +list.match{4,1} = 'thr_ext_offset'; list.match{4,2} = 'Max. offset of first and last image in omega stack (in no. of images)'; list.match{4,3} = 'double'; % scalar list.match{4,4} = 2; -list.match{5,1} = 'thr_genim_offset'; list.match{5,2} = 'Max. offset for at least one of (centroid,first,last) image (in no. of images)'; +list.match{5,1} = 'thr_genim_offset'; list.match{5,2} = 'Max. offset for at least one of (centroid,first,last) image (in no. of images)'; list.match{5,3} = 'double'; % scalar list.match{5,4} = 2; -list.match{6,1} = 'thr_intint'; list.match{6,2} = 'Max. intensity ratio for a match (>1)'; +list.match{6,1} = 'thr_intint'; list.match{6,2} = 'Max. intensity ratio for a match (>1)'; list.match{6,3} = 'double'; % scalar list.match{6,4} = 2; -list.match{7,1} = 'thr_area'; list.match{7,2} = 'Max. area ratio for a match (>1)'; +list.match{7,1} = 'thr_area'; list.match{7,2} = 'Max. area ratio for a match (>1)'; list.match{7,3} = 'double'; % scalar list.match{7,4} = 2; -list.match{8,1} = 'thr_bbsize'; list.match{8,2} = 'Max. bbox size ratio (for both U and V) for a match (>1)'; +list.match{8,1} = 'thr_bbsize'; list.match{8,2} = 'Max. bbox size ratio (for both U and V) for a match (>1)'; list.match{8,3} = 'double'; % scalar list.match{8,4} = 2; -list.match{9,1} = 'minsizeu'; list.match{9,2} = 'Min. bbox U size in pixels for spots to be considered for matching'; +list.match{9,1} = 'minsizeu'; list.match{9,2} = 'Min. bbox U size in pixels for spots to be considered for matching'; list.match{9,3} = 'double'; % scalar list.match{9,4} = 2; -list.match{10,1} = 'minsizev'; list.match{10,2} = 'Min. bbox V size in pixels for spots to be considered for matching'; +list.match{10,1} = 'minsizev'; list.match{10,2} = 'Min. bbox V size in pixels for spots to be considered for matching'; list.match{10,3} = 'double'; % scalar list.match{10,4} = 2; -list.match{11,1} = 'addconstr'; list.match{11,2} = 'Additional constraints for spots to be considered (mysql command text)'; +list.match{11,1} = 'addconstr'; list.match{11,2} = 'Additional constraints for spots to be considered (mysql command text)'; list.match{11,3} = 'char'; list.match{11,4} = 2; -list.match{12,1} = 'thr_meanerror'; list.match{12,2} = 'Mean error under which a match is accepted'; +list.match{12,1} = 'thr_meanerror'; list.match{12,2} = 'Mean error under which a match is accepted'; list.match{12,3} = 'double'; % scalar list.match{12,4} = 2; -list.match{13,1} = 'thetalimits'; list.match{13,2} = 'Allowed theta subranges in degrees: [min max] size (n,2)'; +list.match{13,1} = 'thetalimits'; list.match{13,2} = 'Allowed theta subranges in degrees: [min max] size (n,2)'; list.match{13,3} = 'double'; % size (n,2) list.match{13,4} = 2; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Indexter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -555,103 +555,103 @@ list.index{1,1} = 'strategy'; list.index{1,2} = 'Strate list.index{2,1} = 'discard'; list.index{2,2} = 'Vector of pair id-s to be discarded in indexing'; list.index{2,3} = 'double'; % row vector list.index{2,4} = 2; - -list.index__strategy{1,1} = 'iter'; list.index__strategy{1,2} = 'Number of iteration loops'; + +list.index__strategy{1,1} = 'iter'; list.index__strategy{1,2} = 'Number of iteration loops'; list.index__strategy{1,3} = 'double'; % scalar list.index__strategy{1,4} = 2; -list.index__strategy{2,1} = 'rfzext'; list.index__strategy{2,2} = 'Extension of Rodrigues space for input reflections to account for measurement errors'; +list.index__strategy{2,1} = 'rfzext'; list.index__strategy{2,2} = 'Extension of Rodrigues space for input reflections to account for measurement errors'; list.index__strategy{2,3} = 'double'; % scalar list.index__strategy{2,4} = 2; -list.index__strategy{3,1} = 'b'; list.index__strategy{3,2} = 'Parameters for finding grains'; +list.index__strategy{3,1} = 'b'; list.index__strategy{3,2} = 'Parameters for finding grains'; list.index__strategy{3,3} = 'struct'; list.index__strategy{3,4} = 2; -list.index__strategy{4,1} = 'm'; list.index__strategy{4,2} = 'Parameters for merging grains'; +list.index__strategy{4,1} = 'm'; list.index__strategy{4,2} = 'Parameters for merging grains'; list.index__strategy{4,3} = 'struct'; list.index__strategy{4,4} = 2; -list.index__strategy{5,1} = 's'; list.index__strategy{5,2} = 'Parameters for adding pairs to grains based on statistics'; +list.index__strategy{5,1} = 's'; list.index__strategy{5,2} = 'Parameters for adding pairs to grains based on statistics'; list.index__strategy{5,3} = 'struct'; list.index__strategy{5,4} = 2; -list.index__strategy{6,1} = 'x'; list.index__strategy{6,2} = 'Parameters for excluding pairs from grains based on statistics'; +list.index__strategy{6,1} = 'x'; list.index__strategy{6,2} = 'Parameters for excluding pairs from grains based on statistics'; list.index__strategy{6,3} = 'struct'; list.index__strategy{6,4} = 2; - + list.index__strategy__b{1,1} = 'beg'; list.index__strategy__b{1,2} = 'Tolerances in the first iteration loop for finding grains'; list.index__strategy__b{1,3} = 'struct'; list.index__strategy__b{1,4} = 2; list.index__strategy__b{2,1} = 'end'; list.index__strategy__b{2,2} = 'Tolerances in the last iteration loop for finding grains'; list.index__strategy__b{2,3} = 'struct'; list.index__strategy__b{2,4} = 2; - -list.index__strategy__b__beg{1,1} = 'ang'; list.index__strategy__b__beg{1,2} = 'Max. angular deviation between two reflections in a grain (in degrees)'; + +list.index__strategy__b__beg{1,1} = 'ang'; list.index__strategy__b__beg{1,2} = 'Max. angular deviation between two reflections in a grain (in degrees)'; list.index__strategy__b__beg{1,3} = 'double'; % scalar list.index__strategy__b__beg{1,4} = 2; -list.index__strategy__b__beg{2,1} = 'int'; list.index__strategy__b__beg{2,2} = 'Max. relative intensity ratio of two reflections in a grain'; +list.index__strategy__b__beg{2,1} = 'int'; list.index__strategy__b__beg{2,2} = 'Max. relative intensity ratio of two reflections in a grain'; list.index__strategy__b__beg{2,3} = 'double'; % scalar list.index__strategy__b__beg{2,4} = 2; -list.index__strategy__b__beg{3,1} = 'bbxs'; list.index__strategy__b__beg{3,2} = 'Max. relative bounding box X (U) size ratio in a grain'; +list.index__strategy__b__beg{3,1} = 'bbxs'; list.index__strategy__b__beg{3,2} = 'Max. relative bounding box X (U) size ratio in a grain'; list.index__strategy__b__beg{3,3} = 'double'; % scalar list.index__strategy__b__beg{3,4} = 2; -list.index__strategy__b__beg{4,1} = 'bbys'; list.index__strategy__b__beg{4,2} = 'Max. relative bounding box Y (V) size ratio in a grain'; +list.index__strategy__b__beg{4,1} = 'bbys'; list.index__strategy__b__beg{4,2} = 'Max. relative bounding box Y (V) size ratio in a grain'; list.index__strategy__b__beg{4,3} = 'double'; % scalar list.index__strategy__b__beg{4,4} = 2; list.index__strategy__b__beg{5,1} = 'distf'; list.index__strategy__b__beg{5,2} = 'Max. distance between two diffraction paths (dmax = distf*grain_size)'; list.index__strategy__b__beg{5,3} = 'double'; % scalar list.index__strategy__b__beg{5,4} = 2; -list.index__strategy__b__beg{6,1} = 'distmax'; list.index__strategy__b__beg{6,2} = 'Max. absolut distance between two diffraction paths (in lab unit)'; +list.index__strategy__b__beg{6,1} = 'distmax'; list.index__strategy__b__beg{6,2} = 'Max. absolut distance between two diffraction paths (in lab unit)'; list.index__strategy__b__beg{6,3} = 'double'; % scalar list.index__strategy__b__beg{6,4} = 2; -list.index__strategy__b__beg{7,1} = 'ming'; list.index__strategy__b__beg{7,2} = 'Min. no. of Friedel pairs in a grain'; +list.index__strategy__b__beg{7,1} = 'ming'; list.index__strategy__b__beg{7,2} = 'Min. no. of Friedel pairs in a grain'; list.index__strategy__b__beg{7,3} = 'double'; % scalar list.index__strategy__b__beg{7,4} = 2; - -list.index__strategy__b__end{1,1} = 'ang'; list.index__strategy__b__end{1,2} = 'Max. angular deviation between two reflections in a grain (in degrees)'; + +list.index__strategy__b__end{1,1} = 'ang'; list.index__strategy__b__end{1,2} = 'Max. angular deviation between two reflections in a grain (in degrees)'; list.index__strategy__b__end{1,3} = 'double'; % scalar list.index__strategy__b__end{1,4} = 2; -list.index__strategy__b__end{2,1} = 'int'; list.index__strategy__b__end{2,2} = 'Max. relative intensity ratio of two reflections in a grain'; +list.index__strategy__b__end{2,1} = 'int'; list.index__strategy__b__end{2,2} = 'Max. relative intensity ratio of two reflections in a grain'; list.index__strategy__b__end{2,3} = 'double'; % scalar list.index__strategy__b__end{2,4} = 2; -list.index__strategy__b__end{3,1} = 'bbxs'; list.index__strategy__b__end{3,2} = 'Max. relative bounding box X (U) size ratio in a grain'; +list.index__strategy__b__end{3,1} = 'bbxs'; list.index__strategy__b__end{3,2} = 'Max. relative bounding box X (U) size ratio in a grain'; list.index__strategy__b__end{3,3} = 'double'; % scalar list.index__strategy__b__end{3,4} = 2; -list.index__strategy__b__end{4,1} = 'bbys'; list.index__strategy__b__end{4,2} = 'Max. relative bounding box Y (V) size ratio in a grain'; +list.index__strategy__b__end{4,1} = 'bbys'; list.index__strategy__b__end{4,2} = 'Max. relative bounding box Y (V) size ratio in a grain'; list.index__strategy__b__end{4,3} = 'double'; % scalar list.index__strategy__b__end{4,4} = 2; -list.index__strategy__b__end{5,1} = 'distf'; list.index__strategy__b__end{5,2} = 'Max. relative distance between two diffraction paths (dmax = distf*grain_size)'; +list.index__strategy__b__end{5,1} = 'distf'; list.index__strategy__b__end{5,2} = 'Max. relative distance between two diffraction paths (dmax = distf*grain_size)'; list.index__strategy__b__end{5,3} = 'double'; % scalar list.index__strategy__b__end{5,4} = 2; -list.index__strategy__b__end{6,1} = 'distmax'; list.index__strategy__b__end{6,2} = 'Max. absolut distance between two diffraction paths (in lab unit)'; +list.index__strategy__b__end{6,1} = 'distmax'; list.index__strategy__b__end{6,2} = 'Max. absolut distance between two diffraction paths (in lab unit)'; list.index__strategy__b__end{6,3} = 'double'; % scalar list.index__strategy__b__end{6,4} = 2; -list.index__strategy__b__end{7,1} = 'ming'; list.index__strategy__b__end{7,2} = 'Min. no. of Friedel pairs in a grain'; +list.index__strategy__b__end{7,1} = 'ming'; list.index__strategy__b__end{7,2} = 'Min. no. of Friedel pairs in a grain'; list.index__strategy__b__end{7,3} = 'double'; % scalar list.index__strategy__b__end{7,4} = 2; - + list.index__strategy__m{1,1} = 'beg'; list.index__strategy__m{1,2} = 'Tolerances in the first iteration loop for grains to be merged'; list.index__strategy__m{1,3} = 'struct'; list.index__strategy__m{1,4} = 2; list.index__strategy__m{2,1} = 'end'; list.index__strategy__m{2,2} = 'Tolerances in the last iteration loop for grains to be merged'; list.index__strategy__m{2,3} = 'struct'; list.index__strategy__m{2,4} = 2; - + list.index__strategy__m__beg{1,1} = 'bbxs'; list.index__strategy__m__beg{1,2} = 'Max. ratio of average bounding box X (U) size of grains'; list.index__strategy__m__beg{1,3} = 'double'; % scalar list.index__strategy__m__beg{1,4} = 2; -list.index__strategy__m__beg{2,1} = 'bbys'; list.index__strategy__m__beg{2,2} = 'Max. ratio of average bounding box Y (V) size of grains'; +list.index__strategy__m__beg{2,1} = 'bbys'; list.index__strategy__m__beg{2,2} = 'Max. ratio of average bounding box Y (V) size of grains'; list.index__strategy__m__beg{2,3} = 'double'; % scalar list.index__strategy__m__beg{2,4} = 2; -list.index__strategy__m__beg{3,1} = 'int'; list.index__strategy__m__beg{3,2} = 'Max. ratio of average spot intensities of grains'; +list.index__strategy__m__beg{3,1} = 'int'; list.index__strategy__m__beg{3,2} = 'Max. ratio of average spot intensities of grains'; list.index__strategy__m__beg{3,3} = 'double'; % scalar list.index__strategy__m__beg{3,4} = 2; -list.index__strategy__m__beg{4,1} = 'distf'; list.index__strategy__m__beg{4,2} = 'Max. relative distance between grain centers (dmax = distf*grain_size)'; +list.index__strategy__m__beg{4,1} = 'distf'; list.index__strategy__m__beg{4,2} = 'Max. relative distance between grain centers (dmax = distf*grain_size)'; list.index__strategy__m__beg{4,3} = 'double'; % scalar list.index__strategy__m__beg{4,4} = 2; -list.index__strategy__m__beg{5,1} = 'distmin'; list.index__strategy__m__beg{5,2} = 'Min. absolut limit for distance between grain centers'; +list.index__strategy__m__beg{5,1} = 'distmin'; list.index__strategy__m__beg{5,2} = 'Min. absolut limit for distance between grain centers'; list.index__strategy__m__beg{5,3} = 'double'; % scalar list.index__strategy__m__beg{5,4} = 2; -list.index__strategy__m__beg{6,1} = 'distmax'; list.index__strategy__m__beg{6,2} = 'Max. absolut limit for distance between grain centers'; +list.index__strategy__m__beg{6,1} = 'distmax'; list.index__strategy__m__beg{6,2} = 'Max. absolut limit for distance between grain centers'; list.index__strategy__m__beg{6,3} = 'double'; % scalar list.index__strategy__m__beg{6,4} = 2; -list.index__strategy__m__beg{7,1} = 'angf'; list.index__strategy__m__beg{7,2} = 'Max. relative angular difference between grains in std (angmax = angf*ang_std_grain)'; +list.index__strategy__m__beg{7,1} = 'angf'; list.index__strategy__m__beg{7,2} = 'Max. relative angular difference between grains in std (angmax = angf*ang_std_grain)'; list.index__strategy__m__beg{7,3} = 'double'; % scalar list.index__strategy__m__beg{7,4} = 2; list.index__strategy__m__beg{8,1} = 'angmin'; list.index__strategy__m__beg{8,2} = 'Min. absolut limit for angular difference between grains'; @@ -660,26 +660,26 @@ list.index__strategy__m__beg{8,1} = 'angmin'; list.index__strategy__m__ list.index__strategy__m__beg{9,1} = 'angmax'; list.index__strategy__m__beg{9,2} = 'Max. absolut limit for angular difference between grains'; list.index__strategy__m__beg{9,3} = 'double'; % scalar list.index__strategy__m__beg{8,4} = 2; - -list.index__strategy__m__end{1,1} = 'bbxs'; list.index__strategy__m__end{1,2} = 'Max. ratio of average bounding box X (U) size of grains'; + +list.index__strategy__m__end{1,1} = 'bbxs'; list.index__strategy__m__end{1,2} = 'Max. ratio of average bounding box X (U) size of grains'; list.index__strategy__m__end{1,3} = 'double'; % scalar list.index__strategy__m__end{1,4} = 2; -list.index__strategy__m__end{2,1} = 'bbys'; list.index__strategy__m__end{2,2} = 'Max. ratio of average bounding box Y (V) size of grains'; +list.index__strategy__m__end{2,1} = 'bbys'; list.index__strategy__m__end{2,2} = 'Max. ratio of average bounding box Y (V) size of grains'; list.index__strategy__m__end{2,3} = 'double'; % scalar list.index__strategy__m__end{2,4} = 2; -list.index__strategy__m__end{3,1} = 'int'; list.index__strategy__m__end{3,2} = 'Max. ratio of average spot intensities of grains'; +list.index__strategy__m__end{3,1} = 'int'; list.index__strategy__m__end{3,2} = 'Max. ratio of average spot intensities of grains'; list.index__strategy__m__end{3,3} = 'double'; % scalar list.index__strategy__m__end{3,4} = 2; -list.index__strategy__m__end{4,1} = 'distf'; list.index__strategy__m__end{4,2} = 'Max. relative distance between grain centers (dmax = distf*grain_size)'; +list.index__strategy__m__end{4,1} = 'distf'; list.index__strategy__m__end{4,2} = 'Max. relative distance between grain centers (dmax = distf*grain_size)'; list.index__strategy__m__end{4,3} = 'double'; % scalar list.index__strategy__m__end{4,4} = 2; -list.index__strategy__m__end{5,1} = 'distmin'; list.index__strategy__m__end{5,2} = 'Min. absolut limit for distance between grain centers'; +list.index__strategy__m__end{5,1} = 'distmin'; list.index__strategy__m__end{5,2} = 'Min. absolut limit for distance between grain centers'; list.index__strategy__m__end{5,3} = 'double'; % scalar list.index__strategy__m__end{5,4} = 2; -list.index__strategy__m__end{6,1} = 'distmax'; list.index__strategy__m__end{6,2} = 'Max. absolut limit for distance between grain centers'; +list.index__strategy__m__end{6,1} = 'distmax'; list.index__strategy__m__end{6,2} = 'Max. absolut limit for distance between grain centers'; list.index__strategy__m__end{6,3} = 'double'; % scalar list.index__strategy__m__end{6,4} = 2; -list.index__strategy__m__end{7,1} = 'angf'; list.index__strategy__m__end{7,2} = 'Max. relative angular difference between grains in std (angmax = angf*ang_std_grain)'; +list.index__strategy__m__end{7,1} = 'angf'; list.index__strategy__m__end{7,2} = 'Max. relative angular difference between grains in std (angmax = angf*ang_std_grain)'; list.index__strategy__m__end{7,3} = 'double'; % scalar list.index__strategy__m__end{7,4} = 2; list.index__strategy__m__end{8,1} = 'angmin'; list.index__strategy__m__end{8,2} = 'Min. absolut limit for angular difference between grains'; @@ -692,7 +692,7 @@ list.index__strategy__m__end{9,1} = 'angmax'; list.index__strategy__m__ list.index__strategy__s{1,1} = 'stdf'; list.index__strategy__s{1,2} = 'Max. deviation from average grain properties for a new reflection to be included in grain (in std)'; list.index__strategy__s{1,3} = 'double'; % scalar list.index__strategy__s{1,4} = 2; - + list.index__strategy__x{1,1} = 'stdf'; list.index__strategy__x{1,2} = 'Max. deviation from average grain properties for a reflection to be kept in grain (in std)'; list.index__strategy__x{1,3} = 'double'; % scalar list.index__strategy__x{1,4} = 2; @@ -702,7 +702,7 @@ list.index__strategy__x{1,1} = 'stdf'; list.index__strategy__x{1 % forward simulation of diffraction spots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% list.fsim{1,1} = 'check_spot'; list.fsim{1,2} = 'Check if there is not-segmented intensity in full images'; - list.fsim{1,3} = 'logical'; + list.fsim{1,3} = 'logical'; list.fsim{1,4} = 2; list.fsim{2,1} = 'omegarange'; list.fsim{2,2} = 'Check for spots and intensity in +/- omega_range'; list.fsim{2,3} = 'double'; % scalar @@ -742,16 +742,16 @@ list.fsim{12,1} = 'verbose'; list.fsim{12,2} = 'Displa % reconstruction %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.rec{1,1} = 'method'; list.rec{1,2} = 'method for the absorption reconstruction ''3DART''/''2DFBP'''; +list.rec{1,1} = 'method'; list.rec{1,2} = 'method for the absorption reconstruction ''3DART''/''2DFBP'''; list.rec{1,3} = 'double'; list.rec{1,4} = 2; -list.rec{2,1} = 'list'; list.rec{2,2} = 'list of grainID to be reconstructed'; +list.rec{2,1} = 'list'; list.rec{2,2} = 'list of grainID to be reconstructed'; list.rec{2,3} = 'double'; list.rec{2,4} = 2; -list.rec{3,1} = 'percentile2'; list.rec{3,2} = 'Adaptive threshold: percentile/100 * std below grain average value'; +list.rec{3,1} = 'percentile2'; list.rec{3,2} = 'Adaptive threshold: percentile/100 * std below grain average value'; list.rec{3,3} = 'double'; % scalar list.rec{3,4} = 2; -list.rec{4,1} = 'do_morph_recon'; list.rec{4,2} = 'Perform morphological reconstruction during segmentation'; +list.rec{4,1} = 'do_morph_recon'; list.rec{4,2} = 'Perform morphological reconstruction during segmentation'; list.rec{4,3} = 'logical'; list.rec{4,4} = 2; list.rec{5,1} = 'absinterval'; list.rec{5,2} = 'Interval between radiographs used for reconstruction of absorption scan'; @@ -763,10 +763,10 @@ list.rec{6,1} = 'abs_num_iter'; list.rec{6,2} = 'Number o list.rec{7,1} = 'num_iter'; list.rec{7,2} = 'Number of iterations used in SIRT reconstruction of grain volumes'; list.rec{7,3} = 'double'; % scalar list.rec{7,4} = 2; -% list.rec{8,1} = 'select_projections_auto'; list.rec{8,2} = 'select projecions automatically'; +% list.rec{8,1} = 'select_projections_auto'; list.rec{8,2} = 'select projecions automatically'; % list.rec{8,3} = 'logical'; % list.rec{8,4} = 2; -% list.rec{9,1} = 'use_extspots'; list.rec{9,2} = 'Use extension spots'; +% list.rec{9,1} = 'use_extspots'; list.rec{9,2} = 'Use extension spots'; % list.rec{9,3} = 'logical'; % list.rec{9,4} = 2; @@ -775,16 +775,16 @@ list.rec{7,1} = 'num_iter'; list.rec{7,2} = 'Number o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % fed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -list.fed{1,1} = 'dir'; list.fed{1,2} = 'Data analysis directory'; +list.fed{1,1} = 'dir'; list.fed{1,2} = 'Data analysis directory'; list.fed{1,3} = 'char'; list.fed{1,4} = 2; -list.fed{2,1} = 'dct_vol'; list.fed{2,2} = 'Dct reconstructed volume filename (.edf)'; +list.fed{2,1} = 'dct_vol'; list.fed{2,2} = 'Dct reconstructed volume filename (.edf)'; list.fed{2,3} = 'char'; list.fed{2,4} = 2; -list.fed{3,1} = 'dct_offset'; list.fed{3,2} = 'Offset to be applied to the volume [x y z]'; +list.fed{3,1} = 'dct_offset'; list.fed{3,2} = 'Offset to be applied to the volume [x y z]'; list.fed{3,3} = 'double'; % size (1,3) list.fed{3,4} = 2; -list.fed{4,1} = 'renumber_list'; list.fed{4,2} = 'Renumbering list for grainID'; +list.fed{4,1} = 'renumber_list'; list.fed{4,2} = 'Renumbering list for grainID'; list.fed{4,3} = 'double'; % row vector list.fed{4,4} = 2;