VolumeTag¶
- class VolumeTag[source]¶
Bases:
supervisely.annotation.tag.Tag
VolumeTag object for
VolumeAnnotation
.VolumeTag
object is immutable.- Parameters
- meta : TagMeta
General information about Volume Tag.
- value : Optional[Union[str, int, float]]
Volume Tag value. Depends on
TagValueType
ofTagMeta
.- key : uuid.UUID, optional
uuid.UUID object.
- sly_id : int, optional
Volume Tag ID in Supervisely.
- labeler_login : str, optional
Login of user who created VolumeTag.
- updated_at : str, optional
Date and Time when VolumeTag was modified last. Date Format: Year:Month:Day:Hour:Minute:Seconds. Example: ‘2021-01-22T19:37:50.158Z’.
- created_at : str, optional
Date and Time when VolumeTag was created. Date Format is the same as in “updated_at” parameter.
- Usage example
import supervisely as sly from supervisely.volume_annotation.volume_tag import VolumeTag meta_brain = sly.TagMeta('brain', sly.TagValueType.NONE) # Now we can create a VolumeTag using our TagMeta tag_brain = VolumeTag(meta_brain) # When you are creating a new Tag # Tag.value is automatically cross-checked against your TagMeta value type to make sure the value is valid. # If we now try to add a value to our newly created Tag, we receive "ValueError", because our TagMeta value type is "NONE" tag_dog = VolumeTag(meta_brain, value="Brain") # Output: ValueError: Tag brain can not have value Husky # Let's create another Tag with a string value type meta_heart = sly.TagMeta('heart', sly.TagValueType.ANY_STRING) tag_heart = VolumeTag(meta_heart, value="Heart") # Now let's create a Tag using TagMeta with "ONEOF_STRING" value type # In order to use "oneof_string value type", you must initialize a variable with possible values(see class TagMeta for more information) colors = ["brown", "white", "black", "red", "chocolate", "gold", "grey"] meta_lang_color = sly.TagMeta('lang color', sly.TagValueType.ONEOF_STRING, possible_values=colors) tag_lang_color = VolumeTag(meta_lang_color, value="white") # If given value is not in a list of possible Tags, ValueError will be raised tag_lang_color = VolumeTag(meta_lang_color, value="yellow") # Output: ValueError: Tag lang color can not have value yellow
Methods
Makes a copy of VolumeTag with new fields, if fields are given, otherwise it will use fields of the original VolumeTag.
Convert a json dict to VolumeTag.
Displays information about Tag's name and value in string format.
Get header of the table with tags.
Get row with tag properties.
Get key value.
Convert the VolumeTag to a json dict.
Attributes
General information about Tag.
Name property.
Tag value.
-
clone(meta=
None
, value=None
, key=None
, sly_id=None
, labeler_login=None
, updated_at=None
, created_at=None
)[source]¶ Makes a copy of VolumeTag with new fields, if fields are given, otherwise it will use fields of the original VolumeTag.
- Parameters
- meta : VolumeTag, optional
General information about VolumeTag.
- value : str or int or float or None, optional
VolumeTag value. Depends on
TagValueType
ofTagMeta
.- key : uuid.UUID, optional
uuid.UUID object.
- sly_id : int, optional
VolumeTag ID in Supervisely.
- labeler_login : str, optional
Login of user who created VolumeTag.
- updated_at : str, optional
Date and Time when VolumeTag was modified last. Date Format: Year:Month:Day:Hour:Minute:Seconds. Example: ‘2021-01-22T19:37:50.158Z’.
- created_at : str, optional
Date and Time when VolumeTag was created. Date Format is the same as in “updated_at” parameter.
- Usage example
import supervisely as sly from supervisely.volume_annotation.volume_tag import VolumeTag meta_heart = sly.TagMeta('heart_tag', sly.TagValueType.ANY_STRING) heart_tag = VolumeTag(meta_heart, value='Heart') meta_heart_2 = sly.TagMeta('heart tag 2', sly.TagValueType.ANY_STRING) new_tag = car_tag.clone(meta=meta_heart_2, key=car_tag.key()) new_tag_json = new_tag.to_json() print(new_tag_json) # Output: { # "name": "heart tag 2", # "value": "Heart", # "key": "360438485fd34264921ca19bd43b0b71" # }
-
classmethod from_json(data, tag_meta_collection, key_id_map=
None
)[source]¶ Convert a json dict to VolumeTag. Read more about Supervisely format.
- Parameters
- data : dict
VolumeTag in json format as a dict.
- tag_meta_collection : TagMetaCollection
TagMetaCollection
object.- key_id_map : KeyIdMap, optional
Key ID Map object.
- Returns
VolumeTag object
- Return type
- Usage example
import supervisely as sly tag_heart_json = { "name": "heart", "value": "777" } from supervisely.volumme_annotation.volume_tag import VolumeTag meta_heart = sly.TagMeta('heart', sly.TagValueType.ANY_STRING) meta_collection = sly.TagMetaCollection([meta_heart]) tag_heart = VolumeTag.from_json(tag_heart_json, meta_collection)
- get_compact_str()¶
Displays information about Tag’s name and value in string format.
- Returns
Name and value of the given Tag
- Return type
- Usage example
import supervisely as sly meta_dog = sly.TagMeta('dog', sly.TagValueType.ANY_STRING) tag_dog = sly.Tag(meta_dog, value="Husky") print(tag_dog.get_compact_str()) # Output: 'dog:Husky'
- classmethod get_header_ptable()¶
Get header of the table with tags.
- Returns
List of table header values.
- Return type
List[str]
- Usage example
import supervisely as sly header = sly.Tag.get_header_ptable() print(header) # Output: ['Name', 'Value type', 'Value']
- get_row_ptable()¶
Get row with tag properties.
- Returns
List of tag properties.
- Return type
List[str]
- Usage example
import supervisely as sly weather_conditions = ["Sunny", "Cloudy", "Snowy", "Foggy", "Rainy"] meta_weather = sly.TagMeta("weather", sly.TagValueType.ONEOF_STRING, possible_values=weather_conditions) tag_weather = sly.Tag(meta_weather, value="Sunny") row = tag_weather.get_row_ptable() print(row) # Output: ['weather', 'oneof_string', 'Sunny']
- key()[source]¶
Get key value.
- Returns
Get key value.
- Return type
- Usage example
import supervisely as sly from supervisely.volume_annotation.volume_tag import VolumeTag meta_heart = sly.TagMeta('heart', sly.TagValueType.NONE) tag_heart = VolumeTag(meta_heart) print(tag_heart.key()) # Output: 2d9cd2cd-f89c-40a9-8675-1b0773fa250d
-
to_json(key_id_map=
None
)[source]¶ Convert the VolumeTag to a json dict. Read more about Supervisely format.
- Parameters
- key_id_map : KeyIdMap, optional
Key ID Map object.
- Returns
Json format as a dict
- Return type
- Usage example
import supervisely as sly from supervisely.volume_annotation.volume_tag import VolumeTag meta_heart = sly.TagMeta('heart', sly.TagValueType.NONE) tag_heart = VolumeTag(meta_heart) tag_heart_json = tag_heart.to_json() print(tag_heart_json) # Output: { # "name": "heart", # "key": "058ad7993a534082b4d94cc52542a97d" # }
- property meta¶
General information about Tag. When creating a new Tag, it’s value is automatically cross-checked against
TagValueType
to make sure that value is valid.- Returns
TagMeta object
- Return type
- Usage example
meta_dog = sly.TagMeta('dog', sly.TagValueType.NONE) tag_dog = sly.Tag(meta_dog) # Our TagMeta has value type 'NONE', if we try to add value to our Tag, "ValueError" error will be raised tag_dog = sly.Tag(meta_dog, value="Husky") # Output: ValueError: Tag dog can not have value Husky
- property name¶
Name property.
- Returns
Name
- Return type
- Usage example
meta_dog = sly.TagMeta('dog', sly.TagValueType.ANY_STRING) tag_dog = sly.Tag(meta_dog, value="Husky") print(tag_dog.name) # Output: "dog"
- property value¶
Tag value. Return type depends on
TagValueType
.- Returns
Tag value
- Return type
- Usage example
meta_dog = sly.TagMeta('dog', sly.TagValueType.ANY_STRING) tag_dog = sly.Tag(meta_dog, value="Husky") meta_age = sly.TagMeta('age', sly.TagValueType.ANY_NUMBER) tag_age = sly.Tag(meta_age, value=9) colors = ["Black", "White", "Golden", "Brown"] meta_color = sly.TagMeta('coat color', sly.TagValueType.ONEOF_STRING, possible_values=colors) tag_color = sly.Tag(meta_color, value="White") type(tag_dog.value) # 'str' type(tag_age.value) # 'int' type(tag_color.value) # 'str'