
% Full List of folders of clustering tasks
%
% (1) 2_bull_cow
% (2) 2_cup_teapot
% (3) 2_plane_helicopter
% (4) 3_camel_elephant_deer
% (5) 3_clock
% (6) 3_swan_eagle_seagull
% (7) 4_eye_mouth_ear_nose
% (8) 4_flowers
% (9) 4_pc
% (10) 5_deer_cat_wolf_tiger_lion
% (11) 5_musical_intrument
% (12) 5_tiger_leopard_zebra_dog_cow



function para = getParametersForExp(task_id)


if task_id==1
    %% parameters for task 1
    
    para.foldName = '2_bull_cow';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [1.4 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 2;
    para.numWavelet = 350;   % default 300, 370
    para.numEMIteration = 8;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=2*(-1:1);
    para.relativePartLocationRange=2;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 2;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=3;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 1;
    
    
elseif task_id == 2
    
    para.foldName = '2_cup_teapot';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [1.4 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 2;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 8;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=2*(-1:1);
    para.relativePartLocationRange=2;
    
    para.resolutionShiftLimit = 1;
    
    
    para.rotateShiftLimit = 2;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.47;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=3;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 1;
    
elseif task_id == 3
    
    para.foldName = '2_plane_helicopter';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 60;
    
    para.GaborScaleList = [1.2 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 2;
    para.numWavelet = 200;   % default 300, 370
    para.numEMIteration = 15;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=2*(-1:1);
    para.relativePartLocationRange=2;
    
    para.resolutionShiftLimit = 1;
    
    
    para.rotateShiftLimit = 2;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=3;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 1;
    
    
elseif task_id == 4
    
    para.foldName = '3_camel_elephant_deer';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [1.4 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 3;
    para.numWavelet = 350;   % default 300, 370
    para.numEMIteration = 15;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=2*(-1:1);
    para.relativePartLocationRange=2;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 2;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.47;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=3;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 5;
    
    
elseif task_id == 5
    
    para.foldName = '3_clock';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 3;
    para.numWavelet = 350;   % default 300, 370
    para.numEMIteration = 10;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=2;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 3;
    
elseif task_id == 6
    
    para.foldName = '3_swan_eagle_seagull';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [1.4 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 3;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 10;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=1;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 1;
    
    
elseif task_id == 7
    
    para.foldName = '4_eye_mouth_ear_nose';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [1.4 1 0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 4;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 10;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=1;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 1;
    
elseif task_id == 8
    
    para.foldName = '4_flowers';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 4;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 15;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=1;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 5;
    
elseif task_id == 9
  
     para.foldName = '4_pc';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 4;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 15;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=1;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 2;
    
    
    
elseif task_id==10
    
    para.foldName = '5_deer_cat_wolf_tiger_lion';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 5;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 18;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 0;
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.47;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=3;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 9;
    
    
elseif task_id == 11
    
    para.foldName = '5_musical_intrument';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 50;
    
    para.GaborScaleList = [0.7, 0.5];
    para.DoGScaleList = [];
    
    para.numCluster = 5;
    para.numWavelet = 350;   % default 300, 370
    para.numEMIteration = 10;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 2;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.47;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=2;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 5;
    
    
elseif task_id == 12
    
    para.foldName = '5_tiger_leopard_zebra_dog_cow';
    
    para.nPartCol = 2;
    para.nPartRow = 2;
    para.part_sx = 50;
    para.part_sy = 60;
    
    para.GaborScaleList = [0.7];
    para.DoGScaleList = [];
    
    para.numCluster = 5;
    para.numWavelet = 300;   % default 300, 370
    para.numEMIteration = 15;
    para.isLocalNormalize = true;
    
    para.relativePartRotationRange=1*(-1:1);
    para.relativePartLocationRange=1;
    
    para.resolutionShiftLimit = 1;
    
    para.rotateShiftLimit = 3;   % template rotation  from -rotateShiftLimit to rotateShiftLimit, eg. (1)-2:2 if rotateShiftLimit=2 (2)0 is without rotation
    para.ratioDisplacementSUM3=0.45;   % default=0. Compute all values in SUM3 map
    
    para.locationShiftLimit=1;  % arg-max
    para.orientShiftLimit=1;    % arg-max
    
    para.numResolution = 3;
    
    
end
