Ok, solved this by drawing the image in a CGContext:
UIGraphicsBeginImageContext(CGSizeMake(width * numberOfColoumns, height * numberOfRows));
for (int ii = 0; ii < numberOfRows; ii++) {
for (int jj = 0; jj < numberOfColoumns; jj++) {
float x = jj * width;
float y = ii * height;
[filteredImage drawInRect:CGRectMake(x, y, width, height)];
}
}
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();