Components

class grandchallenge.components.models.ComponentInterface(id, title, slug, description, default_value, kind, relative_path, store_in_database)[source]
Parameters
  • id (AutoField) – Id

  • title (CharField) – Title. Human readable name of this input/output field.

  • slug (AutoSlugField) – Slug

  • description (TextField) – Description. Description of this input/output field.

  • default_value (JSONField) – Default value. Default value for this field, only valid for inputs.

  • kind (CharField) – Kind. What is the type of this interface? Used to validate interface values and connections between components.

  • relative_path (CharField) – Relative path. The path to the entity that implements this interface relative to the input or output directory.

  • store_in_database (BooleanField) – Store in database. Should the value be saved in a database field, only valid for outputs.

exception DoesNotExist
Kind

alias of grandchallenge.components.models.InterfaceKindChoices

exception MultipleObjectsReturned
class grandchallenge.components.models.ComponentInterfaceValue(*args, **kwargs)[source]

Encapsulates the value of an interface at a certain point in the graph.

Parameters
  • id (BigAutoField) – Id

  • interface (ForeignKey to ComponentInterface) – Interface

  • value (JSONField) – Value

  • file (FileField) – File

  • image (ForeignKey to Image) – Image

exception DoesNotExist
exception MultipleObjectsReturned
class grandchallenge.components.models.DurationQuerySet(model=None, query=None, using=None, hints=None)[source]
average_duration()[source]

Calculate the average duration that completed jobs ran for

with_duration()[source]

Annotate the queryset with the duration of completed jobs

class grandchallenge.components.models.InterfaceKind[source]

Interface kind.

class InterfaceKindChoices(value)

Interface kind choices.

static interface_type_annotation()[source]

Interface kinds that are annotations:

  • 2D bounding box

  • Multiple 2D bounding boxes

  • Distance measurement

  • Multiple distance measurements

  • Point

  • Multiple points

  • Polygon

  • Multiple polygons

Example json for 2D bounding box annotation

{
    "type": "2D bounding box",
    "corners": [
        [ 130.80001831054688, 148.86666870117188, 0.5009999871253967],
        [ 69.73332977294922, 148.86666870117188, 0.5009999871253967],
        [ 69.73332977294922, 73.13333129882812, 0.5009999871253967 ],
        [ 130.80001831054688, 73.13333129882812, 0.5009999871253967]
    ],
    "version": { "major": 1, "minor": 0 }
}

Example json for Multiple 2D bounding boxes annotation

{
    "type": "Multiple 2D bounding boxes",
    "boxes": [
        {
        "corners": [
            [ 92.66666412353516, 136.06668090820312, 0.5009999871253967],
            [ 54.79999923706055, 136.06668090820312, 0.5009999871253967],
            [ 54.79999923706055, 95.53333282470703, 0.5009999871253967],
            [ 92.66666412353516, 95.53333282470703, 0.5009999871253967]
        ]},
        {
        "corners": [
            [ 92.66666412353516, 136.06668090820312, 0.5009999871253967],
            [ 54.79999923706055, 136.06668090820312, 0.5009999871253967],
            [ 54.79999923706055, 95.53333282470703, 0.5009999871253967],
            [ 92.66666412353516, 95.53333282470703, 0.5009999871253967]
        ]}
    ],
    "version": { "major": 1, "minor": 0 }
}

Example json for Distance measurement annotation

{
    "type": "Distance measurement",
    "start": [ 59.79176712036133, 78.76753997802734, 0.5009999871253967 ],
    "end": [ 69.38014221191406, 143.75546264648438, 0.5009999871253967 ],
    "version": { "major": 1, "minor": 0 }
}

Example json for Multiple distance measurement annotation

{
    "type": "Multiple distance measurements",
    "lines": [
        {
            "start": [ 49.733333587646484, 103.26667022705078, 0.5009999871253967 ],
            "end": [ 55.06666564941406, 139.26666259765625, 0.5009999871253967 ]
        },
        {
            "start": [ 49.733333587646484, 103.26667022705078, 0.5009999871253967 ],
            "end": [ 55.06666564941406, 139.26666259765625, 0.5009999871253967 ]
        }
    ],
    "version": { "major": 1, "minor": 0 }
}

Example json for Point annotation

{
    "point": [ 152.13333129882812, 111.0, 0.5009999871253967 ],
    "type": "Point",
    "version": { "major": 1, "minor": 0 }
}

Example json for Multiple points annotation

{
    "type": "Multiple points",
    "points": [
        {
            "point": [
                96.0145263671875, 79.83292388916016, 0.5009999871253967
            ],
        },
        {
            "point": [
                130.10653686523438, 115.52300262451172, 0.5009999871253967
            ],
        }
    ],
    "version": { "major": 1, "minor": 0 }
}

Example json for Polygon annotation

{
    "type": "Polygon",
    "seed_point": [ 76.413756408691, 124.014717102050, 0.5009999871253967 ],
    "path_points": [
        [ 76.41375842260106, 124.01471710205078, 0.5009999871253967 ],
        [ 76.41694876387268, 124.0511828696491, 0.5009999871253967 ],
        [ 76.42642285078242, 124.0865406433515, 0.5009999871253967 ]
    ],
    "sub_type": "brush",
    "groups": [],
    "version": { "major": 1, "minor": 0 }
}

Example json for Multiple polygon annotation

{
    "type": "Multiple polygons",
    "polygons": [
        {
            "seed_point": [ 55.82666793823242, 90.46666717529297, 0.5009999871253967 ],
            "path_points": [
                [ 55.82667599387105, 90.46666717529297, 0.5009999871253967 ],
                [ 55.93921357544119, 90.88666314747366, 0.5009999871253967 ],
                [ 56.246671966051736, 91.1941215380842, 0.5009999871253967 ],
                [ 56.66666793823242, 91.30665911965434, 0.5009999871253967 ]
            ],
            "sub_type": "brush",
            "groups": [ "manual"],
        },
        {
            "seed_point": [ 90.22666564941406, 96.06666564941406, 0.5009999871253967 ],
            "path_points": [
                [ 90.22667370505269, 96.06666564941406, 0.5009999871253967 ],
                [ 90.33921128662283, 96.48666162159475, 0.5009999871253967 ],
                [ 90.64666967723338, 96.7941200122053, 0.5009999871253967 ]
            ],
            "sub_type": "brush",
            "groups": []
        }
    ],
    "version": { "major": 1, "minor": 0 }
}
static interface_type_file()[source]

Interface kinds that are files:

  • CSV file

  • JSON file

  • ZIP file

static interface_type_image()[source]

Interface kinds that are images:

  • Image

  • Heat Map

  • Segmentation

static interface_type_simple()[source]

Simple interface kinds.

  • String

  • Integer

  • Float

  • Bool

  • Choice

  • Multiple choice

class grandchallenge.components.models.InterfaceKindChoices(value)[source]

Interface kind choices.

class grandchallenge.components.models.InterfaceSuperKindChoices(value)[source]

An enumeration.