Skip to main content

QC Tools CLI

RapidPipeline QC Tools logo

These settings refer to the command-line interface (CLI) version of RapidPipeline QC Tools which is used for batch processing on local hardware or a virtual machine or via AWS.

info

The RapidPipeline DCC Importer CLI requires an Enterprise or Custom Plan: https://rapidpipeline.com/en/pricing/.

RapidPipeline QC Tools

  • RapidPipeline QC Tools offers a quality assurance / quality control system to compare different sets of renders.
  • Renderings can either be generated by the application itself (here called rpqc render) or provided by the user as pairs of images, regardless of their source render engine or DCC tool.
  • Currently supported files for rendering generation of the tool are 3ds Max files with VRay shader or any types of 3D files supported by the RapidPipeline 3D Processor.
  • The renderings or pairs of images will then be compared (here called rpqc comparison) and a html page will be generated, with an overview of processed comparisons as well as a similarity score.
  • The comparison of the images is performed on a pixel-by-pixel basis, showcasing areas where differences are more prevalent.

System Requirements

  • Intel or AMD x64 processors;
  • Python 3.9 and up;
  • Windows 10 and up, Windows Server 2016 and up;
  • 16Gb Ram minimum;
  • 3dsMax (Optional):
    • Supported Versions: 2023 and 2024, any update pack;
    • Recommended Version: 2023.3;
    • Unsupported Versions: 2022 or older.
  • V-Ray (Optional):
    • Supported Versions: V-Ray 5.2.3 and up;
    • Recommended Version: VRay 6 and up, on the most recent update.
    • Unsupported Versions: Versions older than 5.2.3, due to recent changes with Baking Elements.
  • RapidPipeline Processor:
    • Version v6.6.0 and up is recommended.

NOTE:

  • V-Ray and 3dsMax are optional dependencies, only required if rendering of 3dsMax scenes with VRay shaders is necessary.
  • Rendering of files created by older versions of both V-Ray and 3dsMax is supported.
  • Visual differences might occur, in relation to the application version they were originally created on, due to changes/updates to 3dsMax and/or V-Ray.

Installation:

Install the Python dependencies with the following commands:

cd [QC Tools installation folder]
python .\install_requirements.py [-h] [--executablePath EXECUTABLEPATH] [--logLevel {0,1,2,3,4}] [--ignoreDCC]
  • -h, --help
    • Displays a help message and exits the program.
  • --executablePath EXECUTABLEPATH
    • Override the DCC executable path. Recommended when multiple versions of a DCC are installed.
  • --logLevel {0,1,2,3,4}
    • Verbose level for logging messages from 0 (critical) to 4 (debug). For developers the recommended level is 4.
  • --ignoreDCC
    • Optional, only installs requirements for the main Python installation.

Basic Usage:

rpqc Render:

To run this tool, you need to meet all requirements for the regular DCCImporter.

If 3d scenes for rendering are provided (rpqc render) use the following command to render images:

cd "...\QC_Tools\env\Scripts" && .\activate.bat && .\python.exe "...\rpqc_render.py --batchData <Output path>\batch_scene_data.json -o <Output path>

QC Tools needs a batch_scene_data.json file to Render 3d Assets (see Example).

batch_scene_data.json is created by the DCCImporter and describes the following attributes of a scene:

  • renderEngine: engine to be used for rendering images (currently QC Tools supports MaxVRay and rpdx)
  • originalScene: path to the original asset
  • comparisonScene: path to the comparison asset
  • metadata: path to an optional Metadata file
  • assetRoot: Root of Original file
  • outputFolder: Path to renderings of original and comparison images
  • log: path to optional log file

rpqc Comparison:

To use QC Tools with rendered Images (rpqc comparison) use the following command:

cd "...\QC_Tools\env\Scripts" && .\activate.bat && .\python.exe "...\rpqc_comparison.py -i <Input path>\qctools_batch_data.json -o <Output path>

If QC Tools should be executed with rendered Images provided there needs to be a qctools_batch_data.json (see Example) file with the following values:

  • inputFolder: Path to renderings of original and comparison images (needs to have folder labeled "original" and "comparison")
  • metadata: path to an optional metadata file
  • log: path to an optional log file

The images in "original" and "comparison" need to have matching file -names and -types to be compared to another.

Command line arguments

