Can you get rid of the duplicated bbox entries (probably requires special-casing MaskedImage).
Our thought with this one was that we didn't see explicit checks that the three components of a MaskedImage had to have the same bbox. But I just tested it, and it looks like you can't make a MaskedImage with different bboxes with the (Image, Mask, Variance) constructor. So, I'll special case and get rid of the extra bbox printing. Unfortunate, since it would be nice to keep them in sync for future changes.
- I think the class name should be in there somewhere, (MaskedImage(...))?
- It would be good to include information about the pixel type, either by making this explicit (e.g., dtype=float32) or through the class name (e.g., MaskedImageF).
- Does _repr_ work the same way?
As Tim Jenness says, that's what repr is for, and what it does, in this case (prepends the namespace and class name). For comparison, look at repr vs. str for a numpy array.
Should have commas between the image, mask and variance elements.