@jjhelmus and I are having a discussion regarding IO and how tests fail if you don't have any of Pillow, PyQt, freeimage, etc, none of which are actually a requirement. As one of the sprint topics is fixing up IO, this would be a great thing to fix.
Cheap solution: make Pillow a requirement.
Expensive solution: write/pilfer our own IO modules, however inefficient they may be. (e.g. tifffile.py for tifs, maybe similar PNG)
I don't see any *other* solution. Making mpl a requirement is not useful since their IO is also broken (e.g. images convert to float by default).