Numpy raster metadata
There should be some sort of framework to pass around metadata for numpy raster arrays.
One possibility is to create a RasterMetadata class that holds metadata values for any type of raster. And then a NumpyRaster class that holds both metadata and the raster. Pure numpy arrays are treated as rasters without any metadata. But users can use the NumpyRaster class to add metadata.
This would have the benefit of reducing the number of validation checks on raster metadata.