bioimageio.spec.dataset
implementaions of all released minor versions are available in submodules:
- dataset v0_2:
bioimageio.spec.dataset.v0_2.DatasetDescr
- dataset v0_3:
bioimageio.spec.dataset.v0_3.DatasetDescr
1# autogen: start 2""" 3implementaions of all released minor versions are available in submodules: 4- dataset v0_2: `bioimageio.spec.dataset.v0_2.DatasetDescr` 5- dataset v0_3: `bioimageio.spec.dataset.v0_3.DatasetDescr` 6""" 7 8from typing import Union 9 10from pydantic import Discriminator, Field 11from typing_extensions import Annotated 12 13from . import v0_2, v0_3 14 15DatasetDescr = v0_3.DatasetDescr 16DatasetDescr_v0_2 = v0_2.DatasetDescr 17DatasetDescr_v0_3 = v0_3.DatasetDescr 18 19AnyDatasetDescr = Annotated[ 20 Union[ 21 Annotated[DatasetDescr_v0_2, Field(title="dataset 0.2")], 22 Annotated[DatasetDescr_v0_3, Field(title="dataset 0.3")], 23 ], 24 Discriminator("format_version"), 25 Field(title="dataset"), 26] 27"""Union of any released dataset desription""" 28# autogen: stop
40class DatasetDescr(GenericDescrBase): 41 """A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage 42 processing. 43 """ 44 45 implemented_type: ClassVar[Literal["dataset"]] = "dataset" 46 if TYPE_CHECKING: 47 type: Literal["dataset"] = "dataset" 48 else: 49 type: Literal["dataset"] 50 51 id: Optional[DatasetId] = None 52 """bioimage.io-wide unique resource identifier 53 assigned by bioimage.io; version **un**specific.""" 54 55 parent: Optional[DatasetId] = None 56 """The description from which this one is derived""" 57 58 source: FAIR[Optional[HttpUrl]] = None 59 """"URL to the source of the dataset.""" 60 61 @model_validator(mode="before") 62 @classmethod 63 def _convert(cls, data: Dict[str, Any], /) -> Dict[str, Any]: 64 if ( 65 data.get("type") == "dataset" 66 and isinstance(fv := data.get("format_version"), str) 67 and fv.startswith("0.2.") 68 ): 69 old = DatasetDescr02.load(data) 70 if isinstance(old, InvalidDescr): 71 return data 72 73 return cast( 74 Dict[str, Any], 75 (cls if TYPE_CHECKING else dict)( 76 attachments=( 77 [] 78 if old.attachments is None 79 else [FileDescr(source=f) for f in old.attachments.files] 80 ), 81 authors=[ 82 _author_conv.convert_as_dict(a) for a in old.authors 83 ], # pyright: ignore[reportArgumentType] 84 badges=old.badges, 85 cite=[ 86 {"text": c.text, "doi": c.doi, "url": c.url} for c in old.cite 87 ], # pyright: ignore[reportArgumentType] 88 config=old.config, # pyright: ignore[reportArgumentType] 89 covers=old.covers, 90 description=old.description, 91 documentation=old.documentation, 92 format_version="0.3.0", 93 git_repo=old.git_repo, # pyright: ignore[reportArgumentType] 94 icon=old.icon, 95 id=None if old.id is None else DatasetId(old.id), 96 license=old.license, # type: ignore 97 links=old.links, 98 maintainers=[ 99 _maintainer_conv.convert_as_dict(m) for m in old.maintainers 100 ], # pyright: ignore[reportArgumentType] 101 name=old.name, 102 source=old.source, 103 tags=old.tags, 104 type=old.type, 105 uploader=old.uploader, 106 version=old.version, 107 **(old.model_extra or {}), 108 ), 109 ) 110 111 return data
A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage processing.
id: Optional[bioimageio.spec.dataset.v0_3.DatasetId]
bioimage.io-wide unique resource identifier assigned by bioimage.io; version unspecific.
parent: Optional[bioimageio.spec.dataset.v0_3.DatasetId]
The description from which this one is derived
source: Annotated[Optional[bioimageio.spec._internal.url.HttpUrl], AfterWarner(func=<function as_warning.<locals>.wrapper at 0x7f83b7cd1080>, severity=35, msg=None, context=None)]
"URL to the source of the dataset.
model_config: ClassVar[pydantic.config.ConfigDict] =
{'allow_inf_nan': False, 'extra': 'forbid', 'frozen': False, 'model_title_generator': <function _node_title_generator>, 'populate_by_name': True, 'revalidate_instances': 'always', 'use_attribute_docstrings': True, 'validate_assignment': True, 'validate_default': True, 'validate_return': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict
][pydantic.config.ConfigDict].
def
model_post_init(self: pydantic.main.BaseModel, context: Any, /) -> None:
337def init_private_attributes(self: BaseModel, context: Any, /) -> None: 338 """This function is meant to behave like a BaseModel method to initialise private attributes. 339 340 It takes context as an argument since that's what pydantic-core passes when calling it. 341 342 Args: 343 self: The BaseModel instance. 344 context: The context. 345 """ 346 if getattr(self, '__pydantic_private__', None) is None: 347 pydantic_private = {} 348 for name, private_attr in self.__private_attributes__.items(): 349 default = private_attr.get_default() 350 if default is not PydanticUndefined: 351 pydantic_private[name] = default 352 object_setattr(self, '__pydantic_private__', pydantic_private)
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that's what pydantic-core passes when calling it.
Arguments:
- self: The BaseModel instance.
- context: The context.
Inherited Members
- bioimageio.spec.generic.v0_3.GenericDescrBase
- implemented_format_version
- convert_from_old_format_wo_validation
- documentation
- badges
- config
- bioimageio.spec.generic.v0_3.GenericModelDescrBase
- name
- description
- covers
- id_emoji
- attachments
- cite
- license
- git_repo
- icon
- links
- uploader
- maintainers
- warn_about_tag_categories
- version
- version_comment
DatasetDescr_v0_2 =
<class 'bioimageio.spec.dataset.v0_2.DatasetDescr'>
DatasetDescr_v0_3 =
<class 'DatasetDescr'>
AnyDatasetDescr =
typing.Annotated[typing.Union[typing.Annotated[bioimageio.spec.dataset.v0_2.DatasetDescr, FieldInfo(annotation=NoneType, required=True, title='dataset 0.2')], typing.Annotated[DatasetDescr, FieldInfo(annotation=NoneType, required=True, title='dataset 0.3')]], Discriminator(discriminator='format_version', custom_error_type=None, custom_error_message=None, custom_error_context=None), FieldInfo(annotation=NoneType, required=True, title='dataset')]
Union of any released dataset desription