Working with Ontologies

Befitting their importance in machine learning applications, Ontologies are a first-class entity in the Encord platform, with direct connections to users, Organizations, and Projects. One Ontology can be linked to multiple Projects simultaneously, while Projects can only have a single Ontology

ℹ️

Note

DICOM customers might be more familiar with the term 'labeling protocol', which is equivalent to an Ontology.

Edit Ontologies

🚧

Caution

Making changes to an Ontology impacts all Projects it is linked to.
. We advise against modifying Ontologies associated with Projects that already have labels associated with them. Removing parts of an Ontology leads to labels that aren't connected to an Ontology, and are therefore not valid for training machine learning algorithms.

You can edit any Ontology creation. Update the structure exactly as you did during the creation process. To edit an Ontology, select it from your list of Ontologies.

A warning label appears when you edit an Ontology used by more than one Project. You can find a list of Projects using the Ontology in the Linked Projects pane of the Ontology Settings.

Ontology settings

Select an Ontology, and navigate to the Settings tab to access the Ontology's settings.

Copy Ontologies

An Ontology can be copied in the Options page of the Ontology's settings. Click the Copy ontology button to copy the Ontology.

Copying an ontology copies all object primitives, and you have the option to copy any team members associated with the Ontology. The new Ontology is not attached to any Projects.

Manage collaborators

Team members / collaborators associated with the Ontology are managed in the Team pane of the Ontology's options.

Add collaborators

  1. Click the Invite collaborators button to add users to the Ontology.
    A dialog appears.
  1. Type the email address of the user(s) you want to add, and select the role you want to give these users.
  1. Click Add to add these users to the Ontology.

Change collaborator role

To change the role of a collaborator on the Ontology, click the dropdown and select the role you want to apply to the user.

  • Users with the Admin role can modify the Ontology
  • Users with the Viewer role cannot make changes to the Ontology. However, a Viewer can copy the Ontology.

ℹ️

Note

An Admin cannot be reverted to a Viewer. To revoke Admin access for a user, contact [email protected].

Delete collaborators

Delete collaborators by clicking the icon next to a user's name.

Object primitives

Object primitives (formerly called Skeleton templates) are customizable Ontology class.

To create an object primitive:

Object primitives are created in the Object primitives section of the Settings tab of an Ontology. Here you define a configuration of key points, and the vertices between them.

  • A. 'Add a primitive': Start creating a new object primitive template.
  • B. 'Names hidden': Show or hide the vertex names in the canvas.
  • C. 'Add a point': Add more points on the canvas. Points are added to the list of points as they are made.
  • D. 'Add an edge': Add more edges. Mouseover the first point and click once before clicking over the
    end point of the edge. Edges are added to the list of edges as they are created.
  • E. 'Move/edit': Move vertices. Mouseover the vertex you wish to move. Click and drag to move the target vertex to the new desired location.
  • F. 'Save current state': Save the template. If you exit the editor screen without saving all your work will be lost.
  • G. 'Name': Enter a name for this object primitive. This name will be displayed in the ontology structure object annotation type selection.
  • H. 'Delete template': Delete this object primitive. Please ensure you've removed this object primitives from
    all connected objects before deleting, or the ontology structure may enter an unstable state.
  • I. 'Points': List of points with their coordinates and names. Coordinates are defined as (0, 0) in the
    upper left. You can also add points using the + Add a point button at the bottom of the list.
  • J. 'Edges': List of edges. You can also add edges by using the + Add an edge button at the bottom of the list.
  1. Click Add a primitive (A).
  2. Give your primitive a meaningful name.
  3. Click Add. You are now ready to set up your primitive.
  4. Click Add a point (C). Add as many points as you need.
  5. Click Add an edge (D). Connect your points as needed.
  6. Click Save current state (F) to save your primitive.

To use your object primitive:

Return to the Structure tab of your Ontology. Your object primitive is available for selection when adding a new Ontology object. Once selected and saved, the object primitive is available within the label editor.

Linked Projects

The Linked projects pane shows a list of Projects using the Ontology. You can jump to any of the projects displayed by clicking the View link.

Delete Ontology

Use the Danger zone pane to delete an Ontology.

ℹ️

Note

Ontologies that are attached to one or more Project cannot be deleted. To delete an Ontology, it has to be removed from all Projects it's attached to.

🚧

Caution

Note that deletion is a permanent action, and deleted Ontologies cannot be restored.

Screenshot of the ontology deletion pane

View and join Ontologies in your Org

Organization Admins can search for and join any Ontology that exists within the Organization.

  1. Navigate to Ontologies in the Encord platform.
  2. Select the All Encord ontologies tab.
  3. Find the Ontology you want to join.
  4. Click Join ontology to join the Ontology.

When an Organization Admin joins an Ontology, they are automatically assigned the Admin user role for that Ontology.

👍

Tip

Ontologies can be filtered by Ontology owner.

👍

Tip

See all the Ontologies you belong to by clicking the Filter by search bar, and selecting My ontologies only.