From 99952479253203a11e1b22b8db57234c3d68133b Mon Sep 17 00:00:00 2001 From: Oscar E Date: Tue, 8 Oct 2024 15:50:53 +0100 Subject: [PATCH 1/2] Add PDF handling to initialise_labels --- encord/constants/enums.py | 1 + encord/objects/ontology_labels_impl.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/encord/constants/enums.py b/encord/constants/enums.py index 01bc419bb..2e4c61fcd 100644 --- a/encord/constants/enums.py +++ b/encord/constants/enums.py @@ -24,6 +24,7 @@ class DataType(StringEnum): IMAGE = "image" DICOM_STUDY = "dicom_study" NIFTI = "nifti" + PDF = "pdf" # will be displayed if the Encord platform has a new data type that is not present in this SDK version. Please upgrade your SDK version MISSING_DATA_TYPE = "_MISSING_DATA_TYPE_" diff --git a/encord/objects/ontology_labels_impl.py b/encord/objects/ontology_labels_impl.py index 6d3864bac..b854aee30 100644 --- a/encord/objects/ontology_labels_impl.py +++ b/encord/objects/ontology_labels_impl.py @@ -1752,7 +1752,7 @@ def _parse_label_row_dict(self, label_row_dict: dict) -> LabelRowReadOnlyData: frame_to_image_hash = {item.frame_number: item.image_hash for item in frame_level_data.values()} data_type = DataType(label_row_dict["data_type"]) - if data_type == DataType.VIDEO or data_type == DataType.IMAGE: + if data_type == DataType.VIDEO or data_type == DataType.IMAGE or data_type == DataType.PDF: data_dict = list(label_row_dict["data_units"].values())[0] data_link = data_dict["data_link"] # Dimensions should be always there @@ -1819,7 +1819,7 @@ def _parse_labels_from_dict(self, label_row_dict: dict): for data_unit in label_row_dict["data_units"].values(): data_type = DataType(label_row_dict["data_type"]) - if data_type == DataType.IMG_GROUP or data_type == DataType.IMAGE: + if data_type == DataType.IMG_GROUP or data_type == DataType.IMAGE or data_type == DataType.PDF: frame = int(data_unit["data_sequence"]) self._add_object_instances_from_objects(data_unit["labels"].get("objects", []), frame) self._add_classification_instances_from_classifications( From 8c81651dd527413935b848e5683560231ae0066a Mon Sep 17 00:00:00 2001 From: Oscar E Date: Wed, 9 Oct 2024 11:46:42 +0100 Subject: [PATCH 2/2] Add handling for PDFs in data_unit and label retrieval --- encord/objects/ontology_labels_impl.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/encord/objects/ontology_labels_impl.py b/encord/objects/ontology_labels_impl.py index b854aee30..a09b7417d 100644 --- a/encord/objects/ontology_labels_impl.py +++ b/encord/objects/ontology_labels_impl.py @@ -1523,6 +1523,7 @@ def _to_encord_data_unit(self, frame_level_data: FrameLevelImageGroupData) -> Di or data_type == DataType.DICOM or data_type == DataType.IMAGE or data_type == DataType.NIFTI + or data_type == DataType.PDF ): data_sequence = frame_level_data.frame_number @@ -1558,7 +1559,7 @@ def _to_encord_labels(self, frame_level_data: FrameLevelImageGroupData) -> Dict[ ret: Dict[str, Any] = {} data_type = self._label_row_read_only_data.data_type - if data_type == DataType.IMAGE or data_type == DataType.IMG_GROUP: + if data_type == DataType.IMAGE or data_type == DataType.IMG_GROUP or data_type == DataType.PDF: frame = frame_level_data.frame_number ret.update(self._to_encord_label(frame))