Subpixel Output from external tool

   3671   7   3
User Avatar
Member
3 posts
Joined: Oct. 2012
Offline
Hi!

I'm using Houdini FX Apprentice HD for a college project where I need the sub-pixel output to process it in a external tool, using 3x3 samples per pixel this creates an image with 3x the original size.

After my process, I need to create an image again with the original dimensions; I'm currently doing this by downscaling using GIMP but… I wonder if there is a method in Houdini to receive back the subpixel output and finish the image using the built-in image resolver. Is it possible?

Btw, Houdini is awesome
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
So if I understand you correctly, you want to render the image 3x larger with 1x1 pixel samples instead of at target resolution with 3x3 pixel samples.

Could you render nine different plates at the target resolution with 1x1 pixel samples, turn off variance, change the seed per render pass, double the shading quality so as to cut up the geometry finer as though you doubled the resolution then add all 9 images up together in comp and divide by 9?


Another solution is to use either one camera set to double the resolution and use the crop channels to render out four images at the max HD resolution or use four cameras tiled together?

Attachments:
brute_force_supersample_camera_cropping.hip (310.0 KB)
brute_force_subsampling.hip (542.3 KB)

There's at least one school like the old school!
User Avatar
Member
3 posts
Joined: Oct. 2012
Offline
Yep!, I'm interested on processing the images with 1x1 pixel samples, so they don't blend against any background, but I don't have problems rendering to my current target resolution (512x512, with 3x3 sampling goes to a 1536x1536 output).

I just wondered if I could still use the options Houdini offers for pixel filtering after I'm done in the external processing tool. What I do using GIMP is taking the 3x output image, applying a gaussian blur (3,3) and downscaling to my target 512x512. I'm not sure if this is similar to what Houdini does internally, and also don't know if sample randomization should have any effect on this.

But that's very useful info! I may need to render those 9 plates when I get to test higher resolutions.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
It's all about precision and colour depth during the various merging compositing operations.

Everything inside the Mantra Pipeline wrt colour is done at full floating point precision. This is a tremendous amount of colour information. This includes the subsample filtering and anti-aliasing. All at full precision.

After the sub-samples are averaged out, Mantra will down-res the floating point colour values to what ever you choose, 16bit floats, 16 bit ints, 8 bit floats, etc.

You can render out your individual plates at 32 bit floating point bit depth and retain much of the precision and as long as Gimp supports 32 bits of precision, you will get a similar result.

Cutting down 32 bit down to 16 bit tosses out quite a bit of the colour depth in the image. Cutting down 32bit down to 8 bit tosses pretty much all the color precison out.
There's at least one school like the old school!
User Avatar
Member
3 posts
Joined: Oct. 2012
Offline
Ohh I see, I was worried about the method used to average the samples, but was ignoring the precision and color depth, that definitively has a higher impact!
User Avatar
Member
383 posts
Joined: June 2010
Offline
OpenEXR 2.0 should solve your problem completely because it should be able to save your image as a point cloud where each sample is an attributed point in this cloud. You can access each sample easily even if they all share the same pixel.
I am sure that sidefx will implement exr 2.0 soon.
www.woogieworks.at
User Avatar
Member
1390 posts
Joined: July 2005
Offline
MigPosada
What I do using GIMP is taking the 3x output image, applying a gaussian blur (3,3) and downscaling to my target 512x512

…blurring image before scaling might not be useful, since down-scaling effectively applies filter anyway. You can import the image into Cops and scale it down with selected (gauss) filter. This won't be THE same, but differences are likely 0.1%. At least filter code may be the very same used by Mantra (?).


dulo
OpenEXR 2.0 should solve your problem completely because it should be able to save your image as a point cloud where each sample is an attributed point in this cloud. You can access each sample easily even if they all share the same pixel.
I am sure that sidefx will implement exr 2.0 soon.

This is already present in Houdini for at least 3 years or so, it's called deep camera maps, and Mantra stores in it Zdepth samples for plane (but not sub-pixels samples, albeit it could, deep format has nothing to do with that).
User Avatar
Member
383 posts
Joined: June 2010
Offline
dulo
OpenEXR 2.0 should solve your problem completely because it should be able to save your image as a point cloud where each sample is an attributed point in this cloud. You can access each sample easily even if they all share the same pixel.
I am sure that sidefx will implement exr 2.0 soon.

This is already present in Houdini for at least 3 years or so, it's called deep camera maps, and Mantra stores in it Zdepth samples for plane (but not sub-pixels samples, albeit it could, deep format has nothing to do with that).

There always is something to learn in Houdini ..
www.woogieworks.at
  • Quick Links