Trigger Pipelines on HxDR

Available pipelines

Gets all the processing pipelines that HXDR can trigger for the current groupedAssetId The already generated artifacts (e.g HSPC) will be used for deciding the available processing pipelines.

query AvailableProcessingPipelines {
  availableProcessingPipelines(groupedAssetId: "[groupedAssetId]") {
    outputFormat
    processingPipelineName
  }
}

A GroupedAsset is a symbolic link to the underneath Asset and the files connected to it. Every grouped asset gets an ID, when it is created. This groupedAssetId variable is used here to list the available processing pipelines that can be triggered on this asset.

Based on the type of your asset, you will get the results with output format and processing pipeline name. For example for point cloud :

{
  "data": {
    "availableProcessingPipelines": [
      {
        "outputFormat": "LAS",
        "processingPipelineName": "MYVR_HSPC_TO_LAS"
      },
      {
        "outputFormat": "PTS",
        "processingPipelineName": "MYVR_HSPC_TO_PTS"
      },
      {
        "outputFormat": "E57",
        "processingPipelineName": "MYVR_HSPC_TO_E57"
      }
    ]
  }
}
Trigger pipeline processing
Manually trigger the processing pipeline defined in the input parameter.

To trigger the pipleine, you must know the output format and processing pipeline names which you get in the previous query and can execute the following graphql mutation.

mutation TriggerProcessingV2 {
  triggerProcessingV2(
    params: {
      groupedAssetId: "[groupedAssetId]"
      outputFormat: "[outputFormat]"
      processingPipelineName: "[processingPipelineName]"
    }
  ) {
    ... on TriggerProcessingOutput {
      success
    }
    ... on ProcessingErrorOperationNotAllowedOutput {
      message
    }
  }
}
Pipelines image definitions
Retrieve the pipeline image names and versions being used.

You can also get the image definitions for a pipeline.

query GetPipelineImageDefinitions {
  getPipelineDockerImageDefinitions(pipeline: MYVR_HSPC_TO_LAS) {
    dockerImageDefinitions {
      imageName
      imageVersion
    }
  }
}
{
  "data": {
    "getPipelineDockerImageDefinitions": {
      "dockerImageDefinitions": [
        {
          "imageName": "dr-myvr-hspcexporter",
          "imageVersion": "240924-2027-74477"
        }
      ]
    }
  }
}
Trigger re-processing of an asset
Reprocess an asset.

To re-trigger a pipeline for an asset, following mutation can be used:

mutation ReprocessAsset {
  reprocessAsset(
    params: {
      groupedAssetId: "[groupedAssetId]"
      version: "[version]"
      imageVersionOverrideMap: "[imageVersionOverrideMap]"
    }
  ) {
    ... on ReprocessAssetOutput {
      success
    }
    ... on AssetErrorOperationNotAllowedOutput {
      message
    }
  }
}

If you wish to re-process your asset with a specific image version available for the pipeline, you can define the image version override map and used it with the mutation above.

    imageVersionOverrideMap: [{
      "imageName": "dr-myvr-hspcexporter",
      "imageVersion": "240924-2027-74477"
    }]

To track the processing status, use the query asset to get the details of the artifacts for the asset which also contains the processingPipelineInfo and status.

query Asset {
    asset(groupedAssetId: "[groupedAssetId]") {
        ... on GroupedAssetOutput {
            id
            asset {
                id
                artifactsV2 {
                    parentId
                    contents {
                        id
                        dataCategory
                        savedFormat
                        addresses {
                            parentId
                            contents {
                                ... on AddressOgc3DOutput {     //MESH
                                    id
                                    processingPipelineInfo {    // PIPELINE INFO
                                        id
                                        status
                                        name
                                    }
                                }
                                ... on AddressHspcOutput {      // POINT CLOUD
                                    id
                                    processingPipelineInfo {    // PIPELINE INFO
                                        id      // ID of the pipeline
                                        status  // PIPELINE STATUS - SUCCESS/FAILED/etc.
                                        name    // name of the pipeline
                                    }
                                }
                                ... on AddressPanoramicOutput {     //PANORAMA
                                    id
                                    processingPipelineInfo {
                                        id
                                        status
                                        name
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}