setConSplitMerge

Set functions to split and merge the contrast by a logical vector.

Contents

Syntax

seti = setConSplitMerge(seti)

Description

seti = setConSplitMerge(seti) provides the function handles seti.qObs and seti.qBack to split the contrast into obstacle and background by a given logical vector seti.obsMask. Further, the function handle seti.qMerge can merge this two parts again.

Example

seti.nROI = 3;
seti.dim = 2;
maxind = seti.nROI^seti.dim;
seti.obsMask = zeros(maxind,1); seti.obsMask([3:5,7]) = 1;
seti.obsMask = logical(seti.obsMask);
seti = setConSplitMerge(seti);
q = 10.*transpose([1:maxind]);
qObs = seti.qObs(q);
qBack = seti.qBack(q);
qMerge = seti.qMerge(qObs,qBack);

Input Arguments

Output Arguments

More About

This functions are used to split and merge the contrast into two parts: the obstacle and the background. This can be used as a priori information from e.g. the factorization method to improve the reconstruction setting the background pixels to 0 using fp2 as term of $G$, see setInvType.html.

See Also

Code

function seti = setConSplitMerge(seti)

ind = transpose(1:seti.nROI^seti.dim);

% Split:
seti.qObs = @(q) q(ind(seti.obsMask));
seti.qBack = @(q) q(ind(seti.obsMask~=1));

% Merge:
seti.qMerge = @(qObs,qBack) qMerge(qObs,qBack,ind,seti);

end

function q = qMerge(qObs,qBack,ind,seti)
q(ind(seti.obsMask)) = qObs;
q(ind(seti.obsMask~=1)) = qBack;
q = transpose(q);
end