separately by attenuation values does not work here, since across multiple channels different materials can have the same attenuation. Therefore, there are some slight changes in the other blocks as well due to a new labeling mechanism. The algorithm structure is shown in the flow-chart in Figure \[fig:FlowChartMCDART\]. The pseudocode of MC-DART is given in Algorithm \[Alg:MCDart\].

![Flow chart of the MC-DART algorithm. A stacked number of activities indicate that they are applied at different channels simultaneously.[]{data-label="fig:FlowChartMCDART"}](figure6.eps){width="100.00000%"}

**[Input]{}: $\vec{W}$, $\mathcal{E}$, $\vec{P}$, $\vec{\mathcal{R}}$, $\mathcal{M}$, $\mu$ $\vec{x}_{E_c}^0 \gets\ \text{Mask-ARM}(\vec{W}, \vec{p}_{E_c}, \bf{1}_n, \bf{0}_n)$ $\vec{y}^k \gets \ \text{MCSeg}(\vec{X}^k, \vec{\mathcal{R}}, \mathcal{M}, \mu)$ $\vec{M}^k \gets \ \text{Mask}(\vec{y}^k)$ $\vec{x}_{E_c}^k \gets \ \text{Mask-ARM}(\vec{W}, \vec{p}_{E_c}, \vec{M}^k, \vec{x}_{E_c}^{k-1})$ $\textbf{Output:}\ \vec{X}^K,\text{MCSeg}(\vec{X}^K, \vec{\mathcal{R}}, \mathcal{M}, \mu)$**

### Initialization

In the multi-channel setting we start out with a vector of projection data $\vec{P}$ at various channels and the matrix $\vec{W}$ as before. For each channel $E_c$ a reconstruction $x_{E_c}^0$ is computed using the selected ARM. This results in $C$ initial reconstructions for the MC-DART loop.

### Multi-Channel Segmentation

Given the reconstructions for all channels, similar to the DART segmentation, the multi-channel segmentation will determine a label image $\vec{y}^k \in \mathcal{M}^n$. Let $\vec{\mu}(s) = (\mu(s,E_1), \ldots, \mu(s,E_C)) \in \mathcal{R}_{E_1} \times \mathcal{R}_{E_2} \times \ldots \times \mathcal{R}_{E_C}$ 