A method of identifying and outlining tumors in a histological image or set thereof, the method comprising: receiving a histological image or set thereof from a record stored in a data repository; extracting (S51, S52) image patches from the histological image or set thereof, the image patches being area portions of the histological image or set thereof having a size defined by numbers of pixels in width and height; providing a convolutional neural network with a set of weights and a plurality of channels, each channel corresponding to one of a plurality of tissue classes to be identified, wherein one or more of the plurality of tissue classes include one or more non-tumorous tissue classes and two or more of the plurality of tissue classes include two or more tumorous tissue classes, wherein the two or more tumorous tissue classes represent different types of tumors; inputting each image patch as an input image patch into the convolutional neural network; performing multi-stage convolution to generate convolution layers of ever decreasing dimensions up to and including a final convolution layer of minimum dimensions, followed by multi-stage transpose convolution to reverse the convolutions by generating deconvolution layers of ever increasing dimensions until a layer is recovered matched in size, defined by numbers of pixels in width and height, to the input image patch, each pixel in the recovered layer containing a value convertible into a probability of belonging to each of the tissue classes; assigning a tissue class from the one or more non-tumorous tissue classes and the two or more tumorous tissue classes to each pixel of the recovered layer based on the probability of belonging to each of the tissue classes to arrive at an output image patch; providing the convolutional neural network with at least one skip connection, each of which takes intermediate results from at least one of the convolution layers of larger dimensions than the final convolution layer and subjects those results to as many transpose convolutions as needed, which may be none, one or more than one, to obtain at least one further recovered layer matched in size, defined by numbers of pixels in width and height, to the input image patch via separate sequences of deconvolution layers; and prior to said step of assigning a tissue class to each pixel, further processing the recovered layer to combine it with the at least one further recovered layers in order to recompute the values to take account of the at least one skip connection, and then converting the values into probabilities. receiving a histological image or set thereof from a record stored in a data repository; extracting (S51, S52) image patches from the histological image or set thereof, the image patches being area portions of the histological image or set thereof having a size defined by numbers of pixels in width and height; providing a convolutional neural network with a set of weights and a plurality of channels, each channel corresponding to one of a plurality of tissue classes to be identified, wherein one or more of the plurality of tissue classes include one or more non-tumorous tissue classes and two or more of the plurality of tissue classes include two or more tumorous tissue classes, wherein the two or more tumorous tissue classes represent different types of tumors; inputting each image patch as an input image patch into the convolutional neural network; performing multi-stage convolution to generate convolution layers of ever decreasing dimensions up to and including a final convolution layer of minimum dimensions, followed by multi-stage transpose convolution to reverse the convolutions by generating deconvolution layers of ever increasing dimensions until a layer is recovered matched in size, defined by numbers of pixels in width and height, to the input image patch, each pixel in the recovered layer containing a value convertible into a probability of belonging to each of the tissue classes; assigning a tissue class from the one or more non-tumorous tissue classes and the two or more tumorous tissue classes to each pixel of the recovered layer based on the probability of belonging to each of the tissue classes to arrive at an output image patch; providing the convolutional neural network with at least one skip connection, each of which takes intermediate results from at least one of the convolution layers of larger dimensions than the final convolution layer and subjects those results to as many transpose convolutions as needed, which may be none, one or more than one, to obtain at least one further recovered layer matched in size, defined by numbers of pixels in width and height, to the input image patch via separate sequences of deconvolution layers; and prior to said step of assigning a tissue class to each pixel, further processing the recovered layer to combine it with the at least one further recovered layers in order to recompute the values to take account of the at least one skip connection, and then converting the values into probabilities.