The patch we were discussing earlier in this thread is the desire to combine a 
bunch of separate images into a single image with just one "part", with tons of 
channels. That was a little trickier and lacked a specific command for it. But 
for a long time we have had the ability to combine separate images into a 
single file with multiple subimages (what exr calls "parts").

Are you saying that you have rendered separate images for, say, RGB, 
Diffuse.{R,G,B}, Specular.{R,G.B}? And you want to turn that into a single 
multi-part exr where each of the original images is a separate part?

I think you could have done that all along with

    oiiotool rgb.exr diffuse.exr specular.exr --siappendall -o multipart.exr



> On Aug 18, 2019, at 7:08 PM, Alejandro Enriquez <alenrq...@gmail.com> wrote:
> 
> Good day everyone,
> 
> One quick question, is this merge creating a multipart exr? 
> Recently, we've been talking in my studio to move from single channel exrs to 
> multichannel, the only reason why we haven't is due that Arnold doesn't 
> render multichannel multipart exr. We have been thinking to do it on a 
> post-render process however, if oiio tool would merge single channel to 
> multichannel multipart exrs we could keep the same workflow and merge on a 
> post render process.
> 
> Kind regards
> 
> Jose Enriquez
> 
> On Wed, Aug 14, 2019 at 6:39 PM Lydia Lam <l...@psyop.tv 
> <mailto:l...@psyop.tv>> wrote:
> Works great!  Thank you!
> 
> 
> On Fri, Aug 9, 2019 at 3:30 PM Larry Gritz <l...@larrygritz.com 
> <mailto:l...@larrygritz.com>> wrote:
> 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 
>> <mailto: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>
>>>>>> 

--
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