> Seems unlikely, but it's possible someone would input an ImageViewI with values other than 0,1. Is that ok in the cpp level? (I think so, but I want to make sure you've considered that possibility.)
> 
Yes, it's fine.  The place where the mask values show up is always in "if" statements checking whether it's zero or nonzero.