cdf_360_image_schema data model are supported; Events-based 360° image data is not migrated by these commands.
Prerequisites
Before migrating 360° images, complete the following:- Request enablement of the 3D migration feature flag from Cognite Support
- Migrating assets — required because 360° image annotations link images to assets
- Migrating files and time series — required because each 360° image is made up of six cubemap face files that must already exist as
CogniteFileinstances
Required capabilities
The following capabilities are required to runcdf migrate 360-images:
360 images
cdf migrate 360-image-annotations:
360 image annotations
Migrating 360 images
Only 360° images already stored in thecdf_360_image_schema data model are supported. Events-based 360° image data is an older, deprecated storage format that is no longer supported in CDF and is not migrated by these commands. See Upload 360° images for background.
Before downloading any 360° image collections, cdf migrate 360-images checks for Events-based 360° image data in your project. If any are found, the Cognite Toolkit prints a warning but continues the migration of collections stored in cdf_360_image_schema.
Run `cdf migrate 360-images`
cdf migrate 360-images --help.CogniteFile instances. 360 images with any face files that are not yet migrated will be fully skipped and logged. Run cdf migrate files first, then re-run this command to pick up any remaining images.If you see the error You need to have the 3D migration feature flag enabled..., enable the 3D migration feature flag in the prerequisites above.Run `cdf migrate 360-image-annotations`
images.AssetLink annotations. See Migrating 360 image annotations.Verify the migration
Migrating 360 image annotations
After migrating the 360° images, migrate the annotations that link images to assets:Cognite3DObject nodes and Cognite360ImageAnnotation edges. You can also pass all options as command-line arguments. See cdf migrate 360-image-annotations --help for details.
images.AssetLink can be migrated. The images.InstanceLink annotation type is not yet supported.Verifying migrated 360 images and annotations in the UI
CDF projects that contain asset-centric resources are, by default, in what is called hybrid mode. See 3D models and project types for more information. In hybrid mode, the UI only renders the legacy, asset-centric 360° image collections — not the migratedCognite360ImageCollection resources. The legacy collections stay visible and untouched by the migration.
To inspect the migrated data, temporarily switch the UI to render the migrated data instead:
Open the data modeling override page
profile/data-modeling-override page in your project, replacing <organization>, <project>, and <cluster> with your values:Enable the override
Inspect the migrated 360 images
Cognite360ImageCollection and Cognite360Image nodes instead of the legacy collection. A successful migration renders identically to the legacy collection.How the migration works
When migrating 360° images, the Cognite Toolkit reads the legacyImage360Collection, Image360, and Station360 nodes from the cdf_360_image_schema data model. For each node, the Cognite Toolkit creates a corresponding Cognite360ImageCollection, Cognite360Image, or Cognite360ImageStation node in the CogniteCore model, in the same instance space as the legacy node. Behind the scenes, the Cognite Toolkit also registers an Image360 3D model for each collection to back the Cognite360ImageCollection node.
When migrating 360° image annotations, the Cognite Toolkit converts each images.AssetLink annotation on a cubemap face file into a Cognite360ImageAnnotation edge that connects the migrated Cognite360Image node to a Cognite3DObject node, which in turn is linked to the migrated CogniteAsset node. The polygon that marks the annotated region is converted from cubemap face coordinates to the spherical coordinates used by Cognite360ImageAnnotation.
What cdf migrate 360-images does
When you run cdf migrate 360-images, the Cognite Toolkit performs the following steps:
Check for unsupported legacy data
Select 360 image collections
cdf_360_image_schema data model.Register the Image360 3D model
Cognite360ImageCollection node.Convert stations and images
Station360 node to a Cognite360ImageStation node, and each Image360 node to a Cognite360Image node. 360 images with any face files not yet migrated as CogniteFile instances are fully skipped and logged.Write the migrated nodes to CDF
/models/instances endpoint.What cdf migrate 360-image-annotations does
When you run cdf migrate 360-image-annotations, the Cognite Toolkit performs the following steps:
Select 360 image collections and target spaces
Cognite3DObject nodes and Cognite360ImageAnnotation edges.Look up cubemap face files
Cognite360Image nodes.Download annotations
images.AssetLink annotations linked to those face files from the Annotations API.Convert annotations
CogniteAsset node for the linked asset using the lineage stored in the CogniteMigration data model.Call the 360-image contextualization endpoint
/3d/contextualization/image360 endpoint for each group. This endpoint creates the Cognite3DObject nodes and Cognite360ImageAnnotation edges that link the images to the assets.