struct pixel **read_pixel_array(FILE *image, int pixel_array_offset, int width, int height) {
        struct pixel **pixels = malloc(sizeof(struct pixel*) * height);
        for (int i = 0; i < height; i++) {
                pixels[i] = malloc(sizeof(struct pixel) * width);
        }

        for (int m = 0; m < height; m++) {
                for (int n = 0; n < width; n++) {
                        fread(&pixels[m][n], sizeof(struct pixel), pixel_array_offset, image);
                }
        }

        return pixels;
}