Skip to content

Commit

Permalink
Bbox support (#230)
Browse files Browse the repository at this point in the history
* Added support for sending and getting bounding box labels

---------

Co-authored-by: Auto-format Bot <[email protected]>
  • Loading branch information
brandon-groundlight and Auto-format Bot authored Aug 13, 2024
1 parent d3d82df commit ab8dbd4
Show file tree
Hide file tree
Showing 78 changed files with 2,874 additions and 1,613 deletions.
1 change: 1 addition & 0 deletions feature_schedule.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.17.3 : ImageQuery returns image_query_id instead of posicheck_id
18 changes: 18 additions & 0 deletions generated/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ docs/Action.md
docs/ActionRequest.md
docs/ActionsApi.md
docs/AllNotes.md
docs/AnnotationsRequestedEnum.md
docs/BBoxGeometry.md
docs/BBoxGeometryRequest.md
docs/BinaryClassificationResult.md
docs/ChannelEnum.md
docs/Condition.md
Expand All @@ -22,17 +25,23 @@ docs/ImageQueriesApi.md
docs/ImageQuery.md
docs/ImageQueryTypeEnum.md
docs/InlineResponse200.md
docs/LabelValue.md
docs/LabelValueRequest.md
docs/LabelsApi.md
docs/ModeEnum.md
docs/Note.md
docs/NoteRequest.md
docs/NotesApi.md
docs/PaginatedDetectorList.md
docs/PaginatedImageQueryList.md
docs/PaginatedRuleList.md
docs/ROI.md
docs/ROIRequest.md
docs/ResultTypeEnum.md
docs/Rule.md
docs/RuleRequest.md
docs/SnoozeTimeUnitEnum.md
docs/SourceEnum.md
docs/UserApi.md
docs/VerbEnum.md
git_push.sh
Expand All @@ -42,6 +51,7 @@ groundlight_openapi_client/api/actions_api.py
groundlight_openapi_client/api/detector_groups_api.py
groundlight_openapi_client/api/detectors_api.py
groundlight_openapi_client/api/image_queries_api.py
groundlight_openapi_client/api/labels_api.py
groundlight_openapi_client/api/notes_api.py
groundlight_openapi_client/api/user_api.py
groundlight_openapi_client/api_client.py
Expand All @@ -52,6 +62,9 @@ groundlight_openapi_client/model/__init__.py
groundlight_openapi_client/model/action.py
groundlight_openapi_client/model/action_request.py
groundlight_openapi_client/model/all_notes.py
groundlight_openapi_client/model/annotations_requested_enum.py
groundlight_openapi_client/model/b_box_geometry.py
groundlight_openapi_client/model/b_box_geometry_request.py
groundlight_openapi_client/model/binary_classification_result.py
groundlight_openapi_client/model/channel_enum.py
groundlight_openapi_client/model/condition.py
Expand All @@ -65,16 +78,21 @@ groundlight_openapi_client/model/detector_type_enum.py
groundlight_openapi_client/model/image_query.py
groundlight_openapi_client/model/image_query_type_enum.py
groundlight_openapi_client/model/inline_response200.py
groundlight_openapi_client/model/label_value.py
groundlight_openapi_client/model/label_value_request.py
groundlight_openapi_client/model/mode_enum.py
groundlight_openapi_client/model/note.py
groundlight_openapi_client/model/note_request.py
groundlight_openapi_client/model/paginated_detector_list.py
groundlight_openapi_client/model/paginated_image_query_list.py
groundlight_openapi_client/model/paginated_rule_list.py
groundlight_openapi_client/model/result_type_enum.py
groundlight_openapi_client/model/roi.py
groundlight_openapi_client/model/roi_request.py
groundlight_openapi_client/model/rule.py
groundlight_openapi_client/model/rule_request.py
groundlight_openapi_client/model/snooze_time_unit_enum.py
groundlight_openapi_client/model/source_enum.py
groundlight_openapi_client/model/verb_enum.py
groundlight_openapi_client/model_utils.py
groundlight_openapi_client/models/__init__.py
Expand Down
11 changes: 11 additions & 0 deletions generated/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,16 @@ Class | Method | HTTP request | Description
*DetectorGroupsApi* | [**create_detector_group**](docs/DetectorGroupsApi.md#create_detector_group) | **POST** /v1/detector-groups |
*DetectorGroupsApi* | [**get_detector_groups**](docs/DetectorGroupsApi.md#get_detector_groups) | **GET** /v1/detector-groups |
*DetectorsApi* | [**create_detector**](docs/DetectorsApi.md#create_detector) | **POST** /v1/detectors |
*DetectorsApi* | [**create_detector_group2**](docs/DetectorsApi.md#create_detector_group2) | **POST** /v1/detectors/detector-groups |
*DetectorsApi* | [**delete_detector**](docs/DetectorsApi.md#delete_detector) | **DELETE** /v1/detectors/{id} |
*DetectorsApi* | [**get_detector**](docs/DetectorsApi.md#get_detector) | **GET** /v1/detectors/{id} |
*DetectorsApi* | [**get_detector_groups2**](docs/DetectorsApi.md#get_detector_groups2) | **GET** /v1/detectors/detector-groups |
*DetectorsApi* | [**list_detectors**](docs/DetectorsApi.md#list_detectors) | **GET** /v1/detectors |
*ImageQueriesApi* | [**get_image**](docs/ImageQueriesApi.md#get_image) | **GET** /v1/image-queries/{id}/image |
*ImageQueriesApi* | [**get_image_query**](docs/ImageQueriesApi.md#get_image_query) | **GET** /v1/image-queries/{id} |
*ImageQueriesApi* | [**list_image_queries**](docs/ImageQueriesApi.md#list_image_queries) | **GET** /v1/image-queries |
*ImageQueriesApi* | [**submit_image_query**](docs/ImageQueriesApi.md#submit_image_query) | **POST** /v1/image-queries |
*LabelsApi* | [**create_label**](docs/LabelsApi.md#create_label) | **POST** /v1/labels |
*NotesApi* | [**create_note**](docs/NotesApi.md#create_note) | **POST** /v1/notes |
*NotesApi* | [**get_notes**](docs/NotesApi.md#get_notes) | **GET** /v1/notes |
*UserApi* | [**who_am_i**](docs/UserApi.md#who_am_i) | **GET** /v1/me |
Expand All @@ -134,6 +137,9 @@ Class | Method | HTTP request | Description
- [Action](docs/Action.md)
- [ActionRequest](docs/ActionRequest.md)
- [AllNotes](docs/AllNotes.md)
- [AnnotationsRequestedEnum](docs/AnnotationsRequestedEnum.md)
- [BBoxGeometry](docs/BBoxGeometry.md)
- [BBoxGeometryRequest](docs/BBoxGeometryRequest.md)
- [BinaryClassificationResult](docs/BinaryClassificationResult.md)
- [ChannelEnum](docs/ChannelEnum.md)
- [Condition](docs/Condition.md)
Expand All @@ -147,16 +153,21 @@ Class | Method | HTTP request | Description
- [ImageQuery](docs/ImageQuery.md)
- [ImageQueryTypeEnum](docs/ImageQueryTypeEnum.md)
- [InlineResponse200](docs/InlineResponse200.md)
- [LabelValue](docs/LabelValue.md)
- [LabelValueRequest](docs/LabelValueRequest.md)
- [ModeEnum](docs/ModeEnum.md)
- [Note](docs/Note.md)
- [NoteRequest](docs/NoteRequest.md)
- [PaginatedDetectorList](docs/PaginatedDetectorList.md)
- [PaginatedImageQueryList](docs/PaginatedImageQueryList.md)
- [PaginatedRuleList](docs/PaginatedRuleList.md)
- [ROI](docs/ROI.md)
- [ROIRequest](docs/ROIRequest.md)
- [ResultTypeEnum](docs/ResultTypeEnum.md)
- [Rule](docs/Rule.md)
- [RuleRequest](docs/RuleRequest.md)
- [SnoozeTimeUnitEnum](docs/SnoozeTimeUnitEnum.md)
- [SourceEnum](docs/SourceEnum.md)
- [VerbEnum](docs/VerbEnum.md)


Expand Down
12 changes: 12 additions & 0 deletions generated/docs/AnnotationsRequestedEnum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# AnnotationsRequestedEnum

* `BINARY_CLASSIFICATION` - Binary Classification * `BOUNDING_BOXES` - Bounding Boxes

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**value** | **str** | * &#x60;BINARY_CLASSIFICATION&#x60; - Binary Classification * &#x60;BOUNDING_BOXES&#x60; - Bounding Boxes | must be one of ["BINARY_CLASSIFICATION", "BOUNDING_BOXES", ]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


18 changes: 18 additions & 0 deletions generated/docs/BBoxGeometry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# BBoxGeometry

Mixin for serializers to handle data in the StrictBaseModel format

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**left** | **float** | |
**top** | **float** | |
**right** | **float** | |
**bottom** | **float** | |
**x** | **float** | | [readonly]
**y** | **float** | | [readonly]
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


16 changes: 16 additions & 0 deletions generated/docs/BBoxGeometryRequest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# BBoxGeometryRequest

Mixin for serializers to handle data in the StrictBaseModel format

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**left** | **float** | |
**top** | **float** | |
**right** | **float** | |
**bottom** | **float** | |
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


11 changes: 11 additions & 0 deletions generated/docs/BlankEnum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# BlankEnum


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**value** | **str** | | defaults to "", must be one of ["", ]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


155 changes: 155 additions & 0 deletions generated/docs/DetectorsApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ All URIs are relative to *https://api.groundlight.ai/device-api*
Method | HTTP request | Description
------------- | ------------- | -------------
[**create_detector**](DetectorsApi.md#create_detector) | **POST** /v1/detectors |
[**create_detector_group2**](DetectorsApi.md#create_detector_group2) | **POST** /v1/detectors/detector-groups |
[**delete_detector**](DetectorsApi.md#delete_detector) | **DELETE** /v1/detectors/{id} |
[**get_detector**](DetectorsApi.md#get_detector) | **GET** /v1/detectors/{id} |
[**get_detector_groups2**](DetectorsApi.md#get_detector_groups2) | **GET** /v1/detectors/detector-groups |
[**list_detectors**](DetectorsApi.md#list_detectors) | **GET** /v1/detectors |


Expand Down Expand Up @@ -90,6 +92,86 @@ Name | Type | Description | Notes
- **Accept**: application/json


### HTTP response details

| Status code | Description | Response headers |
|-------------|-------------|------------------|
**201** | | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **create_detector_group2**
> DetectorGroup create_detector_group2(detector_group_request)


Create a new detector group POST data: Required: - name (str) - name of the predictor set

### Example

* Api Key Authentication (ApiToken):

```python
import time
import groundlight_openapi_client
from groundlight_openapi_client.api import detectors_api
from groundlight_openapi_client.model.detector_group_request import DetectorGroupRequest
from groundlight_openapi_client.model.detector_group import DetectorGroup
from pprint import pprint
# Defining the host is optional and defaults to https://api.groundlight.ai/device-api
# See configuration.py for a list of all supported configuration parameters.
configuration = groundlight_openapi_client.Configuration(
host = "https://api.groundlight.ai/device-api"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: ApiToken
configuration.api_key['ApiToken'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['ApiToken'] = 'Bearer'

# Enter a context with an instance of the API client
with groundlight_openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = detectors_api.DetectorsApi(api_client)
detector_group_request = DetectorGroupRequest(
name="name_example",
) # DetectorGroupRequest |

# example passing only required values which don't have defaults set
try:
api_response = api_instance.create_detector_group2(detector_group_request)
pprint(api_response)
except groundlight_openapi_client.ApiException as e:
print("Exception when calling DetectorsApi->create_detector_group2: %s\n" % e)
```


### Parameters

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**detector_group_request** | [**DetectorGroupRequest**](DetectorGroupRequest.md)| |

### Return type

[**DetectorGroup**](DetectorGroup.md)

### Authorization

[ApiToken](../README.md#ApiToken)

### HTTP request headers

- **Content-Type**: application/json, application/x-www-form-urlencoded, multipart/form-data
- **Accept**: application/json


### HTTP response details

| Status code | Description | Response headers |
Expand Down Expand Up @@ -242,6 +324,79 @@ Name | Type | Description | Notes
- **Accept**: application/json


### HTTP response details

| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **get_detector_groups2**
> [DetectorGroup] get_detector_groups2()


List all detector groups

### Example

* Api Key Authentication (ApiToken):

```python
import time
import groundlight_openapi_client
from groundlight_openapi_client.api import detectors_api
from groundlight_openapi_client.model.detector_group import DetectorGroup
from pprint import pprint
# Defining the host is optional and defaults to https://api.groundlight.ai/device-api
# See configuration.py for a list of all supported configuration parameters.
configuration = groundlight_openapi_client.Configuration(
host = "https://api.groundlight.ai/device-api"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: ApiToken
configuration.api_key['ApiToken'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['ApiToken'] = 'Bearer'

# Enter a context with an instance of the API client
with groundlight_openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = detectors_api.DetectorsApi(api_client)

# example, this endpoint has no required or optional parameters
try:
api_response = api_instance.get_detector_groups2()
pprint(api_response)
except groundlight_openapi_client.ApiException as e:
print("Exception when calling DetectorsApi->get_detector_groups2: %s\n" % e)
```


### Parameters
This endpoint does not need any parameter.

### Return type

[**[DetectorGroup]**](DetectorGroup.md)

### Authorization

[ApiToken](../README.md#ApiToken)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json


### HTTP response details

| Status code | Description | Response headers |
Expand Down
1 change: 1 addition & 0 deletions generated/docs/ImageQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Name | Type | Description | Notes
**result** | **bool, date, datetime, dict, float, int, list, str, none_type** | The result of the image query. | [readonly]
**patience_time** | **float** | How long to wait for a confident response. | [readonly]
**confidence_threshold** | **float** | Min confidence needed to accept the response of the image query. | [readonly]
**rois** | [**[ROI], none_type**](ROI.md) | An array of regions of interest (bounding boxes) collected on image | [readonly]
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
Expand Down
18 changes: 18 additions & 0 deletions generated/docs/LabelValue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# LabelValue


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**confidence** | **float, none_type** | | [readonly]
**class_name** | **str, none_type** | A human-readable class name for this label (e.g. YES/NO) | [readonly]
**annotations_requested** | **[bool, date, datetime, dict, float, int, list, str, none_type]** | | [readonly]
**created_at** | **datetime** | | [readonly]
**detector_id** | **int, none_type** | | [readonly]
**source** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [readonly]
**rois** | [**[ROI], none_type**](ROI.md) | | [optional]
**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


Loading

0 comments on commit ab8dbd4

Please sign in to comment.