EncordUserClient
EncordUserClient Objects
get_dataset
Get the Dataset class to access dataset fields and manipulate a dataset.
You only have access to this project if you are one of the following
-
Dataset admin
-
Organisation admin of the project
Arguments:
dataset_hash
- The Dataset IDdataset_access_settings
- Set the dataset_access_settings if you would like to change the defaults.
get_project
Get the Project class to access project fields and manipulate a project.
You will only have access to this project if you are one of the following
-
Project admin
-
Project team manager
-
Organisation admin of the project
Arguments:
project_hash
- The Project ID
create_private_dataset
DEPRECATED - please use create_dataset
instead.
create_dataset
Arguments:
dataset_title: Title of dataset. dataset_type: StorageLocation type where data will be stored. dataset_description: Optional description of the dataset.
Returns:
CreateDatasetResponse
get_datasets
List either all (if called with no arguments) or matching datasets the user has access to.
Arguments:
title_eq
- optional exact title filtertitle_like
- optional fuzzy title filter; SQL syntaxdesc_eq
- optional exact description filterdesc_like
- optional fuzzy description filter; SQL syntaxcreated_before
- optional creation date filter, ‘less’created_after
- optional creation date filter, ‘greater’edited_before
- optional last modification date filter, ‘less’edited_after
- optional last modification date filter, ‘greater’include_org_access
- if set to true and the calling user is the organization admin, the method will return all datasets in the organization.
Returns:
list of datasets matching filter conditions, with the roles that the current user has on them. Each item
is a dictionary with "dataset"
and "user_role"
keys. If include_org_access is set to
True, some of the datasets may have a None
value for the "user_role"
key.
create_with_ssh_private_key
Creates an instance of EncordUserClient authenticated with private SSH key. Accepts the private key content, path to key file, that can be provided as method parameters or as following environment variables:
- ENCORD_SSH_KEY: environment variable with the private key content
- ENCORD_SSH_KEY_FILE: environment variable with the path to the key file
Arguments:
ssh_private_key
- the private key contentssh_private_key_path
- the pah to the private key filepassword
- private key password
get_projects
List either all (if called with no arguments) or matching projects the user has access to.
Arguments:
title_eq
- optional exact title filtertitle_like
- optional fuzzy title filter; SQL syntaxdesc_eq
- optional exact description filterdesc_like
- optional fuzzy description filter; SQL syntaxcreated_before
- optional creation date filter, ‘less’created_after
- optional creation date filter, ‘greater’edited_before
- optional last modification date filter, ‘less’edited_after
- optional last modification date filter, ‘greater’
Returns:
list of (role, projects) pairs for Project matching filter conditions.
create_project
Creates a new Project and returns its uid (‘project_hash’)
Arguments:
project_title
- the title of the Projectdataset_hashes
- a list of the Dataset uids that the project will useproject_description
- the optional description of the projectontology_hash
- the uid of an Ontology to be used. If omitted, a new empty Ontology will be createdworkflow_settings
- selects and configures the type of the quality control Workflow to use, See :class:encord.orm.project.ProjectWorkflowSettings
for details. If omitted, :class:~encord.orm.project.ManualReviewWorkflowSettings
is used.workflow_template_hash
- Project is created using a Workflow based on the template provided. This parameter must be included to create a Workflow Project.
Returns:
the uid of the Project.
get_dataset_client
DEPRECATED - prefer using :meth:get_dataset()
instead.
get_project_client
DEPRECATED - prefer using :meth:get_project()
instead.
create_project_from_cvat_start
Start importing a CVAT project into Encord. This is the first part of a two-step import process. Export your CVAT project with the “CVAT for images 1.1” option and use this function to begin importing your images and annotations. Ensure that the “Save images” checkbox is enabled when exporting from CVAT.
Arguments:
import_method:
The chosen import method. Currently, only LocalImport is supported.
dataset_name:
The name of the dataset that will be created.
review_mode:
Set how much interaction is needed from the labeler and reviewer for the CVAT labels.
See the ReviewMode
documentation for more details.
transform_bounding_boxes_to_polygons:
If True, all instances of CVAT bounding boxes will be converted to polygons in the final Encord project.
Returns:
UUID
- A unique identifier for tracking the import process.
Raises:
ValueError: If the CVAT directory has an invalid format or if a non-LocalImport method is used.
create_project_from_cvat_get_result
Check the status and get the result of a CVAT import process. This is the second part of the two-step import process.
Arguments:
cvat_import_uuid: The UUID returned by create_project_from_cvat_start. timeout_seconds: Maximum time in seconds to wait for the import to complete. Defaults to 24 hours. The method will poll the server periodically during this time.
Returns:
Union[CvatImporterSuccess, CvatImporterError]: The result of the import process.
- CvatImporterSuccess: Contains project_hash, dataset_hash, and any issues if the import succeeded.
- CvatImporterError: Contains any issues if the import failed.
Raises:
ValueError: If the server returns an unexpected status or invalid response structure.
create_project_from_cvat
Create a new Encord project from a CVAT export. This method combines the two-step import process (create_project_from_cvat_start and create_project_from_cvat_get_result) into a single call. Export your CVAT project with the “CVAT for images 1.1” option and use this function to import your images and annotations. Ensure that the “Save images” checkbox is enabled when exporting from CVAT.
Arguments:
import_method:
The chosen import method. Currently, only LocalImport is supported.
dataset_name:
The name of the dataset that will be created.
review_mode:
Set how much interaction is needed from the labeler and reviewer for the CVAT labels.
See the ReviewMode
documentation for more details. Defaults to ReviewMode.LABELLED.
transform_bounding_boxes_to_polygons:
If True, all instances of CVAT bounding boxes will be converted to polygons in the final
Encord project. Defaults to False.
timeout_seconds:
Maximum time in seconds to wait for the import to complete. Defaults to 24 hours.
The method will poll the server periodically during this time.
Returns:
Union[CvatImporterSuccess, CvatImporterError]: The result of the import process.
- CvatImporterSuccess: Contains project_hash, dataset_hash, and any issues if the import succeeded.
- CvatImporterError: Contains any issues if the import failed.
Raises:
ValueError: If the CVAT directory has an invalid format, if a non-LocalImport method is used, or if the server returns an unexpected status.
get_ontologies
List either all (if called with no arguments) or matching ontologies the user has access to.
Arguments:
title_eq
- optional exact title filtertitle_like
- optional fuzzy title filter; SQL syntaxdesc_eq
- optional exact description filterdesc_like
- optional fuzzy description filter; SQL syntaxcreated_before
- optional creation date filter, ‘less’created_after
- optional creation date filter, ‘greater’edited_before
- optional last modification date filter, ‘less’edited_after
- optional last modification date filter, ‘greater’include_org_access
- if set to true and the calling user is the organization admin, the method will return all ontologies in the organization.
Returns:
list of ontologies matching filter conditions, with the roles that the current user has on them. Each item
is a dictionary with "ontology"
and "user_role"
keys. If include_org_access is set to
True, some of the ontologies may have a None
value for the "user_role"
key.
list_groups
List all groups belonging to the user’s current organization.
deidentify_dicom_files_start
Initiate the DICOM files deidentification process.
This method starts the deidentification job for the specified DICOM files and returns a UUID that can be used to track and retrieve the deidentification job results.
Arguments:
dicom_urls
- A list of URLs pointing to DICOM files to be deidentified.integration_hash
- Integration hash for the external storage integration.redact_dicom_tags
- Flag to enable or disable DICOM tags redaction. Defaults to True.redact_pixels_mode
- Policy for redacting text in pixel data. Defaults to DeidentifyRedactTextMode.REDACT_NO_TEXT.save_conditions
- Optional list of conditions that must be met for a deidentified DICOM file to be saved.upload_dir
- Optional directory for uploading deidentified files. If None, files will be uploaded to the same directory as source files.
Returns:
A UUID representing the initiated deidentification job, which can be used to retrieve job results.
deidentify_dicom_files_get_result
Retrieve the results of a DICOM deidentification job.
This method polls the server to check the status of a previously initiated DICOM deidentification job and returns the URLs of deidentified files when the job is complete.
Arguments:
dicom_deid_uuid
- The UUID of the deidentification job returned by deidentify_dicom_files_start(…).timeout_seconds
- Maximum time to wait for job completion. Defaults to 1 day (86400 seconds).
Returns:
A list of URLs pointing to the deidentified DICOM files.
deidentify_dicom_files
Deidentify DICOM files in external storage. Given links to DICOM files pointing to AWS, GCP, AZURE or OTC, for example: [ “https://s3.region-code.amazonaws.com/bucket-name/dicom-file-input.dcm” ] Function executes deidentification on those files, it removes all DICOM tags (https://dicom.nema.org/medical/Dicom/2017e/output/chtml/part06/chapter_6.html) from metadata except for:
- x00080018 SOPInstanceUID
- x00100010 PatientName
- x00180050 SliceThickness
- x00180088 SpacingBetweenSlices
- x0020000d StudyInstanceUID
- x0020000e SeriesInstanceUID
- x00200032 ImagePositionPatient
- x00200037 ImageOrientationPatient
- x00280008 NumberOfFrames
- x00281050 WindowCenter
- x00281051 WindowWidth
- x00520014 ALinePixelSpacing
Arguments:
self
- Encord client object.dicom_urls
- a list of urls to DICOM files, e.g.[ "https://s3.region-code.amazonaws.com/bucket-name/dicom-file-input.dcm" ]
integration_hash: integration_hash parameter of Encord platform external storage integration redact_dicom_tags: Specifies if DICOM tags redaction should be enabled. redact_pixels_mode: Specifies which text redaction policy should be applied to pixel data. save_conditions: Specifies a list of conditions which all have to be true for DICOM deidentified file to be saved. upload_dir: Specifies a directory that files will be uploaded to. By default, set to None, deidentified files will be uploaded to the same directory as source files.
Returns:
Function returns list of links pointing to deidentified DICOM files,
those will be saved to the same bucket and the same directory
as original files with prefix ( deid__ ).
Example output:
[ "https://s3.region-code.amazonaws.com/bucket-name/deid_167294769118005312_dicom-file-input.dcm" ]
create_storage_folder
Create a new storage folder.
Arguments:
name
- The name of the folder.description
- The description of the folder.client_metadata
- Optional arbitrary metadata to be associated with the folder. Should be a dictionary that is JSON-serializable.parent_folder
- The parent folder of the folder; orNone
if the folder is to be created at the root level.
Returns:
The created storage folder. See :class:encord.storage.StorageFolder
for details.
get_storage_folder
Get a storage folder by its UUID.
Arguments:
folder_uuid
- The UUID of the folder to retrieve.
Returns:
The storage folder. See :class:encord.storage.StorageFolder
for details.
Raises:
ValueError
- Iffolder_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the folder with the given UUID does not exist or the user does not have access to it.
get_storage_item
Get a storage item by its unique identifier.
Arguments:
item_uuid
- The UUID of the item to retrieve.sign_url
- IfTrue
, pre-fetch a signed URL for the item (otherwise the URL will be signed on demand).
Returns:
The storage item. See :class:encord.storage.StorageItem
for details.
Raises:
ValueError
- Ifitem_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the item with the given UUID does not exist or the user does not have access to it.
get_storage_items
Get storage items by their UUIDs, in bulk. Useful for retrieving multiple items at once, e.g. when getting
items pointed to by :attr:encord.orm.dataset.DataRow.backing_item_uuid
for all data rows of a dataset.
Arguments:
item_uuids
- list of UUIDs of items to retrieve. Can be a list of strings or a list of UUID objects.sign_url
- IfTrue
, pre-fetch a signed URLs for the items (otherwise the URLs will be signed on demand).
Returns:
A list of storage items. See :class:encord.storage.StorageItem
for details.
Raises:
ValueError
- If any of the item uuids is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If some of the items with the given UUIDs do not exist or the user does not have access to them.
list_storage_folders
List top-level storage folders.
Arguments:
search
- Search string to filter folders by name (optional)dataset_synced
- Include or exclude folders that are mirrored by a dataset. Optional; ifNone
, no filtering is applied.org_access
- IfTrue
, and if the caller isADMIN
of their organization, the results contain the folders belonging to the organization, instead of those accessible to the user. If enabled but the user is not an organization admin, theAuthorisationError
is raised. Default value isFalse
.order
- Sort order for the folders. See :class:encord.storage.FoldersSortBy
for available options.desc
- If True, sort in descending order.page_size
- Number of folders to return per page. Default if not specified is 100. Maximum value is 1000.
Returns:
Iterable of :class:encord.StorageFolder
objects.
find_storage_folders
Recursively search for storage folders, starting from the top level.
Arguments:
search
- Search string to filter folders by name (optional)dataset_synced
- Include or exclude folders that are mirrored by a dataset. Optional; ifNone
, no filtering is applied.org_access
- IfTrue
, and if the caller isADMIN
of their organization, the results contain the folders belonging to the organization, instead of those accessible to the user. If enabled but the user is not an organization admin, theAuthorisationError
is raised. Default value isFalse
.order
- Sort order for the folders. See :class:encord.storage.FoldersSortBy
for available options.desc
- If True, sort in descending order.page_size
- Number of folders to return per page. Default if not specified is 100. Maximum value is 1000.
Returns:
Iterable of :class:encord.StorageFolder
objects.
find_storage_items
Recursively search for storage items, starting from the root level.
Arguments:
-
search
- Search string to filter items by name. -
is_in_dataset
- Filter items by whether they are linked to any dataset.True
andFalse
select only linked and only unlinked items, respectively.None
includes all items regardless of their dataset links. -
item_types
- Filter items by type. -
org_access
- IfTrue
, and if the caller isADMIN
of their organization, the results contain the items belonging to the organization, instead of those accessible to the user. If enabled but the user is not an organization admin, theAuthorisationError
is raised. Default value isFalse
. -
order
- Sort order. -
desc
- Sort in descending order. -
get_signed_urls
- If True, return signed URLs for the items. -
page_size
- Number of items to return per page. Default if not specified is 100. Maximum value is 1000.At least one of
search
oritem_types
must be provided.
Returns:
Iterable of items in the folder.
get_collection
Get a collection by its unique identifier (UUID).
Arguments:
collection_uuid
- The unique identifier of the collection to retrieve.
Returns:
The collection. See :class:encord.collection.Collection
for details.
Raises:
ValueError
- Ifcollection_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the item with the given UUID does not exist or the user does not have access to it.
list_collections
Get collections by top level folder or list of collection IDs. If both top_level_folder_uuid and collection_uuid_list are preset then the intersection of the two conditions is returned.
Arguments:
top_level_folder_uuid
- The unique identifier of the top level folder.collection_uuids
- The unique identifiers (UUIDs) of the collections to retrieve.page_size
int - Number of items to return per page. Default if not specified is 100. Maximum value is 1000.
Returns:
The list of collections which match the given criteria.
Raises:
ValueError
- Iftop_level_folder_uuid
or any of the collection uuids is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to it.
delete_collection
Delete a collection by its UUID if it exists.
Arguments:
collection_uuid
- The unique identifier (UUID) of the collection to delete.
Returns:
None
Raises:
ValueError
- Ifcollection_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to it.
create_collection
Create a collection.
Arguments:
top_level_folder_uuid
- The unique identifier (UUID) of the folder that the collection is created in.name
- The name of the collection.description
- The description of the collection.
Returns:
Collection
- Newly created collection.
Raises:
ValueError
- Iftop_level_folder_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to the folder.
get_filter_preset
Get a preset by its unique identifier (UUID).
Arguments:
preset_uuid
- The unique identifier of the preset to retrieve.
Returns:
The preset. See :class:encord.preset.Preset
for details.
Raises:
ValueError
- Ifpreset_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the item with the given UUID does not exist or the user does not have access to it.
get_filter_presets
Get presets by list of preset unique identifiers (UUIDs).
Arguments:
preset_uuids
- The list of unique identifiers (UUIDs) to be retrieved.page_size
int - Number of items to return per page. Default if not specified is 100. Maximum value is 1000.
Returns:
The list of presets which match the given criteria.
Raises:
ValueError
- If any of the preset uuids is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to it.
list_presets
Get presets by top level folder.
Arguments:
top_level_folder_uuid
- The unique identifier of the top level folder.page_size
int - Number of items to return per page. Default if not specified is 100. Maximum value is 1000.
Returns:
The list of presets which match the given criteria.
Raises:
ValueError
- Iftop_level_folder_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to it.
create_preset
Create a preset.
Arguments:
name
- The name of the preset.description
- The description of the preset.filter_preset_json
- The filters for the preset in their raw json format.
Returns:
FilterPreset
- Newly created collection.
delete_preset
Delete a preset by its unique identifier (UUID) if it exists.
Arguments:
preset_uuid
- The uuid/id of the preset to delete.
Returns:
None
Raises:
ValueError
- Ifpreset_uuid
is a badly formed UUID. :class:encord.exceptions.AuthorizationError
: If the user does not have access to it.
Was this page helpful?