Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# wfusmat

Fusion of two matrices or arrayz

## Syntax

C = wfusmat(A,B,METHOD)

## Description

C = wfusmat(A,B,METHOD) returns the fused matrix C obtained from the matrices A and B using the fusion method defined by METHOD.

The matrices A and B must be of the same size. The output matrix C is of the same size as A and B.

Available fusion methods are

• Simple, where METHOD is

• 'max' : D = abs(A) abs(B) ; C = A(D) + B(~D)

• 'min' : D = abs(A) abs(B) ; C = A(D) + B(~D)

• 'mean' : C = (A+B) / 2 ; D = ones(size(A))

• 'rand' : C = A(D) + B(~D); D is a Boolean random matrix

• 'img1' : C = A

• 'img2' : C = B

• Parameter-dependent, where METHOD is of the following form:

```METHOD = struct('name',nameMETH,'param',paramMETH)
```

where nameMETH can be

• 'linear' : C = A*paramMETH + B*(1-paramMETH),

where 0 £ paramMETH 1

• 'UD_fusion': Up-down fusion, with paramMETH ≥ 0

```x = linspace(0,1,size(A,1));
P = x.^paramMETH;
```

Then each row of C is computed with

```C(i,:) = A(i,:)*(1-P(i)) + B(i,:)*P(i);
So C(1,:) = A(1,:) and C(end,:) = A(end,:)
```
• 'DU_fusion': Down-up fusion

• 'LR_fusion': Left-right fusion (columnwise fusion)

• 'RL_fusion': Right-left fusion (columnwise fusion)

• 'UserDEF': User-defined fusion, paramMETH is a string 'userFUNCTION' containing a function name such that C = userFUNCTION(A,B).

In addition, [C,D] = wfusmat(A,B,METHOD) returns the Boolean matrix D when defined, or an empty matrix otherwise.