rpqc Render:

  • --batchData: path to batch_scene_data.json (see above)
  • -o / --outputFolder: Output folder for rendered images.
  • --originalFormat: The given input format for QC Tools (all, V-Ray, glTF).
  • --comparisonFormat: The given input format for QC Tools (all, glTF, usdz).
  • --metadata: Path to json Metadata file (see more information below).
  • --assetRoot: Root folder for original scene assets.
  • --environmentMap: Environment Map for DCC renderings.
  • --executablePath: Override the DCC executable path. Recommended when multiple versions of a DCC are installed.
  • --keepHair: If not provided, deletes Hair & Fur modifiers in 3dsMax scenes.
  • --keepdisplacement: If not provided, delets VrayDisplacement modifiers in 3dsMax scenes.
  • -s / --rpdpSettingsFile: JSon settings file for DCC Importer.
  • --camCount (1 - 6, default 1): Camera count for renderings.
  • --resolution (default 500): Render resolution in px for QA-Site.
  • --renderengine ("rpdx"/ "maxvray, default "rpdx"): Render engine used for rendering process.

rpqc Comparison:

  • -i / --input: Root input folder for batch of scene files. Alternatively root to qctools_batch_data.json (see above)
  • -o / --output: Output folder for QA Page.
  • --imageCount: Amount of camera angles used for the QA-Site.
  • -a / --approveThreshold: (default 13) Maximum diff value at which an asset gets labeled 'RPQC approved'.
  • -d / --displayApproved Determines if an approved scene gets displayed on the created html page.
  • --csvExport: Determines if a csv file with all stats is created.
  • --assetIDFilterOff: Turns off filter of assets with the same assetID.

HTML page

QC Tools creates htmls pages as part of the output files under <outputPath>\QCTools\Report\qa-page_*_*_0.html.

The QC html page (report) consists of individual areas for each asset consisting of the original renderings, comparison renderings as well as a difference image showing a pixel-based comparison.

It also gives general information about the scene as well as a difference score representing the visual differences between the given original and comparison images.

If there has been errors or warnings during the run of the DCC Importer it will also display them per Asset on the report. If there was an error with during the DCC Importer process it will be indicated with the asset displayed on a red background. The report also automatically classifies Assets as fail or passed in relation to the given "approveThreshold" and if there was an error in running the page.

The report displays a graph chart of those classifications and it is possible to sort and filter the assets based on their scoring and the given Metadata. If there was a large number of assets processed with QC Tools the reports might be split in several pages and a link to the other pages will be provided on top of the report.

In the top menu of the report there will be options to sort and filter the selection of assets on the page as well as an export option to .csv for all information displayed on the site. By clicking on the individual images there is also a slider view to better identify differences of images.

Further information

rpqc Render Input files

To support a 3ds max scene as the original 3d model the input folder needs the .max scene together with the dependent textures. There can also be an optional .json file in the same sub-folder as the .max scene named "rpdpSceneMetadata.json". For more information on this see "Metadata". The path to both files need to be specified in the batch_scene_data.json file.

Output files

The given outputFolder has to be the Folder where the files for the image comparison will be located. These files need to be located in subfolders named after the individual scenes that should be compared by QC Tools.

There are multiple files created by QC Tools depending on the chosen format options and given command arguments. In general, it will create a QC Tools folder in the individual scene folders of the given output path as well as one QC Tools folder directly in the output path. The later one contains the html page of QC Tools that gives an overview over all processed scenes with renderings, difference scores as well as comparison images for further information see "HTML page". There is also a qc.zip file that contains the html page as well as all files needed to display the page that makes it easy to share the html page directly without worrying about dependent files. If the given assets provided an asset ID in the Metadata file than all Assets with the same ID will be ziped in the output folder except for the one with the best score, which will be the only scene of that ID displayed in the QC Tools html report.

Metadata

If rpqc render is run via the RapidPipeline DCC Importer there is the possibility to supply an optional metadata file. This metadata is a .json file given with each input scene as part of the input directory. The file needs to be named "rpdpSceneMetadata.json" and be in the same subfolder as the .max file of the input scenes. (see Example) Default keys for metadata are AssetID and AssetLabel and will be included in the QC Tools page with the ability to filter and sort the given Assetbatch.

When running RapidPipeline QC Tools without using the DCC Importer the Metadata file can be supplied per scene as a json file called "qctools_metadata.json". (see Example) Path to a Metadata file needs to be specified in batch_scene_data.json (rpqc render) or qctools_batch_data.json (rpqc comparison) with the key "metadata".

Example Files

batch_scene_data.json

Example 1:

{
"scenes": [
{
"renderEngine": "MaxVRay",
"originalScene": "<path>\scene1.max",
"comparisonScene": "<path>\scene2.max",
"metadata": "<path>\scene_metadata.json",
"assetRoot": "<path to scene1>",
"outputFolder": "<path>\scene\QCTools\VRay_glTF",
"log": "<path>\sceneLogFile_xxx.log"
}
]
}
  • Batch file for a scene rendered with V-Ray in 3ds max. (as supplied by the RapidPipeline DCC Importer)

Example 2:

{
"scenes": [
{
"renderEngine": "rpdx",
"originalScene": "<path>\scene.gltf",
"comparisonScene": "<path>\scene.usdz",
"outputFolder": "<path>\scene\QCTools\VRay_glTF"
},
{
"renderEngine": "rpdx",
"originalScene": "<path>\scene.gltf",
"comparisonScene": "<path>\scene.usdz",
"outputFolder": "<path>\scene\QCTools\VRay_glTF"
}
]
}
  • Batch file for two scenes rendered with the RapidPipeline Processor ("rpdx")

qctools_batch_data.json

{
"scenes": [
{
"inputFolder": "<path>\\QCTools\\VRay_glTF",
"metadata": "<path>\\QCTools\\VRay_glTF\\qctools_metadata.json",
"log": "<path>\\sceneLogFile_xxx.log"
}
]
}
  • Batch file for QC Tools with supplied renderings in inputFolder. (rpqc comparison)

rpdpSceneMetadata.json

{
"id": "5503412312314",

"label": "TEST#|123",

"customMetadata":
{
"some_additional_info": "12345"
}

}
  • Metadata file that can be supplied to the DCC Importer alongside the input .max scene

qctools_metadata.json

{
"scene": "scene_name",
"id": "12345",
"label": "scene_label",
"inputMetadata": {
"customMetadata": {
"some_additional_info": "scene_info"
}
}
}
  • Metadata file that can be specified in the batch_scene_data.json (rpqc render) or qctools_batch_data.json (rpqc comparison)