\in [0, 1]$ and $\Sigma_{i=1}^{c}f(X)_{i}=1$. $c$ is typically a small integer, e.g. $c=5$ represents the benign-calcification, malignant-calcification, benign-mass, malignant-mass and background classes of a patch from a mammogram. Assume the input patch is extracted from an image $M\in \rm I\!R^{r\times s}$ where $p \ll r$ and $q \ll s$. If the function $f$ represents a convolutional neural network (CNN), then $f$ can be applied to $M$ without changing the network parameters so that $f(M)\in \rm I\!R^{u \times v \times c}$, where $u > 1$ and $v > 1$ depend on the image size and the stride of the patch classifier. This is possible because of the weight sharing and locality properties of a CNN. If the function $f$ represents a different class of neural networks, such as the multilayer perceptron (MLP), then this becomes infeasible since a MLP requires the input to be fixed. Therefore, after changing the input from $X$ to $M$, we have a $u \times v$ grid of probabilistic outputs of $c$ classes (referred to as “heatmap”) instead of a single output of $c$ classes. Hence the heatmap has a size of $u \times v \times c$. More layers can then be added on top of the 