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
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
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
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
}
}
}
}
}
}
}
}
}
}