I'm looking for something that can directly read .nd2 files (an undocumented Nikon format that seems to be similar to multipage TIFFs). I've found this: https://pythonhosted.org/SLOTH/_modules/sloth/read_nd2.html which sorta works, though I'd like to clean it up and get it working in scikit-image. But before I dive into that, I'd like to know: 1) Is there a better implementation somewhere, or does anyone have experience parsing .nd2 files? 2) Since the format can contain hierarchical and multidimensional image sets, would this require a new kind of abstraction for the io module? To give a concrete example, the microscope data I'm working with contains 16 fields of view from different xy-positions on the sample slide, and in each field of view there are three images for each time index (different fluorescence filters). So while it would make sense to use io.MultiImage for any given combination of field-of-view and filter, it wouldn't make sense to do so for the entire nd2 file. I'm thinking perhaps there could be some kind of intermediary object that allows you to drill down through the hierarchy and at the end it returns a MultiImage object, or something like that. I'd appreciate any suggestions and I'd love to hear what everyone thinks. Thanks!