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