Asset Pixel Inspector proof of concept demo

One of the most common ways to waste production time is to review shots that have the wrong stuff in them. This is particularly bad in dailies reviews where the whole crew can end up sitting through a long discussion of a shot, only to realize at the end that the model was an old version or the new lighting did not make it into the render. This video shows an approach to avoiding these kinds of mistakes by using a special Pixel Inspector in RV that can look up information about the shot by indexing into a separate false-color image layer. Please note, this is not a production ready tool, it’s a quick hack to demonstrate the concept.

The code is simply a modified version of the RV color inspector. It took longer to roto the background image than it did to modify the RV color inspector to work this way. We like these kinds of production solutions because they are fundamentally low tech but can have a big impact on production. If your tools are flexible and customizable like RV, these kinds of solutions are easy to implement.



  • 0
    Jon Morley

    Here is a sample package that shows one extremely simple approach to creating an asset ID look up inspector based on the pixel color inspector. Included are the two image files you will need to see the example in action.

    From the command line run:

    rv [ bars.tiff map.tiff ] -stereo left

    Then inside the viewer when RV comes up shift-left button click and the asset inspector will be displayed. Right click on the inspector itself to set the color mode to 8-bit. Then you should see the inspector properly display whether you are looking at the top section of the color bars, the middle section, or the bottom section.

    Attached below are the files.

  • 0
    Jon Morley

    For those interested in trying this with RV-4 please use the following attached files below. You will need to open the demo.rv session file alongside the tiff files after installing the package.

    All of the files are now up top in the original post.

  • 0
    Stella Cheng

    Hi Jon:

       This is really helpful. Thanks for sharing.

       I do have a question when I tried to plug in Python to this mu script. In " method: mapColor(string; ) ", I need to do some string look up using python, so I add those codes before " return ". (I added require python; in the module assetIdentifier)

            let pyModule = python.PyImport_Import("os");

            string meshID = "xxxxxx.json";

            python.PyObject pyMethod = python.PyObject_GetAttr (pyModule, "path");

            python.PyObject pyMethod2 = python.PyObject_GetAttr (pyMethod, "exists");

            string result = to_string(python.PyObject_CallObject (pyMethod2, meshID));

            print("result: %s\n" % result);

            return string(R);

            However, I got error messages as below. The render method was not functioning after I add PyObject_CallObject.ERROR: event = render

    ERROR: function = rvui.render (void; Event event)


    Not sure why is it. Any idea or suggestion? If I don't use python to look up text file, would it be possible to use mu to read in?



  • 0
    Jon Morley

    Hi Stella,

    I think the tricky part here is that the result returned from your PyObject_CallObject is a bool and not a string. Therefore you should try calling:

    bool result = to_bool(python.PyObject_CallObject (pyMethod2, (meshID)));



  • 1
    Cosku Ozdemir

    Hi there,
    Would it be possible to get this example implemented in Python?

    It not very straightforward porting it, where to use Mu/Python runtime bridge, etc.

    Thank you

  • 0
    Frank Rueter

    It would be extremely useful to have a python version of something like this.

    Mu is just not accessible for most people (including myself)

Please sign in to leave a comment.