- Author:
- WeiweiAi <wai484@aucklanduni.ac.nz>
- Date:
- 2022-04-14 10:56:16+12:00
- Desc:
- remove alias in components; allow labeling vars pass by parameters
- Permanent Source URI:
- https://staging.physiomeproject.org/workspace/6bc/rawfile/2a39f3dee502df3bf8992cf16931e290b90c0b86/Scripts/copyComp.m
function comp=copyComp(comp,listComp,idx)
cmnames=string(extractfield(comp,'name'));%unique
if length(cmnames)>length(unique(cmnames))
disp('There are repetitions of component names')
return
end
def=listComp(:,1);
name=listComp(:,2);
nComp=length(name);
defaultVars=listComp(:,3);
for i=1:nComp
% default
icomp=comp(cmnames==def(i));
icomp.name=name(i);
if defaultVars=="N"
% rename some of the aliases for mapping
nvar=length(icomp.vars(:,idx.var));
for n=1:nvar
var= icomp.vars(n,idx.var);
alias=icomp.vars(n,idx.alias);
prompt = sprintf('%s-->:%s?',var,alias);
str = input(prompt,"s");
if ~isempty(str)
icomp.vars(n,idx.alias)=str;
end
end
end
comp=[comp,icomp];
end
end