segmentation fault?
struct pixel **read_pixel_array(FILE *image, int pixel_array_offset, int width, int height) {
    
    // allocate space for m struct pixel * values
    struct pixel **ptr = (struct pixel**) malloc((sizeof(struct pixel*)) * height);
    for (int i = 0; i < height; i++){
        
        ptr[i] = malloc(sizeof(struct pixel)* width);
        fseek(image, pixel_array_offset, SEEK_SET);
        fread(ptr[i], sizeof(struct pixel), width, image);
        pixel_array_offset += width * sizeof(struct pixel);
    }


    return  ptr;
    }