|
50 | 50 | geometry | dict | Representation of the bounding box in the Box2DGeometry format.\n
|
51 | 51 | metadata | dict | An arbitrary metadata blob for the annotation.\n
|
52 | 52 | """
|
53 |
| -__version__ = "0.1.0" |
54 |
| - |
55 | 53 | import json
|
56 | 54 | import logging
|
57 |
| -import warnings |
58 | 55 | import os
|
59 |
| -from typing import List, Union, Dict, Callable, Any, Optional |
60 |
| - |
61 |
| -import tqdm |
62 |
| -import tqdm.notebook as tqdm_notebook |
| 56 | +import warnings |
| 57 | +from typing import Any, Callable, Dict, List, Optional, Union |
63 | 58 |
|
64 | 59 | import grequests
|
| 60 | +import pkg_resources |
65 | 61 | import requests
|
| 62 | +import tqdm |
| 63 | +import tqdm.notebook as tqdm_notebook |
66 | 64 | from requests.adapters import HTTPAdapter
|
67 | 65 |
|
68 | 66 | # pylint: disable=E1101
|
69 | 67 | # TODO: refactor to reduce this file to under 1000 lines.
|
70 | 68 | # pylint: disable=C0302
|
71 | 69 | from requests.packages.urllib3.util.retry import Retry
|
72 | 70 |
|
73 |
| -from .constants import REFERENCE_IDS_KEY, DATASET_ITEM_IDS_KEY, UPDATE_KEY |
74 |
| -from .dataset import Dataset |
75 |
| -from .dataset_item import DatasetItem |
76 | 71 | from .annotation import (
|
77 | 72 | BoxAnnotation,
|
78 | 73 | PolygonAnnotation,
|
79 |
| - SegmentationAnnotation, |
80 | 74 | Segment,
|
81 |
| -) |
82 |
| -from .prediction import ( |
83 |
| - BoxPrediction, |
84 |
| - PolygonPrediction, |
85 |
| - SegmentationPrediction, |
86 |
| -) |
87 |
| -from .model_run import ModelRun |
88 |
| -from .slice import Slice |
89 |
| -from .upload_response import UploadResponse |
90 |
| -from .payload_constructor import ( |
91 |
| - construct_append_payload, |
92 |
| - construct_annotation_payload, |
93 |
| - construct_model_creation_payload, |
94 |
| - construct_box_predictions_payload, |
95 |
| - construct_segmentation_payload, |
| 75 | + SegmentationAnnotation, |
96 | 76 | )
|
97 | 77 | from .constants import (
|
98 |
| - NUCLEUS_ENDPOINT, |
| 78 | + ANNOTATION_METADATA_SCHEMA_KEY, |
| 79 | + ANNOTATIONS_IGNORED_KEY, |
| 80 | + ANNOTATIONS_PROCESSED_KEY, |
| 81 | + AUTOTAGS_KEY, |
| 82 | + DATASET_ID_KEY, |
| 83 | + DATASET_ITEM_IDS_KEY, |
99 | 84 | DEFAULT_NETWORK_TIMEOUT_SEC,
|
100 |
| - ERRORS_KEY, |
| 85 | + EMBEDDINGS_URL_KEY, |
101 | 86 | ERROR_ITEMS,
|
102 | 87 | ERROR_PAYLOAD,
|
103 |
| - ITEMS_KEY, |
104 |
| - ITEM_KEY, |
| 88 | + ERRORS_KEY, |
105 | 89 | IMAGE_KEY,
|
106 | 90 | IMAGE_URL_KEY,
|
107 |
| - DATASET_ID_KEY, |
| 91 | + ITEM_METADATA_SCHEMA_KEY, |
| 92 | + ITEMS_KEY, |
108 | 93 | MODEL_RUN_ID_KEY,
|
109 |
| - DATASET_ITEM_ID_KEY, |
110 |
| - SLICE_ID_KEY, |
111 |
| - ANNOTATIONS_PROCESSED_KEY, |
112 |
| - ANNOTATIONS_IGNORED_KEY, |
113 |
| - PREDICTIONS_PROCESSED_KEY, |
| 94 | + NAME_KEY, |
| 95 | + NUCLEUS_ENDPOINT, |
114 | 96 | PREDICTIONS_IGNORED_KEY,
|
| 97 | + PREDICTIONS_PROCESSED_KEY, |
| 98 | + REFERENCE_IDS_KEY, |
| 99 | + SLICE_ID_KEY, |
115 | 100 | STATUS_CODE_KEY,
|
116 |
| - SUCCESS_STATUS_CODES, |
117 |
| - DATASET_NAME_KEY, |
118 |
| - DATASET_MODEL_RUNS_KEY, |
119 |
| - DATASET_SLICES_KEY, |
120 |
| - DATASET_LENGTH_KEY, |
121 |
| - NAME_KEY, |
122 |
| - ANNOTATIONS_KEY, |
123 |
| - AUTOTAGS_KEY, |
124 |
| - ANNOTATION_METADATA_SCHEMA_KEY, |
125 |
| - ITEM_METADATA_SCHEMA_KEY, |
126 |
| - EMBEDDINGS_URL_KEY, |
| 101 | + UPDATE_KEY, |
127 | 102 | )
|
128 |
| -from .model import Model |
| 103 | +from .dataset import Dataset |
| 104 | +from .dataset_item import DatasetItem |
129 | 105 | from .errors import (
|
| 106 | + DatasetItemRetrievalError, |
130 | 107 | ModelCreationError,
|
131 | 108 | ModelRunCreationError,
|
132 |
| - DatasetItemRetrievalError, |
133 | 109 | NotFoundError,
|
134 | 110 | NucleusAPIError,
|
135 | 111 | )
|
| 112 | +from .model import Model |
| 113 | +from .model_run import ModelRun |
| 114 | +from .payload_constructor import ( |
| 115 | + construct_annotation_payload, |
| 116 | + construct_append_payload, |
| 117 | + construct_box_predictions_payload, |
| 118 | + construct_model_creation_payload, |
| 119 | + construct_segmentation_payload, |
| 120 | +) |
| 121 | +from .prediction import ( |
| 122 | + BoxPrediction, |
| 123 | + PolygonPrediction, |
| 124 | + SegmentationPrediction, |
| 125 | +) |
| 126 | +from .slice import Slice |
| 127 | +from .upload_response import UploadResponse |
| 128 | + |
| 129 | +__version__ = pkg_resources.get_distribution("scale-nucleus").version |
136 | 130 |
|
137 | 131 | logger = logging.getLogger(__name__)
|
138 | 132 | logging.basicConfig()
|
@@ -236,6 +230,8 @@ def get_model_run(self, model_run_id: str, dataset_id: str) -> ModelRun:
|
236 | 230 | """
|
237 | 231 | Fetches a model_run for given id
|
238 | 232 | :param model_run_id: internally controlled model_run_id
|
| 233 | + :param dataset_id: the dataset id which may determine the prediction schema |
| 234 | + for this model run if present on the dataset. |
239 | 235 | :return: model_run
|
240 | 236 | """
|
241 | 237 | return ModelRun(model_run_id, dataset_id, self)
|
|
0 commit comments