OK, this is merged into master. If you need me to, I can eventually merge it to 
a release branch, but the release wouldn't be for a few weeks and I don't even 
want to backport the commit until it's been in master for several days, just in 
case any problems are discovered.

        -- lg


> On Aug 8, 2019, at 10:32 AM, Lydia Lam <l...@psyop.tv> wrote:
> 
> That sounds great!  Thank you so much!
> 
> 
> Lydia
> 
> On Wed, Aug 7, 2019 at 11:34 PM Larry Gritz <l...@larrygritz.com 
> <mailto:l...@larrygritz.com>> wrote:
> Here's what I'm thinking as a solution:
> 
> https://github.com/OpenImageIO/oiio/pull/2311 
> <https://github.com/OpenImageIO/oiio/pull/2311>
> 
> So what you'd do with this feature is
> 
>     oiiotool --metamerge file1.exr file2.exr --chappend --chname ... -o 
> out.exr
> 
> And instead of the output getting the metadata from just file1.exr (current 
> behavior makes each op copy metadata from its first argument), this would 
> "merge" the metadata from all inputs into the output.
> 
> 
> 
>> On Aug 7, 2019, at 8:48 AM, Larry Gritz <l...@larrygritz.com 
>> <mailto:l...@larrygritz.com>> wrote:
>> 
>> Python is the easy fix (where you can copy over the metadata "by hand"), but 
>> I'm also working on an oiiotool-based solution to this; stay tuned for a PR 
>> hopefully today if I an squeeze out some free time.
>> 
>> 
>>> On Aug 6, 2019, at 4:36 PM, Nathan R <nathanru...@gmail.com 
>>> <mailto:nathanru...@gmail.com>> wrote:
>>> 
>>> Yeah, it looks like what's missing is the Arnold metadata for the other 
>>> AOVs besides RGBA.
>>> 
>>> I'll defer to Larry on the possibilities there (I suspect a Python script 
>>> may be the easiest way to go), but based on your channel names and need for 
>>> this metadata, I'm guessing you're trying to create a merged EXR to pass to 
>>> noice. For what it's worth, I've actually found that it's easier to just 
>>> feed in separate files for all the AOVs, since noice will just decide 
>>> what's available based on     the metadata of all the input files.
>>> 
>>> -Nathan
>>> 
>>> On 8/6/2019 4:12 PM, Larry Gritz wrote:
>>>> Is it missing the AOVs? (The channels, the pixels?)
>>>> 
>>>> Or is it just not combining the *metadata* from all the source images into 
>>>> the output?
>>>> 
>>>> 
>>>>> On Aug 6, 2019, at 4:06 PM, Lydia Lam <l...@psyop.tv 
>>>>> <mailto:l...@psyop.tv>> wrote:
>>>>> 
>>>>> They are exr's.  So I have the following aovs:  beauty, 
>>>>> diffuse_albedo_noice, variance, N_noice, Z_noice:
>>>>> 
>>>>> ./oiiotool beauty.0001.exr diffuse_albedo_noice.0001.exr --chappend 
>>>>> -chname 
>>>>> ,,,,"diffuse_albedo_noice.R","diffuse_albedo_noice.G","diffuse_albedo_noice.B"
>>>>>  -o merged_bd.0001.exr
>>>>> ./oiiotool merged_bd.0001.exr variance.0001.exr --chappend --chname 
>>>>> ,,,,,,,"variance.R","variance.G","variance.B","variance.A" -o 
>>>>> merged_bdv.0001.exr
>>>>> ...<all the aovs>...
>>>>> ./oiiotool ...-o merged_all_aovs.0001.exr
>>>>> 
>>>>> When I query the final merged image, 
>>>>> ./oiiotool --info:verbose=1 merged_all_aovs.0001.exr
>>>>> maya_render.0001.exr:  960 x 540, 15 channel, half openexr channel list: 
>>>>> R, G, B, A, Z_noice, N_noice.Y, N_noice.Z, N_noice.X, 
>>>>> diffuse_albedo_noice.R, diffuse_albedo_noice.G, diffuse_albedo_noice.B,  
>>>>> variance.R, variance.G, variance.B, variance.A
>>>>> arnold / AA_samples: 2
>>>>> arnold / aovs / RGBA / filter: "gaussian_filter"
>>>>> arnold / aovs / RGBA / filter_width: 2
>>>>> arnold / aovs / RGBA / lpe: 1
>>>>> arnold / aovs / RGBA / source: "RGBA"
>>>>> arnold / auto_transparency_depth: 10
>>>>> arnold / bounds_max_x: 959
>>>>> arnold / bounds_max_y: 539
>>>>> ...
>>>>> It is missing the aovs after beauty.
>>>>> 
>>>>> 
>>>>> Comparing it to the render from Maya
>>>>> maya_render.0001.exr:  960 x 540, 15 channel, half openexr channel list: 
>>>>> R, G, B, A, Z_noice, N_noice.Y, N_noice.Z, N_noice.X, 
>>>>> diffuse_albedo_noice.R, diffuse_albedo_noice.G, diffuse_albedo_noice.B,  
>>>>> variance.R, variance.G, variance.B, variance.A
>>>>> arnold / AA_samples: 2
>>>>> arnold / aovs / diffuse_albedo_noice / filter: "gaussian_filter"
>>>>> arnold / aovs / diffuse_albedo_noice / filter_width: 2
>>>>> arnold / aovs / diffuse_albedo_noice / lpe: 1
>>>>> arnold / aovs / diffuse_albedo_noice / source: "diffuse_albedo"
>>>>> arnold / aovs / N_noice / filter: "gaussian_filter"
>>>>> arnold / aovs / N_noice / filter_width: 2
>>>>> arnold / aovs / N_noice / source: "N"
>>>>> arnold / aovs / RGBA / filter: "gaussian_filter"
>>>>> arnold / aovs / RGBA / filter_width: 2
>>>>> arnold / aovs / RGBA / lpe: 1
>>>>> arnold / aovs / RGBA / source: "RGBA"
>>>>> arnold / aovs / variance / filter: "variance_filter"
>>>>> arnold / aovs / variance / filter_width: 2
>>>>> arnold / aovs / variance / lpe: 1
>>>>> arnold / aovs / variance / source: "RGBA"
>>>>> arnold / aovs / Z_noice / filter: "gaussian_filter"
>>>>> arnold / aovs / Z_noice / filter_width: 2
>>>>> arnold / aovs / Z_noice / source: "Z"
>>>>> arnold / auto_transparency_depth: 10
>>>>> arnold / bounds_max_x: 959
>>>>> arnold / bounds_max_y: 539
>>>>> ...
>>>>> 
>>>>> 
>>>>> 
>>>>> On Tue, Aug 6, 2019 at 3:37 PM Larry Gritz <l...@larrygritz.com 
>>>>> <mailto:l...@larrygritz.com>> wrote:
>>>>> Yes, the command you want is --chappend, which takes two images (say, 
>>>>> containing N channels and M channels) and combines them into a new image 
>>>>> with N+M channels.
>>>>> 
>>>>> You said you tried this... can you show us a command line that shows 
>>>>> exactly what you tried?
>>>>> 
>>>>> You may need a --chnames afterward to make the channel names make some 
>>>>> kind of sense.
>>>>> 
>>>>> Also, what file format are you using?
>>>>> 
>>>>> Seeing the exact command you tried will probably answer all of the 
>>>>> questions and then we'll know what to suggest.
>>>>> 
>>>>> 
>>>>>> On Aug 6, 2019, at 3:29 PM, Lydia Lam <l...@psyop.tv 
>>>>>> <mailto:l...@psyop.tv>> wrote:
>>>>>> 
>>>>>> Is there a way to merge AOVs with oiiotool?  I have a sequence rendered 
>>>>>> from Maya with a bunch of separate passes.  I would like to merge them 
>>>>>> into one sequence without having to render again using 'merge AOVs' 
>>>>>> option.  The output should be a sequence of exr's with no subimages 
>>>>>> containing all the channels the different aov's.
>>>>>> 
>>>>>> I've tried using --siappendall but that returns one image with multiple 
>>>>>> subimages.  The number of channels is the number of channels at the top 
>>>>>> layer, not all the aovs.
>>>>>> 
>>>>>> I've also tried --chappend and merge the images one at a time while 
>>>>>> renaming the channels as I go.  This captured all the channels but did 
>>>>>> not preserve the aov information.  
>>>>>> 
>>>>>> Can oiiotool or OpenImageIO merge multiple images into one while 
>>>>>> preserving all the channels?  Thanks!
>>>>>> 
>>>>>> 
>>>>>> Lydia
>>>>>> 
>>>>> 
>>>>> --
>>>>> Larry Gritz
>>>>> l...@larrygritz.com <mailto:l...@larrygritz.com>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Oiio-dev mailing list
>>>>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>>>>> _______________________________________________
>>>>> Oiio-dev mailing list
>>>>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
>>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>>>> 
>>>> --
>>>> Larry Gritz
>>>> l...@larrygritz.com <mailto:l...@larrygritz.com>
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Oiio-dev mailing list
>>>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
>>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>>> 
>>> _______________________________________________
>>> Oiio-dev mailing list
>>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>> 
>> --
>> Larry Gritz
>> l...@larrygritz.com <mailto:l...@larrygritz.com>
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Oiio-dev mailing list
>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
> 
> --
> Larry Gritz
> l...@larrygritz.com <mailto:l...@larrygritz.com>
> 
> 
> 
> 
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org>
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
> _______________________________________________
> Oiio-dev mailing list
> Oiio-dev@lists.openimageio.org
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
l...@larrygritz.com




_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to