Great, thanks for the confirmation, Stephen! I've merged the fix into master and RB-2.0.
> On Feb 10, 2019, at 10:41 PM, Stephen Parker <[email protected]> > wrote: > > I confirmed the patch works on my end. And sorry about the initial > misinformation regarding the particular channel. I had tried it so many > different ways I think I confused myself. One would assume if you wrote a > 4-channel image there would be some information in that channel or at least > all 1.0's. Anyway, at least we got a bug out of it. Thank you for tracking > that down so quick! > > On Sat, Feb 9, 2019 at 4:36 PM Larry Gritz <[email protected] > <mailto:[email protected]>> wrote: > Aha! This was a little tricky to find, but here is the fix: > > https://github.com/OpenImageIO/oiio/pull/2172 > <https://github.com/OpenImageIO/oiio/pull/2172> > > I believe that with this fix in place, the following command ought to work > with your file: > > oiiotool -iconfig oiio:UnassociatedAlpha 1 steveparker.png -ch > R,G=R,B=R,A=R -o out.tif > > >> On Feb 8, 2019, at 3:18 PM, Larry Gritz <[email protected] >> <mailto:[email protected]>> wrote: >> >> There's definitely something going wrong on the oiiotool side... in >> particular, the -iconfig oiio:UnassociatedAlpha 1 is getting lost somehow. >> >> >>> On Feb 8, 2019, at 3:15 PM, Stephen Parker <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> re: unassociated alpha - I ran into something similar when pushing PNG's to >>> iOS devices from XCode. Apparently Apple uses a modified libpng and added a >>> special chunk denoting that the file (against the png spec) is >>> premultiplied and XCode did that premult step automagically when bundling. >>> That took awhile to figure out. This test.png is NOT one of those files >>> though. It comes from Unity. Thanks again for digging into it. >>> >>> >>> On Fri, Feb 8, 2019 at 3:02 PM Larry Gritz <[email protected] >>> <mailto:[email protected]>> wrote: >>> I can answer that question, but then it leads right back to something ELSE >>> that's probably my fault. :-) >>> >>> OK, so PNG is, by specification, "unassociated alpha" (what some people >>> call "un-premultiplied"), and OIIO by convention always passes <ahem, >>> CORRECT> "associated alpha", which means that when reading unassoc files it >>> will automatically multiply RGB by A before giving the values to the app. >>> >>> Your file has alpha = 0, which is supposed to mean (for PNG) that the >>> appearance is black everywhere. >>> >>> This auto-conversion of unassociated to associated that happens in OIIO's >>> PNG reader can be disabled with a special configuration attribute, so the >>> correct command line should have been this: >>> >>> oiiotool -iconfig oiio:UnassociatedAlpha 1 steveparker.png -ch >>> R,G=R,B=R,A=R -o out.tif >>> >>> ... Except something is going wrong there as well. Ugh. I'm trying to >>> understand why. Stand by. >>> >>> >>> >>>> On Feb 8, 2019, at 2:52 PM, Stephen Parker <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> Indeed. That was my first reaction too. But then why doesn't this work: >>>> >>>> oiiotool test.png --ch "R=R,B=R,G=R" -o out.png >>>> >>>> oiiotool test.png --ch "R=R,B=R,G=R,A=1.0" -o out.png >>>> >>>> I figured it was user error. >>>> >>>> >>>> >>>> >>>> On Fri, Feb 8, 2019 at 2:39 PM Larry Gritz <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> Doesn't the fact that everything interesting ends up in out-0.png tell us >>>> that the alpha was black all along, and it was the red channel that you're >>>> after? >>>> >>>> >>>>> On Feb 8, 2019, at 2:03 PM, Stephen Parker <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> ... actually, disregard the -swap as -separate is all that's needed. >>>>> >>>>> convert test.png -separate out.png >>>>> >>>>> On Fri, Feb 8, 2019 at 1:51 PM Stephen Parker <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> Try: >>>>> >>>>> convert test.png -separate -swap 4,0 out.png >>>>> >>>>> You should get an image written out for each channel. "out-0.png" can be >>>>> opened in Preview.app. >>>>> >>>>> -s >>>>> >>>>> >>>>> On Fri, Feb 8, 2019 at 1:38 PM Larry Gritz <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> On my mac, ImageMagick "convert test.png test.tif" also results in what >>>>> appears to be a black image. >>>>> >>>>> And using ImageMagick's "identify -verbose", I see these stats: >>>>> >>>>> Alpha: >>>>> min: 0 (0) >>>>> max: 0 (0) >>>>> mean: 0 (0) >>>>> standard deviation: 0 (0) >>>>> kurtosis: -3 >>>>> skewness: 0 >>>>> entropy: 0 >>>>> >>>>> Are you *sure* that the alpha channel isn't really 0 everywhere? >>>>> >>>>> >>>>> >>>>>> On Feb 8, 2019, at 11:55 AM, Larry Gritz <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>> >>>>>> Hmmm... it's not just "--ch", that image looks "black" (all 0.0 values) >>>>>> in all channels to all OIIO tools. (For example, `oiiotool -stats >>>>>> test.png`) I'm suspecting something in the reader rather than an issue >>>>>> with channel selection. >>>>>> >>>>>> Looking into it. >>>>>> >>>>>> -- lg >>>>>> >>>>>> >>>>>>> On Feb 8, 2019, at 11:31 AM, Stephen Parker <[email protected] >>>>>>> <mailto:[email protected]>> wrote: >>>>>>> >>>>>>> Hi Larry, >>>>>>> >>>>>>> I'm on the release branch. Here is the PNG in question (attached). >>>>>>> >>>>>>> thanks >>>>>>> >>>>>>> On Fri, Feb 8, 2019 at 11:12 AM Larry Gritz <[email protected] >>>>>>> <mailto:[email protected]>> wrote: >>>>>>> Which version of OIIO? >>>>>>> And I don't suppose you can send me an example PNG that has the >>>>>>> problem? Or is it weird for every png you try? >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On Feb 8, 2019, at 10:59 AM, Stephen Parker >>>>>>>> <[email protected] <mailto:[email protected]>> wrote: >>>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I'm having some trouble using oiiotool's copy channel operator. It >>>>>>>> might be user error but I wanted to check and see if it's intended >>>>>>>> behavior. I've only glanced at the code so far. >>>>>>>> >>>>>>>> My test image is a PNG (4-channel RGBA), but only has information in >>>>>>>> the Alpha. When attempting to copy the Alpha into the other 3 channels >>>>>>>> and write out an RGB image (no Alpha), I get black. Imagemagick's >>>>>>>> 'convert' did what I expected. >>>>>>>> >>>>>>>> invoked as: >>>>>>>> >>>>>>>> oiiotool input.png --ch "R=A,G=A,B=A" -o output.png >>>>>>>> >>>>>>>> I also tried using the numeric channel labels to no avail. >>>>>>>> >>>>>>>> -sp >>>>>>>> _______________________________________________ >>>>>>>> Oiio-dev mailing list >>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>>>>> >>>>>>> -- >>>>>>> Larry Gritz >>>>>>> [email protected] <mailto:[email protected]> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Oiio-dev mailing list >>>>>>> [email protected] <mailto:[email protected]> >>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>>>>> <test.png>_______________________________________________ >>>>>>> Oiio-dev mailing list >>>>>>> [email protected] <mailto:[email protected]> >>>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>>>> >>>>>> -- >>>>>> Larry Gritz >>>>>> [email protected] <mailto:[email protected]> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Oiio-dev mailing list >>>>>> [email protected] <mailto:[email protected]> >>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>>> >>>>> -- >>>>> Larry Gritz >>>>> [email protected] <mailto:[email protected]> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Oiio-dev mailing list >>>>> [email protected] <mailto:[email protected]> >>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>>> _______________________________________________ >>>>> Oiio-dev mailing list >>>>> [email protected] <mailto:[email protected]> >>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>> >>>> -- >>>> Larry Gritz >>>> [email protected] <mailto:[email protected]> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> [email protected] <mailto:[email protected]> >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> [email protected] <mailto:[email protected]> >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>> >>> -- >>> Larry Gritz >>> [email protected] <mailto:[email protected]> >>> >>> >>> >>> >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >> >> -- >> Larry Gritz >> [email protected] <mailto:[email protected]> >> >> >> >> >> _______________________________________________ >> Oiio-dev mailing list >> [email protected] <mailto:[email protected]> >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > > -- > Larry Gritz > [email protected] <mailto:[email protected]> > > > > > _______________________________________________ > Oiio-dev mailing list > [email protected] <mailto:[email protected]> > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz [email protected]
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
