function m = SubjectRoiMapping(argv)
%SUBJECTROIMAPPING Subject to ROI to Coordinate Mapping Class Constructor
%   m = SUBJECTROIMAPPING() creates a predefined ROI Coordinate Mapping.
%   normally called without any arguments

if nargin == 0
    m.subject{1} ='AI020';
    m.subject{2} ='BD001';
    m.subject{3} ='HG027';
    m.subject{4} ='IK011';
    m.subject{5} ='JZ006'; % Guter Proband
    m.subject{6} ='LB001';
    m.subject{7} ='SW007';
    m.subject{8} ='VW005';

    m.subjectNameMap = java.util.HashMap;
    for subj = 1:size(m.subject,2)
        m.subjectNameMap.put(m.subject{subj},subj);
    end    
    
    
    
    m.roi_name{1}  ='SPL l'; % <-Parietalkortex links 
    m.roi_name{2}  ='SPL r'; % <-Parietalkortex rechts 
    m.roi_name{3}  ='PMd l'; 
    m.roi_name{4}  ='PMd r'; 
    m.roi_name{5}  ='IPSa l'; 
    m.roi_name{6}  ='IPSa r'; 
    m.roi_name{7}  ='SMA'; 
    m.roi_name{8}  ='DLPFC'; 
    m.roi_name{9}  ='V1 l'; 
    m.roi_name{10} ='V1 r'; 
    m.roi_name{11} ='M1 l'; % <-Motorischer Cortex l 
    m.roi_name{12} ='M1 r'; % <-Motorischer Cortex r 
    
    m.roiNameMap = java.util.HashMap;
    for roi = 1:size(m.roi_name,2)
        m.roiNameMap.put(m.roi_name{roi},roi);
    end

    
    % Koordinaten aller Probanden A von den ROIS B: rois{A}(B,[x y z in mm]) 
    m.coordinate{1}(1,:)  = [-18, -78, 53];
    m.coordinate{1}(2,:)  = [12, -69, 46];
    m.coordinate{1}(3,:)  = [-21, -12, 49];
    m.coordinate{1}(4,:)  = [30, -12, 53];
    m.coordinate{1}(5,:)  = [-30, -51, 39];
    m.coordinate{1}(6,:)  = [ 33, -60, 49];
    m.coordinate{1}(7,:)  = [ -9, 6, 46];
    m.coordinate{1}(8,:)  = [-27 27 48];
    m.coordinate{1}(9,:)  = [-6, -90, -7];
    m.coordinate{1}(10,:) = [12, -90, -4];
    m.coordinate{1}(11,:) = [-57, -24, 49];
    m.coordinate{1}(12,:) = [42, -24, 60];
    m.coordinate{2}(1,:)  = [-9, -72, 56]; 
    m.coordinate{2}(2,:)  = [15, -72, 60]; 
    m.coordinate{2}(3,:)  = [-30, -9, 53]; 
    m.coordinate{2}(4,:)  = [ 30, -9, 49]; 
    m.coordinate{2}(5,:)  = [-42 -36 39]; 
    m.coordinate{2}(6,:)  = [30 -36 42]; 
    m.coordinate{2}(7,:)  = [ -3, 6, 53];
    m.coordinate{2}(8,:)  = [-27 30 28];
    m.coordinate{2}(9,:)  = [-6, -81, -7]; 
    m.coordinate{2}(10,:) = [9, -78, -7];
    m.coordinate{2}(11,:) = [-51, -24, 60];
    m.coordinate{2}(12,:) = [48, -21, 63]; 
    m.coordinate{3}(1,:)  = [-15, -72, 60];
    m.coordinate{3}(2,:)  = [15, -66, 63];
    m.coordinate{3}(3,:)  = [-27, -12, 56];
    m.coordinate{3}(4,:)  = [24 -15 53];
    m.coordinate{3}(5,:)  = [-36 -36 42];
    m.coordinate{3}(6,:)  = [30 -39 35];
    m.coordinate{3}(7,:)  = [-9, 3, 53]; 
    m.coordinate{3}(8,:)  = [-30 30 28];
    m.coordinate{3}(9,:)  = [-3, -90, 4];
    m.coordinate{3}(10,:) = [15, -99, 14];
    m.coordinate{3}(11,:) = [-27, -27, 74];
    m.coordinate{3}(12,:) = [36, -27, 70]; 
    m.coordinate{4}(1,:)  = [-21, -69, 63]; 
    m.coordinate{4}(2,:)  = [21, -69, 63];
    m.coordinate{4}(3,:)  = [-33 -12 53];
    m.coordinate{4}(4,:)  = [12 -9 60];
    m.coordinate{4}(5,:)  = [-33 -35 46];
    m.coordinate{4}(6,:)  = [42 -36 39];
    m.coordinate{4}(7,:)  = [-3 0 49];
    m.coordinate{4}(8,:)  = [-33 33 28];
    m.coordinate{4}(9,:)  = [-3, -90, -7];
    m.coordinate{4}(10,:) = [9, -81, -7];
    m.coordinate{4}(11,:) = [-39, -27, 53];
    m.coordinate{4}(12,:) = [51, -24, 60];
    m.coordinate{5}(1,:)  = [-12 -66 63];
    m.coordinate{5}(2,:)  = [12, -75, 60];
    m.coordinate{5}(3,:)  = [-24, -12, 53];
    m.coordinate{5}(4,:)  = [27, -9, 60]; 
    m.coordinate{5}(5,:)  = [-42 -42 35]; 
    m.coordinate{5}(6,:)  = [33 -48 35];
    m.coordinate{5}(7,:)  = [ -3, 0, 49];
    m.coordinate{5}(8,:)  = [-36 33 28];
    m.coordinate{5}(9,:)  = [-15, -93, -4];
    m.coordinate{5}(10,:) = [15, -90, 4]; 
    m.coordinate{5}(11,:) = [-39, -33, 67];
    m.coordinate{5}(12,:) = [27, -18, 74];
    m.coordinate{6}(1,:)  = [-21, -69, 60];
    m.coordinate{6}(2,:)  = [9, -72, 63];
    m.coordinate{6}(3,:)  = [-24 -12 53];
    m.coordinate{6}(4,:)  = [32 -12 56]; 
    m.coordinate{6}(5,:)  = [-36 -39 35];
    m.coordinate{6}(6,:)  = [42 -33 46]; 
    m.coordinate{6}(7,:)  = [-6 3 49]; 
    m.coordinate{6}(8,:)  = [-36 33 28];
    m.coordinate{6}(9,:)  = [-12, -99, 0];
    m.coordinate{6}(10,:) = [9, -96, -7];
    m.coordinate{6}(11,:) = [-48, -27, 60];
    m.coordinate{6}(12,:) = [33, -33, 60];
    m.coordinate{7}(1,:)  = [-21, -60, 56]; 
    m.coordinate{7}(2,:)  = [12, -69, 60]; 
    m.coordinate{7}(3,:)  = [-24, -12, 49];
    m.coordinate{7}(4,:)  = [24, -6, 49]; 
    m.coordinate{7}(5,:)  = [-33 -45 46]; 
    m.coordinate{7}(6,:)  = [30, -51, 49];
    m.coordinate{7}(7,:)  = [0, 9, 42]; 
    m.coordinate{7}(8,:)  = [-30 36 35]; 
    m.coordinate{7}(9,:)  = [-3, -84, -4];
    m.coordinate{7}(10,:) = [18, -87, -7];
    m.coordinate{7}(11,:) = [-36, -30, 63]; 
    m.coordinate{7}(12,:) = [42, -27, 60];
    m.coordinate{8}(1,:)  = [-27, -63, 53];
    m.coordinate{8}(2,:)  = [18, -66, 56];
    m.coordinate{8}(3,:)  = [-21, -6, 56];
    m.coordinate{8}(4,:)  = [27 -6 53]; 
    m.coordinate{8}(5,:)  = [-36, -51, 49];
    m.coordinate{8}(6,:)  = [45, -39, 53];
    m.coordinate{8}(7,:)  = [-9, 9, 53];
    m.coordinate{8}(8,:)  = [-36 24 25]; 
    m.coordinate{8}(9,:)  = [0, -90, 4]; 
    m.coordinate{8}(10,:) = [0, -90, 4];
    m.coordinate{8}(11,:) = [-42, -27, 67]; 
    m.coordinate{8}(12,:) = [51, -27, 63]; 

    m = class(m,'SubjectRoiMapping');
    
elseif isa(argv,'SubjectRoiMapping') % copy
   m = argv;

else
error('SubjectRoiMapping:Constructor:NoSuchConstructor','There is no constructor matching your argv');
end