diff --git a/src/viam/gen/service/vision/v1/vision_grpc.py b/src/viam/gen/service/vision/v1/vision_grpc.py index 8bedb55f4..7424bbeea 100644 --- a/src/viam/gen/service/vision/v1/vision_grpc.py +++ b/src/viam/gen/service/vision/v1/vision_grpc.py @@ -11,22 +11,6 @@ class VisionServiceBase(abc.ABC): - @abc.abstractmethod - async def GetModelParameterSchema(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetModelParameterSchemaRequest, service.vision.v1.vision_pb2.GetModelParameterSchemaResponse]') -> None: - pass - - @abc.abstractmethod - async def GetDetectorNames(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectorNamesRequest, service.vision.v1.vision_pb2.GetDetectorNamesResponse]') -> None: - pass - - @abc.abstractmethod - async def AddDetector(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.AddDetectorRequest, service.vision.v1.vision_pb2.AddDetectorResponse]') -> None: - pass - - @abc.abstractmethod - async def RemoveDetector(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.RemoveDetectorRequest, service.vision.v1.vision_pb2.RemoveDetectorResponse]') -> None: - pass - @abc.abstractmethod async def GetDetectionsFromCamera(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse]') -> None: pass @@ -35,18 +19,6 @@ async def GetDetectionsFromCamera(self, stream: 'grpclib.server.Stream[service.v async def GetDetections(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse]') -> None: pass - @abc.abstractmethod - async def GetClassifierNames(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassifierNamesRequest, service.vision.v1.vision_pb2.GetClassifierNamesResponse]') -> None: - pass - - @abc.abstractmethod - async def AddClassifier(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.AddClassifierRequest, service.vision.v1.vision_pb2.AddClassifierResponse]') -> None: - pass - - @abc.abstractmethod - async def RemoveClassifier(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.RemoveClassifierRequest, service.vision.v1.vision_pb2.RemoveClassifierResponse]') -> None: - pass - @abc.abstractmethod async def GetClassificationsFromCamera(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse]') -> None: pass @@ -55,18 +27,6 @@ async def GetClassificationsFromCamera(self, stream: 'grpclib.server.Stream[serv async def GetClassifications(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse]') -> None: pass - @abc.abstractmethod - async def GetSegmenterNames(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetSegmenterNamesRequest, service.vision.v1.vision_pb2.GetSegmenterNamesResponse]') -> None: - pass - - @abc.abstractmethod - async def AddSegmenter(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.AddSegmenterRequest, service.vision.v1.vision_pb2.AddSegmenterResponse]') -> None: - pass - - @abc.abstractmethod - async def RemoveSegmenter(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.RemoveSegmenterRequest, service.vision.v1.vision_pb2.RemoveSegmenterResponse]') -> None: - pass - @abc.abstractmethod async def GetObjectPointClouds(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse]') -> None: pass @@ -76,24 +36,14 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.vision.v1.VisionService/GetModelParameterSchema': grpclib.const.Handler(self.GetModelParameterSchema, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetModelParameterSchemaRequest, service.vision.v1.vision_pb2.GetModelParameterSchemaResponse), '/viam.service.vision.v1.VisionService/GetDetectorNames': grpclib.const.Handler(self.GetDetectorNames, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectorNamesRequest, service.vision.v1.vision_pb2.GetDetectorNamesResponse), '/viam.service.vision.v1.VisionService/AddDetector': grpclib.const.Handler(self.AddDetector, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.AddDetectorRequest, service.vision.v1.vision_pb2.AddDetectorResponse), '/viam.service.vision.v1.VisionService/RemoveDetector': grpclib.const.Handler(self.RemoveDetector, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.RemoveDetectorRequest, service.vision.v1.vision_pb2.RemoveDetectorResponse), '/viam.service.vision.v1.VisionService/GetDetectionsFromCamera': grpclib.const.Handler(self.GetDetectionsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetDetections': grpclib.const.Handler(self.GetDetections, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse), '/viam.service.vision.v1.VisionService/GetClassifierNames': grpclib.const.Handler(self.GetClassifierNames, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassifierNamesRequest, service.vision.v1.vision_pb2.GetClassifierNamesResponse), '/viam.service.vision.v1.VisionService/AddClassifier': grpclib.const.Handler(self.AddClassifier, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.AddClassifierRequest, service.vision.v1.vision_pb2.AddClassifierResponse), '/viam.service.vision.v1.VisionService/RemoveClassifier': grpclib.const.Handler(self.RemoveClassifier, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.RemoveClassifierRequest, service.vision.v1.vision_pb2.RemoveClassifierResponse), '/viam.service.vision.v1.VisionService/GetClassificationsFromCamera': grpclib.const.Handler(self.GetClassificationsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetClassifications': grpclib.const.Handler(self.GetClassifications, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse), '/viam.service.vision.v1.VisionService/GetSegmenterNames': grpclib.const.Handler(self.GetSegmenterNames, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetSegmenterNamesRequest, service.vision.v1.vision_pb2.GetSegmenterNamesResponse), '/viam.service.vision.v1.VisionService/AddSegmenter': grpclib.const.Handler(self.AddSegmenter, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.AddSegmenterRequest, service.vision.v1.vision_pb2.AddSegmenterResponse), '/viam.service.vision.v1.VisionService/RemoveSegmenter': grpclib.const.Handler(self.RemoveSegmenter, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.RemoveSegmenterRequest, service.vision.v1.vision_pb2.RemoveSegmenterResponse), '/viam.service.vision.v1.VisionService/GetObjectPointClouds': grpclib.const.Handler(self.GetObjectPointClouds, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse), '/viam.service.vision.v1.VisionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return {'/viam.service.vision.v1.VisionService/GetDetectionsFromCamera': grpclib.const.Handler(self.GetDetectionsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetDetections': grpclib.const.Handler(self.GetDetections, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse), '/viam.service.vision.v1.VisionService/GetClassificationsFromCamera': grpclib.const.Handler(self.GetClassificationsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetClassifications': grpclib.const.Handler(self.GetClassifications, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse), '/viam.service.vision.v1.VisionService/GetObjectPointClouds': grpclib.const.Handler(self.GetObjectPointClouds, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse), '/viam.service.vision.v1.VisionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} class VisionServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetModelParameterSchema = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetModelParameterSchema', service.vision.v1.vision_pb2.GetModelParameterSchemaRequest, service.vision.v1.vision_pb2.GetModelParameterSchemaResponse) - self.GetDetectorNames = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetDetectorNames', service.vision.v1.vision_pb2.GetDetectorNamesRequest, service.vision.v1.vision_pb2.GetDetectorNamesResponse) - self.AddDetector = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/AddDetector', service.vision.v1.vision_pb2.AddDetectorRequest, service.vision.v1.vision_pb2.AddDetectorResponse) - self.RemoveDetector = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/RemoveDetector', service.vision.v1.vision_pb2.RemoveDetectorRequest, service.vision.v1.vision_pb2.RemoveDetectorResponse) self.GetDetectionsFromCamera = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetDetectionsFromCamera', service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse) self.GetDetections = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetDetections', service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse) - self.GetClassifierNames = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetClassifierNames', service.vision.v1.vision_pb2.GetClassifierNamesRequest, service.vision.v1.vision_pb2.GetClassifierNamesResponse) - self.AddClassifier = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/AddClassifier', service.vision.v1.vision_pb2.AddClassifierRequest, service.vision.v1.vision_pb2.AddClassifierResponse) - self.RemoveClassifier = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/RemoveClassifier', service.vision.v1.vision_pb2.RemoveClassifierRequest, service.vision.v1.vision_pb2.RemoveClassifierResponse) self.GetClassificationsFromCamera = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetClassificationsFromCamera', service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse) self.GetClassifications = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetClassifications', service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse) - self.GetSegmenterNames = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetSegmenterNames', service.vision.v1.vision_pb2.GetSegmenterNamesRequest, service.vision.v1.vision_pb2.GetSegmenterNamesResponse) - self.AddSegmenter = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/AddSegmenter', service.vision.v1.vision_pb2.AddSegmenterRequest, service.vision.v1.vision_pb2.AddSegmenterResponse) - self.RemoveSegmenter = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/RemoveSegmenter', service.vision.v1.vision_pb2.RemoveSegmenterRequest, service.vision.v1.vision_pb2.RemoveSegmenterResponse) self.GetObjectPointClouds = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetObjectPointClouds', service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse) self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file diff --git a/src/viam/gen/service/vision/v1/vision_pb2.py b/src/viam/gen/service/vision/v1/vision_pb2.py index bd7f44aad..8c70fe37f 100644 --- a/src/viam/gen/service/vision/v1/vision_pb2.py +++ b/src/viam/gen/service/vision/v1/vision_pb2.py @@ -7,107 +7,47 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\x82\x01\n\x1eGetModelParameterSchemaRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\nmodel_type\x18\x02 \x01(\tR\tmodelType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x1fGetModelParameterSchemaResponse\x124\n\x16model_parameter_schema\x18\x01 \x01(\x0cR\x14modelParameterSchema"\\\n\x17GetDetectorNamesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"A\n\x18GetDetectorNamesResponse\x12%\n\x0edetector_names\x18\x01 \x03(\tR\rdetectorNames"\xf6\x01\n\x12AddDetectorRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12#\n\rdetector_name\x18\x02 \x01(\tR\x0cdetectorName\x12.\n\x13detector_model_type\x18\x03 \x01(\tR\x11detectorModelType\x12H\n\x13detector_parameters\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\x12detectorParameters\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13AddDetectorResponse"\x7f\n\x15RemoveDetectorRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12#\n\rdetector_name\x18\x02 \x01(\tR\x0cdetectorName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16RemoveDetectorResponse"\xdf\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12#\n\rdetector_name\x18\x06 \x01(\tR\x0cdetectorName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xa9\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12#\n\rdetector_name\x18\x03 \x01(\tR\x0cdetectorName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xda\x01\n\tDetection\x12\x18\n\x05x_min\x18\x01 \x01(\x03H\x00R\x04xMin\x88\x01\x01\x12\x18\n\x05y_min\x18\x02 \x01(\x03H\x01R\x04yMin\x88\x01\x01\x12\x18\n\x05x_max\x18\x03 \x01(\x03H\x02R\x04xMax\x88\x01\x01\x12\x18\n\x05y_max\x18\x04 \x01(\x03H\x03R\x04yMax\x88\x01\x01\x12\x1e\n\nconfidence\x18\x05 \x01(\x01R\nconfidence\x12\x1d\n\nclass_name\x18\x06 \x01(\tR\tclassNameB\x08\n\x06_x_minB\x08\n\x06_y_minB\x08\n\x06_x_maxB\x08\n\x06_y_max"^\n\x19GetClassifierNamesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"G\n\x1aGetClassifierNamesResponse\x12)\n\x10classifier_names\x18\x01 \x03(\tR\x0fclassifierNames"\x84\x02\n\x14AddClassifierRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\'\n\x0fclassifier_name\x18\x02 \x01(\tR\x0eclassifierName\x122\n\x15classifier_model_type\x18\x03 \x01(\tR\x13classifierModelType\x12L\n\x15classifier_parameters\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\x14classifierParameters\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x17\n\x15AddClassifierResponse"\x85\x01\n\x17RemoveClassifierRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\'\n\x0fclassifier_name\x18\x02 \x01(\tR\x0eclassifierName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x1a\n\x18RemoveClassifierResponse"\xf6\x01\n\x19GetClassificationsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12\'\n\x0fclassifier_name\x18\x06 \x01(\tR\x0eclassifierName\x12\x0c\n\x01n\x18\x07 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x1aGetClassificationsResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"\xc0\x01\n#GetClassificationsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\'\n\x0fclassifier_name\x18\x03 \x01(\tR\x0eclassifierName\x12\x0c\n\x01n\x18\x04 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"x\n$GetClassificationsFromCameraResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"O\n\x0eClassification\x12\x1d\n\nclass_name\x18\x01 \x01(\tR\tclassName\x12\x1e\n\nconfidence\x18\x02 \x01(\x01R\nconfidence"]\n\x18GetSegmenterNamesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"D\n\x19GetSegmenterNamesResponse\x12\'\n\x0fsegmenter_names\x18\x01 \x03(\tR\x0esegmenterNames"\xfd\x01\n\x13AddSegmenterRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0esegmenter_name\x18\x02 \x01(\tR\rsegmenterName\x120\n\x14segmenter_model_type\x18\x03 \x01(\tR\x12segmenterModelType\x12J\n\x14segmenter_parameters\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\x13segmenterParameters\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x16\n\x14AddSegmenterResponse"\x82\x01\n\x16RemoveSegmenterRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12%\n\x0esegmenter_name\x18\x02 \x01(\tR\rsegmenterName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x19\n\x17RemoveSegmenterResponse"\xc5\x01\n\x1bGetObjectPointCloudsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12%\n\x0esegmenter_name\x18\x03 \x01(\tR\rsegmenterName\x12\x1b\n\tmime_type\x18\x04 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"w\n\x1cGetObjectPointCloudsResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12:\n\x07objects\x18\x02 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects2\xe4\x16\n\rVisionService\x12\xcd\x01\n\x17GetModelParameterSchema\x126.viam.service.vision.v1.GetModelParameterSchemaRequest\x1a7.viam.service.vision.v1.GetModelParameterSchemaResponse"A\x82\xd3\xe4\x93\x02;\x129/viam/api/v1/service/vision/{name}/model_parameter_schema\x12\xb0\x01\n\x10GetDetectorNames\x12/.viam.service.vision.v1.GetDetectorNamesRequest\x1a0.viam.service.vision.v1.GetDetectorNamesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/vision/{name}/detector_names\x12\x9f\x01\n\x0bAddDetector\x12*.viam.service.vision.v1.AddDetectorRequest\x1a+.viam.service.vision.v1.AddDetectorResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/service/vision/{name}/add_detector\x12\xab\x01\n\x0eRemoveDetector\x12-.viam.service.vision.v1.RemoveDetectorRequest\x1a..viam.service.vision.v1.RemoveDetectorResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/remove_detector\x12\xc8\x01\n\x17GetDetectionsFromCamera\x126.viam.service.vision.v1.GetDetectionsFromCameraRequest\x1a7.viam.service.vision.v1.GetDetectionsFromCameraResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections\x12\xa3\x01\n\rGetDetections\x12,.viam.service.vision.v1.GetDetectionsRequest\x1a-.viam.service.vision.v1.GetDetectionsResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections\x12\xb8\x01\n\x12GetClassifierNames\x121.viam.service.vision.v1.GetClassifierNamesRequest\x1a2.viam.service.vision.v1.GetClassifierNamesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/service/vision/{name}/classifier_names\x12\xa7\x01\n\rAddClassifier\x12,.viam.service.vision.v1.AddClassifierRequest\x1a-.viam.service.vision.v1.AddClassifierResponse"9\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/vision/{name}/add_classifier\x12\xb3\x01\n\x10RemoveClassifier\x12/.viam.service.vision.v1.RemoveClassifierRequest\x1a0.viam.service.vision.v1.RemoveClassifierResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/remove_classifier\x12\xdc\x01\n\x1cGetClassificationsFromCamera\x12;.viam.service.vision.v1.GetClassificationsFromCameraRequest\x1a<.viam.service.vision.v1.GetClassificationsFromCameraResponse"A\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications\x12\xb7\x01\n\x12GetClassifications\x121.viam.service.vision.v1.GetClassificationsRequest\x1a2.viam.service.vision.v1.GetClassificationsResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications\x12\xb4\x01\n\x11GetSegmenterNames\x120.viam.service.vision.v1.GetSegmenterNamesRequest\x1a1.viam.service.vision.v1.GetSegmenterNamesResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/service/vision/{name}/segmenter_names\x12\xa3\x01\n\x0cAddSegmenter\x12+.viam.service.vision.v1.AddSegmenterRequest\x1a,.viam.service.vision.v1.AddSegmenterResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/vision/{name}/add_segmenter\x12\xaf\x01\n\x0fRemoveSegmenter\x12..viam.service.vision.v1.RemoveSegmenterRequest\x1a/.viam.service.vision.v1.RemoveSegmenterResponse";\x82\xd3\xe4\x93\x025"3/viam/api/v1/service/vision/{name}/remove_segmenter\x12\xc1\x01\n\x14GetObjectPointClouds\x123.viam.service.vision.v1.GetObjectPointCloudsRequest\x1a4.viam.service.vision.v1.GetObjectPointCloudsResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_commandB?\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xba\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\x84\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xda\x01\n\tDetection\x12\x18\n\x05x_min\x18\x01 \x01(\x03H\x00R\x04xMin\x88\x01\x01\x12\x18\n\x05y_min\x18\x02 \x01(\x03H\x01R\x04yMin\x88\x01\x01\x12\x18\n\x05x_max\x18\x03 \x01(\x03H\x02R\x04xMax\x88\x01\x01\x12\x18\n\x05y_max\x18\x04 \x01(\x03H\x03R\x04yMax\x88\x01\x01\x12\x1e\n\nconfidence\x18\x05 \x01(\x01R\nconfidence\x12\x1d\n\nclass_name\x18\x06 \x01(\tR\tclassNameB\x08\n\x06_x_minB\x08\n\x06_y_minB\x08\n\x06_x_maxB\x08\n\x06_y_max"\xcd\x01\n\x19GetClassificationsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12\x0c\n\x01n\x18\x06 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x1aGetClassificationsResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"\x97\x01\n#GetClassificationsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x0c\n\x01n\x18\x03 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"x\n$GetClassificationsFromCameraResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"O\n\x0eClassification\x12\x1d\n\nclass_name\x18\x01 \x01(\tR\tclassName\x12\x1e\n\nconfidence\x18\x02 \x01(\x01R\nconfidence"\x9e\x01\n\x1bGetObjectPointCloudsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"w\n\x1cGetObjectPointCloudsResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12:\n\x07objects\x18\x02 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects2\xe7\x08\n\rVisionService\x12\xc8\x01\n\x17GetDetectionsFromCamera\x126.viam.service.vision.v1.GetDetectionsFromCameraRequest\x1a7.viam.service.vision.v1.GetDetectionsFromCameraResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections\x12\xa3\x01\n\rGetDetections\x12,.viam.service.vision.v1.GetDetectionsRequest\x1a-.viam.service.vision.v1.GetDetectionsResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections\x12\xdc\x01\n\x1cGetClassificationsFromCamera\x12;.viam.service.vision.v1.GetClassificationsFromCameraRequest\x1a<.viam.service.vision.v1.GetClassificationsFromCameraResponse"A\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications\x12\xb7\x01\n\x12GetClassifications\x121.viam.service.vision.v1.GetClassificationsRequest\x1a2.viam.service.vision.v1.GetClassificationsResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications\x12\xc1\x01\n\x14GetObjectPointClouds\x123.viam.service.vision.v1.GetObjectPointCloudsRequest\x1a4.viam.service.vision.v1.GetObjectPointCloudsResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_commandB?\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.vision.v1.vision_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1' - _VISIONSERVICE.methods_by_name['GetModelParameterSchema']._options = None - _VISIONSERVICE.methods_by_name['GetModelParameterSchema']._serialized_options = b'\x82\xd3\xe4\x93\x02;\x129/viam/api/v1/service/vision/{name}/model_parameter_schema' - _VISIONSERVICE.methods_by_name['GetDetectorNames']._options = None - _VISIONSERVICE.methods_by_name['GetDetectorNames']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/vision/{name}/detector_names' - _VISIONSERVICE.methods_by_name['AddDetector']._options = None - _VISIONSERVICE.methods_by_name['AddDetector']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/service/vision/{name}/add_detector' - _VISIONSERVICE.methods_by_name['RemoveDetector']._options = None - _VISIONSERVICE.methods_by_name['RemoveDetector']._serialized_options = b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/remove_detector' _VISIONSERVICE.methods_by_name['GetDetectionsFromCamera']._options = None _VISIONSERVICE.methods_by_name['GetDetectionsFromCamera']._serialized_options = b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections' _VISIONSERVICE.methods_by_name['GetDetections']._options = None _VISIONSERVICE.methods_by_name['GetDetections']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections' - _VISIONSERVICE.methods_by_name['GetClassifierNames']._options = None - _VISIONSERVICE.methods_by_name['GetClassifierNames']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/service/vision/{name}/classifier_names' - _VISIONSERVICE.methods_by_name['AddClassifier']._options = None - _VISIONSERVICE.methods_by_name['AddClassifier']._serialized_options = b'\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/vision/{name}/add_classifier' - _VISIONSERVICE.methods_by_name['RemoveClassifier']._options = None - _VISIONSERVICE.methods_by_name['RemoveClassifier']._serialized_options = b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/remove_classifier' _VISIONSERVICE.methods_by_name['GetClassificationsFromCamera']._options = None _VISIONSERVICE.methods_by_name['GetClassificationsFromCamera']._serialized_options = b'\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications' _VISIONSERVICE.methods_by_name['GetClassifications']._options = None _VISIONSERVICE.methods_by_name['GetClassifications']._serialized_options = b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications' - _VISIONSERVICE.methods_by_name['GetSegmenterNames']._options = None - _VISIONSERVICE.methods_by_name['GetSegmenterNames']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/service/vision/{name}/segmenter_names' - _VISIONSERVICE.methods_by_name['AddSegmenter']._options = None - _VISIONSERVICE.methods_by_name['AddSegmenter']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/vision/{name}/add_segmenter' - _VISIONSERVICE.methods_by_name['RemoveSegmenter']._options = None - _VISIONSERVICE.methods_by_name['RemoveSegmenter']._serialized_options = b'\x82\xd3\xe4\x93\x025"3/viam/api/v1/service/vision/{name}/remove_segmenter' _VISIONSERVICE.methods_by_name['GetObjectPointClouds']._options = None _VISIONSERVICE.methods_by_name['GetObjectPointClouds']._serialized_options = b'\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds' _VISIONSERVICE.methods_by_name['DoCommand']._options = None _VISIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_command' - _GETMODELPARAMETERSCHEMAREQUEST._serialized_start = 143 - _GETMODELPARAMETERSCHEMAREQUEST._serialized_end = 273 - _GETMODELPARAMETERSCHEMARESPONSE._serialized_start = 275 - _GETMODELPARAMETERSCHEMARESPONSE._serialized_end = 362 - _GETDETECTORNAMESREQUEST._serialized_start = 364 - _GETDETECTORNAMESREQUEST._serialized_end = 456 - _GETDETECTORNAMESRESPONSE._serialized_start = 458 - _GETDETECTORNAMESRESPONSE._serialized_end = 523 - _ADDDETECTORREQUEST._serialized_start = 526 - _ADDDETECTORREQUEST._serialized_end = 772 - _ADDDETECTORRESPONSE._serialized_start = 774 - _ADDDETECTORRESPONSE._serialized_end = 795 - _REMOVEDETECTORREQUEST._serialized_start = 797 - _REMOVEDETECTORREQUEST._serialized_end = 924 - _REMOVEDETECTORRESPONSE._serialized_start = 926 - _REMOVEDETECTORRESPONSE._serialized_end = 950 - _GETDETECTIONSREQUEST._serialized_start = 953 - _GETDETECTIONSREQUEST._serialized_end = 1176 - _GETDETECTIONSRESPONSE._serialized_start = 1178 - _GETDETECTIONSRESPONSE._serialized_end = 1268 - _GETDETECTIONSFROMCAMERAREQUEST._serialized_start = 1271 - _GETDETECTIONSFROMCAMERAREQUEST._serialized_end = 1440 - _GETDETECTIONSFROMCAMERARESPONSE._serialized_start = 1442 - _GETDETECTIONSFROMCAMERARESPONSE._serialized_end = 1542 - _DETECTION._serialized_start = 1545 - _DETECTION._serialized_end = 1763 - _GETCLASSIFIERNAMESREQUEST._serialized_start = 1765 - _GETCLASSIFIERNAMESREQUEST._serialized_end = 1859 - _GETCLASSIFIERNAMESRESPONSE._serialized_start = 1861 - _GETCLASSIFIERNAMESRESPONSE._serialized_end = 1932 - _ADDCLASSIFIERREQUEST._serialized_start = 1935 - _ADDCLASSIFIERREQUEST._serialized_end = 2195 - _ADDCLASSIFIERRESPONSE._serialized_start = 2197 - _ADDCLASSIFIERRESPONSE._serialized_end = 2220 - _REMOVECLASSIFIERREQUEST._serialized_start = 2223 - _REMOVECLASSIFIERREQUEST._serialized_end = 2356 - _REMOVECLASSIFIERRESPONSE._serialized_start = 2358 - _REMOVECLASSIFIERRESPONSE._serialized_end = 2384 - _GETCLASSIFICATIONSREQUEST._serialized_start = 2387 - _GETCLASSIFICATIONSREQUEST._serialized_end = 2633 - _GETCLASSIFICATIONSRESPONSE._serialized_start = 2635 - _GETCLASSIFICATIONSRESPONSE._serialized_end = 2745 - _GETCLASSIFICATIONSFROMCAMERAREQUEST._serialized_start = 2748 - _GETCLASSIFICATIONSFROMCAMERAREQUEST._serialized_end = 2940 - _GETCLASSIFICATIONSFROMCAMERARESPONSE._serialized_start = 2942 - _GETCLASSIFICATIONSFROMCAMERARESPONSE._serialized_end = 3062 - _CLASSIFICATION._serialized_start = 3064 - _CLASSIFICATION._serialized_end = 3143 - _GETSEGMENTERNAMESREQUEST._serialized_start = 3145 - _GETSEGMENTERNAMESREQUEST._serialized_end = 3238 - _GETSEGMENTERNAMESRESPONSE._serialized_start = 3240 - _GETSEGMENTERNAMESRESPONSE._serialized_end = 3308 - _ADDSEGMENTERREQUEST._serialized_start = 3311 - _ADDSEGMENTERREQUEST._serialized_end = 3564 - _ADDSEGMENTERRESPONSE._serialized_start = 3566 - _ADDSEGMENTERRESPONSE._serialized_end = 3588 - _REMOVESEGMENTERREQUEST._serialized_start = 3591 - _REMOVESEGMENTERREQUEST._serialized_end = 3721 - _REMOVESEGMENTERRESPONSE._serialized_start = 3723 - _REMOVESEGMENTERRESPONSE._serialized_end = 3748 - _GETOBJECTPOINTCLOUDSREQUEST._serialized_start = 3751 - _GETOBJECTPOINTCLOUDSREQUEST._serialized_end = 3948 - _GETOBJECTPOINTCLOUDSRESPONSE._serialized_start = 3950 - _GETOBJECTPOINTCLOUDSRESPONSE._serialized_end = 4069 - _VISIONSERVICE._serialized_start = 4072 - _VISIONSERVICE._serialized_end = 6988 \ No newline at end of file + _GETDETECTIONSREQUEST._serialized_start = 143 + _GETDETECTIONSREQUEST._serialized_end = 329 + _GETDETECTIONSRESPONSE._serialized_start = 331 + _GETDETECTIONSRESPONSE._serialized_end = 421 + _GETDETECTIONSFROMCAMERAREQUEST._serialized_start = 424 + _GETDETECTIONSFROMCAMERAREQUEST._serialized_end = 556 + _GETDETECTIONSFROMCAMERARESPONSE._serialized_start = 558 + _GETDETECTIONSFROMCAMERARESPONSE._serialized_end = 658 + _DETECTION._serialized_start = 661 + _DETECTION._serialized_end = 879 + _GETCLASSIFICATIONSREQUEST._serialized_start = 882 + _GETCLASSIFICATIONSREQUEST._serialized_end = 1087 + _GETCLASSIFICATIONSRESPONSE._serialized_start = 1089 + _GETCLASSIFICATIONSRESPONSE._serialized_end = 1199 + _GETCLASSIFICATIONSFROMCAMERAREQUEST._serialized_start = 1202 + _GETCLASSIFICATIONSFROMCAMERAREQUEST._serialized_end = 1353 + _GETCLASSIFICATIONSFROMCAMERARESPONSE._serialized_start = 1355 + _GETCLASSIFICATIONSFROMCAMERARESPONSE._serialized_end = 1475 + _CLASSIFICATION._serialized_start = 1477 + _CLASSIFICATION._serialized_end = 1556 + _GETOBJECTPOINTCLOUDSREQUEST._serialized_start = 1559 + _GETOBJECTPOINTCLOUDSREQUEST._serialized_end = 1717 + _GETOBJECTPOINTCLOUDSRESPONSE._serialized_start = 1719 + _GETOBJECTPOINTCLOUDSRESPONSE._serialized_end = 1838 + _VISIONSERVICE._serialized_start = 1841 + _VISIONSERVICE._serialized_end = 2968 \ No newline at end of file diff --git a/src/viam/gen/service/vision/v1/vision_pb2.pyi b/src/viam/gen/service/vision/v1/vision_pb2.pyi index 776a6dda1..0c85af934 100644 --- a/src/viam/gen/service/vision/v1/vision_pb2.pyi +++ b/src/viam/gen/service/vision/v1/vision_pb2.pyi @@ -17,153 +17,6 @@ else: import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing_extensions.final -class GetModelParameterSchemaRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - MODEL_TYPE_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - model_type: builtins.str - 'name of the type of vision model' - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., model_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'model_type', b'model_type', 'name', b'name']) -> None: - ... -global___GetModelParameterSchemaRequest = GetModelParameterSchemaRequest - -@typing_extensions.final -class GetModelParameterSchemaResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - MODEL_PARAMETER_SCHEMA_FIELD_NUMBER: builtins.int - model_parameter_schema: builtins.bytes - 'the parameters as JSON bytes of a jsonschema.Schema' - - def __init__(self, *, model_parameter_schema: builtins.bytes=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['model_parameter_schema', b'model_parameter_schema']) -> None: - ... -global___GetModelParameterSchemaResponse = GetModelParameterSchemaResponse - -@typing_extensions.final -class GetDetectorNamesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... -global___GetDetectorNamesRequest = GetDetectorNamesRequest - -@typing_extensions.final -class GetDetectorNamesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - DETECTOR_NAMES_FIELD_NUMBER: builtins.int - - @property - def detector_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """detectors in the registry""" - - def __init__(self, *, detector_names: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['detector_names', b'detector_names']) -> None: - ... -global___GetDetectorNamesResponse = GetDetectorNamesResponse - -@typing_extensions.final -class AddDetectorRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - DETECTOR_NAME_FIELD_NUMBER: builtins.int - DETECTOR_MODEL_TYPE_FIELD_NUMBER: builtins.int - DETECTOR_PARAMETERS_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - detector_name: builtins.str - detector_model_type: builtins.str - - @property - def detector_parameters(self) -> google.protobuf.struct_pb2.Struct: - ... - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., detector_name: builtins.str=..., detector_model_type: builtins.str=..., detector_parameters: google.protobuf.struct_pb2.Struct | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['detector_parameters', b'detector_parameters', 'extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['detector_model_type', b'detector_model_type', 'detector_name', b'detector_name', 'detector_parameters', b'detector_parameters', 'extra', b'extra', 'name', b'name']) -> None: - ... -global___AddDetectorRequest = AddDetectorRequest - -@typing_extensions.final -class AddDetectorResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___AddDetectorResponse = AddDetectorResponse - -@typing_extensions.final -class RemoveDetectorRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - DETECTOR_NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - detector_name: builtins.str - 'name of detector in registry' - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., detector_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['detector_name', b'detector_name', 'extra', b'extra', 'name', b'name']) -> None: - ... -global___RemoveDetectorRequest = RemoveDetectorRequest - -@typing_extensions.final -class RemoveDetectorResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___RemoveDetectorResponse = RemoveDetectorResponse - @typing_extensions.final class GetDetectionsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -172,7 +25,6 @@ class GetDetectionsRequest(google.protobuf.message.Message): WIDTH_FIELD_NUMBER: builtins.int HEIGHT_FIELD_NUMBER: builtins.int MIME_TYPE_FIELD_NUMBER: builtins.int - DETECTOR_NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str 'name of the vision service' @@ -184,20 +36,18 @@ class GetDetectionsRequest(google.protobuf.message.Message): 'the height of the image' mime_type: builtins.str 'the actual MIME type of image' - detector_name: builtins.str - 'name of the registered detector to use' @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., detector_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['detector_name', b'detector_name', 'extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'name', b'name', 'width', b'width']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'name', b'name', 'width', b'width']) -> None: ... global___GetDetectionsRequest = GetDetectionsRequest @@ -222,26 +72,23 @@ class GetDetectionsFromCameraRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int CAMERA_NAME_FIELD_NUMBER: builtins.int - DETECTOR_NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str 'name of the vision service' camera_name: builtins.str 'name of camera source to use as input' - detector_name: builtins.str - 'name of the registered detector to use' @property def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" + ... - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., detector_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'detector_name', b'detector_name', 'extra', b'extra', 'name', b'name']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'name', b'name']) -> None: ... global___GetDetectionsFromCameraRequest = GetDetectionsFromCameraRequest @@ -306,118 +153,6 @@ class Detection(google.protobuf.message.Message): ... global___Detection = Detection -@typing_extensions.final -class GetClassifierNamesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... -global___GetClassifierNamesRequest = GetClassifierNamesRequest - -@typing_extensions.final -class GetClassifierNamesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - CLASSIFIER_NAMES_FIELD_NUMBER: builtins.int - - @property - def classifier_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, classifier_names: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['classifier_names', b'classifier_names']) -> None: - ... -global___GetClassifierNamesResponse = GetClassifierNamesResponse - -@typing_extensions.final -class AddClassifierRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - CLASSIFIER_NAME_FIELD_NUMBER: builtins.int - CLASSIFIER_MODEL_TYPE_FIELD_NUMBER: builtins.int - CLASSIFIER_PARAMETERS_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - classifier_name: builtins.str - 'name of classifier to add to registry' - classifier_model_type: builtins.str - 'the type of classifier' - - @property - def classifier_parameters(self) -> google.protobuf.struct_pb2.Struct: - """additional parameters""" - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., classifier_name: builtins.str=..., classifier_model_type: builtins.str=..., classifier_parameters: google.protobuf.struct_pb2.Struct | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['classifier_parameters', b'classifier_parameters', 'extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['classifier_model_type', b'classifier_model_type', 'classifier_name', b'classifier_name', 'classifier_parameters', b'classifier_parameters', 'extra', b'extra', 'name', b'name']) -> None: - ... -global___AddClassifierRequest = AddClassifierRequest - -@typing_extensions.final -class AddClassifierResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___AddClassifierResponse = AddClassifierResponse - -@typing_extensions.final -class RemoveClassifierRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - CLASSIFIER_NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - classifier_name: builtins.str - 'name of the classifier in registry' - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., classifier_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['classifier_name', b'classifier_name', 'extra', b'extra', 'name', b'name']) -> None: - ... -global___RemoveClassifierRequest = RemoveClassifierRequest - -@typing_extensions.final -class RemoveClassifierResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___RemoveClassifierResponse = RemoveClassifierResponse - @typing_extensions.final class GetClassificationsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -426,7 +161,6 @@ class GetClassificationsRequest(google.protobuf.message.Message): WIDTH_FIELD_NUMBER: builtins.int HEIGHT_FIELD_NUMBER: builtins.int MIME_TYPE_FIELD_NUMBER: builtins.int - CLASSIFIER_NAME_FIELD_NUMBER: builtins.int N_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str @@ -439,8 +173,6 @@ class GetClassificationsRequest(google.protobuf.message.Message): 'the height of the image' mime_type: builtins.str 'the actual MIME type of image' - classifier_name: builtins.str - 'the name of the registered classifier' n: builtins.int 'the number of classifications desired' @@ -448,13 +180,13 @@ class GetClassificationsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., classifier_name: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['classifier_name', b'classifier_name', 'extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'n', b'n', 'name', b'name', 'width', b'width']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'n', b'n', 'name', b'name', 'width', b'width']) -> None: ... global___GetClassificationsRequest = GetClassificationsRequest @@ -479,15 +211,12 @@ class GetClassificationsFromCameraRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int CAMERA_NAME_FIELD_NUMBER: builtins.int - CLASSIFIER_NAME_FIELD_NUMBER: builtins.int N_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str 'name of the vision service' camera_name: builtins.str 'the image encoded as bytes' - classifier_name: builtins.str - 'the name of the registered classifier' n: builtins.int 'the number of classifications desired' @@ -495,13 +224,13 @@ class GetClassificationsFromCameraRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., classifier_name: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'classifier_name', b'classifier_name', 'extra', b'extra', 'n', b'n', 'name', b'name']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'n', b'n', 'name', b'name']) -> None: ... global___GetClassificationsFromCameraRequest = GetClassificationsFromCameraRequest @@ -539,130 +268,16 @@ class Classification(google.protobuf.message.Message): ... global___Classification = Classification -@typing_extensions.final -class GetSegmenterNamesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... -global___GetSegmenterNamesRequest = GetSegmenterNamesRequest - -@typing_extensions.final -class GetSegmenterNamesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - SEGMENTER_NAMES_FIELD_NUMBER: builtins.int - - @property - def segmenter_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - """segmenters in the registry""" - - def __init__(self, *, segmenter_names: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['segmenter_names', b'segmenter_names']) -> None: - ... -global___GetSegmenterNamesResponse = GetSegmenterNamesResponse - -@typing_extensions.final -class AddSegmenterRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - SEGMENTER_NAME_FIELD_NUMBER: builtins.int - SEGMENTER_MODEL_TYPE_FIELD_NUMBER: builtins.int - SEGMENTER_PARAMETERS_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - segmenter_name: builtins.str - 'name of the segmenter' - segmenter_model_type: builtins.str - 'name of the segmenter model' - - @property - def segmenter_parameters(self) -> google.protobuf.struct_pb2.Struct: - """parameters of the segmenter model""" - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., segmenter_name: builtins.str=..., segmenter_model_type: builtins.str=..., segmenter_parameters: google.protobuf.struct_pb2.Struct | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'segmenter_parameters', b'segmenter_parameters']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'segmenter_model_type', b'segmenter_model_type', 'segmenter_name', b'segmenter_name', 'segmenter_parameters', b'segmenter_parameters']) -> None: - ... -global___AddSegmenterRequest = AddSegmenterRequest - -@typing_extensions.final -class AddSegmenterResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___AddSegmenterResponse = AddSegmenterResponse - -@typing_extensions.final -class RemoveSegmenterRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - SEGMENTER_NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'name of the vision service' - segmenter_name: builtins.str - 'name of segmenter in registry' - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., segmenter_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'segmenter_name', b'segmenter_name']) -> None: - ... -global___RemoveSegmenterRequest = RemoveSegmenterRequest - -@typing_extensions.final -class RemoveSegmenterResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__(self) -> None: - ... -global___RemoveSegmenterResponse = RemoveSegmenterResponse - @typing_extensions.final class GetObjectPointCloudsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int CAMERA_NAME_FIELD_NUMBER: builtins.int - SEGMENTER_NAME_FIELD_NUMBER: builtins.int MIME_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str camera_name: builtins.str 'Name of a camera' - segmenter_name: builtins.str - 'Name of the segmentation algorithm' mime_type: builtins.str 'Requested MIME type of response' @@ -670,13 +285,13 @@ class GetObjectPointCloudsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., segmenter_name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'mime_type', b'mime_type', 'name', b'name', 'segmenter_name', b'segmenter_name']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'mime_type', b'mime_type', 'name', b'name']) -> None: ... global___GetObjectPointCloudsRequest = GetObjectPointCloudsRequest diff --git a/src/viam/proto/service/vision/__init__.py b/src/viam/proto/service/vision/__init__.py index 9c2525a5d..16c27da88 100644 --- a/src/viam/proto/service/vision/__init__.py +++ b/src/viam/proto/service/vision/__init__.py @@ -4,73 +4,33 @@ """ from ....gen.service.vision.v1.vision_grpc import VisionServiceBase, VisionServiceStub from ....gen.service.vision.v1.vision_pb2 import ( - AddClassifierRequest, - AddClassifierResponse, - AddDetectorRequest, - AddDetectorResponse, - AddSegmenterRequest, - AddSegmenterResponse, Classification, Detection, GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse, GetClassificationsRequest, GetClassificationsResponse, - GetClassifierNamesRequest, - GetClassifierNamesResponse, GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse, GetDetectionsRequest, GetDetectionsResponse, - GetDetectorNamesRequest, - GetDetectorNamesResponse, - GetModelParameterSchemaRequest, - GetModelParameterSchemaResponse, GetObjectPointCloudsRequest, GetObjectPointCloudsResponse, - GetSegmenterNamesRequest, - GetSegmenterNamesResponse, - RemoveClassifierRequest, - RemoveClassifierResponse, - RemoveDetectorRequest, - RemoveDetectorResponse, - RemoveSegmenterRequest, - RemoveSegmenterResponse, ) __all__ = [ "VisionServiceBase", "VisionServiceStub", - "AddClassifierRequest", - "AddClassifierResponse", - "AddDetectorRequest", - "AddDetectorResponse", - "AddSegmenterRequest", - "AddSegmenterResponse", "Classification", "Detection", "GetClassificationsFromCameraRequest", "GetClassificationsFromCameraResponse", "GetClassificationsRequest", "GetClassificationsResponse", - "GetClassifierNamesRequest", - "GetClassifierNamesResponse", "GetDetectionsFromCameraRequest", "GetDetectionsFromCameraResponse", "GetDetectionsRequest", "GetDetectionsResponse", - "GetDetectorNamesRequest", - "GetDetectorNamesResponse", - "GetModelParameterSchemaRequest", - "GetModelParameterSchemaResponse", "GetObjectPointCloudsRequest", "GetObjectPointCloudsResponse", - "GetSegmenterNamesRequest", - "GetSegmenterNamesResponse", - "RemoveClassifierRequest", - "RemoveClassifierResponse", - "RemoveDetectorRequest", - "RemoveDetectorResponse", - "RemoveSegmenterRequest", - "RemoveSegmenterResponse", ] diff --git a/src/viam/services/vision/__init__.py b/src/viam/services/vision/__init__.py index 085564731..d2f0a2a1d 100644 --- a/src/viam/services/vision/__init__.py +++ b/src/viam/services/vision/__init__.py @@ -1,9 +1,7 @@ -from .client import Classification, Detection, VisionServiceClient, VisModelConfig, VisModelType +from .client import Classification, Detection, VisionServiceClient __all__ = [ "Classification", "Detection", "VisionServiceClient", - "VisModelConfig", - "VisModelType", ] diff --git a/src/viam/services/vision/client.py b/src/viam/services/vision/client.py index bbaec70a1..6704bb544 100644 --- a/src/viam/services/vision/client.py +++ b/src/viam/services/vision/client.py @@ -1,8 +1,5 @@ -import json -from dataclasses import dataclass -from enum import Enum from io import BytesIO -from typing import Any, Final, List, Mapping, Optional, Sequence, Union +from typing import Any, Final, List, Mapping, Optional, Union from grpclib.client import Channel @@ -10,32 +7,18 @@ from viam.media.video import CameraMimeType, RawImage from viam.proto.common import DoCommandRequest, DoCommandResponse, PointCloudObject from viam.proto.service.vision import ( - AddClassifierRequest, - AddDetectorRequest, - AddSegmenterRequest, Classification, Detection, GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse, GetClassificationsRequest, GetClassificationsResponse, - GetClassifierNamesRequest, - GetClassifierNamesResponse, GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse, GetDetectionsRequest, GetDetectionsResponse, - GetDetectorNamesRequest, - GetDetectorNamesResponse, - GetModelParameterSchemaRequest, - GetModelParameterSchemaResponse, GetObjectPointCloudsRequest, GetObjectPointCloudsResponse, - GetSegmenterNamesRequest, - GetSegmenterNamesResponse, - RemoveClassifierRequest, - RemoveDetectorRequest, - RemoveSegmenterRequest, VisionServiceStub, ) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase @@ -44,23 +27,6 @@ from viam.utils import ValueTypes, dict_to_struct, struct_to_dict -class VisModelType(str, Enum): - DETECTOR_TF_LITE = "tflite_detector" - DETECTOR_TENSORFLOW = "tf_detector" - DETECTOR_COLOR = "color_detector" - CLASSIFIER_TFLITE = "tflite_classifier" - CLASSIFIER_TENSORFLOW = "tf_classifier" - DETECTOR_SEGMENTER = "detector_segmenter" - RADIUS_CLUSTERING_SEGMENTER = "radius_clustering_segmenter" - - -@dataclass -class VisModelConfig: - name: str - type: VisModelType - parameters: Mapping[str, Any] - - class VisionServiceClient(ServiceClientBase, ReconfigurableResourceRPCClientBase): """ Connect to the Vision service, which allows you to access various computer vision algorithms @@ -73,57 +39,13 @@ def __init__(self, name: str, channel: Channel): super().__init__(name, channel) self.client = VisionServiceStub(channel) - async def get_detector_names(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None) -> List[str]: - """Get the list of detectors currently registered in the service. - - Returns: - List[str]: The detector names - """ - if extra is None: - extra = {} - request = GetDetectorNamesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetDetectorNamesResponse = await self.client.GetDetectorNames(request, timeout=timeout) - return list(response.detector_names) - - async def add_detector(self, config: VisModelConfig, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Add a new detector to the service. Returns nothing if successful, and an error if not. - Registers a new detector just as if you had put it in the original "register_models" field - in the robot config. Available types and their parameters can be found in the - vision service documentation. - - Args: - config (VisModelConfig): The configuration of the detector to add. - """ - if extra is None: - extra = {} - request = AddDetectorRequest( - name=self.name, - detector_name=config.name, - detector_model_type=config.type, - detector_parameters=dict_to_struct(config.parameters), - extra=dict_to_struct(extra), - ) - await self.client.AddDetector(request, timeout=timeout) - - async def remove_detector(self, detector_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Remove the detector with the given name from the service. Returns nothing if successful. - - Args: - detector_name (str): The name of the detector to remove - """ - if extra is None: - extra = {} - request = RemoveDetectorRequest(name=self.name, detector_name=detector_name, extra=dict_to_struct(extra)) - await self.client.RemoveDetector(request, timeout=timeout) - async def get_detections_from_camera( - self, camera_name: str, detector_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None ) -> List[Detection]: """Get a list of detections in the next image given a camera and a detector Args: camera_name (str): The name of the camera to use for detection - detector_name (str): The name of the detector to use for detection Returns: List[Detection]: A list of 2D bounding boxes, their labels, and the @@ -132,16 +54,13 @@ async def get_detections_from_camera( """ if extra is None: extra = {} - request = GetDetectionsFromCameraRequest( - name=self.name, camera_name=camera_name, detector_name=detector_name, extra=dict_to_struct(extra) - ) + request = GetDetectionsFromCameraRequest(name=self.name, camera_name=camera_name, extra=dict_to_struct(extra)) response: GetDetectionsFromCameraResponse = await self.client.GetDetectionsFromCamera(request, timeout=timeout) return list(response.detections) async def get_detections( self, image: Union[Image.Image, RawImage], - detector_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, @@ -150,7 +69,6 @@ async def get_detections( Args: image (Image): The image to get detections from - detector_name (str): The name of the detector to use for detection Returns: List[Detection]: A list of 2D bounding boxes, their labels, and the @@ -169,56 +87,14 @@ async def get_detections( width=image.width, height=image.height, mime_type=mime_type, - detector_name=detector_name, extra=dict_to_struct(extra), ) response: GetDetectionsResponse = await self.client.GetDetections(request, timeout=timeout) return list(response.detections) - async def get_classifier_names(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None) -> List[str]: - """Get the list of classifiers currently registered to the service - - Returns: - List[str]: The list of classifier names - """ - if extra is None: - extra = {} - request = GetClassifierNamesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetClassifierNamesResponse = await self.client.GetClassifierNames(request, timeout=timeout) - return list(response.classifier_names) - - async def add_classifier(self, config: VisModelConfig, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Add a classifier to the service. - - Args: - config (VisModelConfig): The configuration of the classifier - """ - if extra is None: - extra = {} - request = AddClassifierRequest( - name=self.name, - classifier_name=config.name, - classifier_model_type=config.type, - classifier_parameters=dict_to_struct(config.parameters), - extra=dict_to_struct(extra), - ) - await self.client.AddClassifier(request, timeout=timeout) - - async def remove_classifier(self, classifier_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Remove the classifier with the given name from the service. Returns nothing if successful. - - Args: - classifier_name (str): The name of the classifier to remove - """ - if extra is None: - extra = {} - request = RemoveClassifierRequest(name=self.name, classifier_name=classifier_name, extra=dict_to_struct(extra)) - await self.client.RemoveClassifier(request, timeout=timeout) - async def get_classifications_from_camera( self, camera_name: str, - classifier_name: str, count: int, *, extra: Optional[Mapping[str, Any]] = None, @@ -228,7 +104,6 @@ async def get_classifications_from_camera( Args: camera_name (str): The name of the camera to use for detection - classifier_name (str): The name of the classifier to use for classification count (int): The number of classifications desired returns: @@ -236,16 +111,14 @@ async def get_classifications_from_camera( """ if extra is None: extra = {} - request = GetClassificationsFromCameraRequest( - name=self.name, camera_name=camera_name, classifier_name=classifier_name, n=count, extra=dict_to_struct(extra) - ) + request = GetClassificationsFromCameraRequest(name=self.name, camera_name=camera_name, n=count, extra=dict_to_struct(extra)) response: GetClassificationsFromCameraResponse = await self.client.GetClassificationsFromCamera(request, timeout=timeout) return list(response.classifications) async def get_classifications( self, image: Union[Image.Image, RawImage], - classifier_name: str, + count: int, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, @@ -254,7 +127,6 @@ async def get_classifications( Args: image (Image): The image to get detections from - classifier_name (str): The name of the detector to use for detection Returns: List[Classification]: The list of Classifications @@ -271,73 +143,14 @@ async def get_classifications( width=image.width, height=image.height, mime_type=mime_type, - classifier_name=classifier_name, + n=count, extra=dict_to_struct(extra), ) response: GetClassificationsResponse = await self.client.GetClassifications(request, timeout=timeout) return list(response.classifications) - async def get_segmenter_names(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None) -> List[str]: - """ - Get the list of segmenters currently registered in the service. - - Returns: - List[str]: The segmenter names - """ - if extra is None: - extra = {} - request = GetSegmenterNamesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetSegmenterNamesResponse = await self.client.GetSegmenterNames(request, timeout=timeout) - return list(response.segmenter_names) - - async def add_segmenter(self, config: VisModelConfig, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Add a segmenter to the service - - Args: - config (VisModelConfig): The configuration of the segmenter - """ - if extra is None: - extra = {} - request = AddSegmenterRequest( - name=self.name, - segmenter_name=config.name, - segmenter_model_type=config.type, - segmenter_parameters=dict_to_struct(config.parameters), - extra=dict_to_struct(extra), - ) - await self.client.AddSegmenter(request, timeout=timeout) - - async def remove_segmenter(self, segmenter_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): - """Remove the segmenter with the given name from the service. Returns nothing if successful. - - Args: - segmenter_name (str): The name of the segmenter to remove - """ - if extra is None: - extra = {} - request = RemoveSegmenterRequest(name=self.name, segmenter_name=segmenter_name, extra=dict_to_struct(extra)) - await self.client.RemoveSegmenter(request, timeout=timeout) - - async def get_model_parameters_schema( - self, model_type: VisModelType, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None - ) -> Mapping[str, Union[str, int, float, bool, Sequence, Mapping]]: - """ - Get the parameters needed to add a model to the vision registry. - - Args: - model_type (VisModelType): The name of model - - Returns: - Mapping[str, str | int | float | bool | Sequence | Mapping]: A dictionary representing the parameters as JSONSchema - """ - if extra is None: - extra = {} - request = GetModelParameterSchemaRequest(name=self.name, model_type=model_type, extra=dict_to_struct(extra)) - response: GetModelParameterSchemaResponse = await self.client.GetModelParameterSchema(request, timeout=timeout) - return json.loads(response.model_parameter_schema) - async def get_object_point_clouds( - self, camera_name: str, segmenter_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None ) -> List[PointCloudObject]: """ Returns a list of the 3D point cloud objects and associated metadata in the latest @@ -359,7 +172,6 @@ async def get_object_point_clouds( Args: camera_name (str): The name of the camera - segmenter_name (str): The name of the segmenter Returns: List[PointCloudObject]: The pointcloud objects with metadata @@ -369,7 +181,6 @@ async def get_object_point_clouds( request = GetObjectPointCloudsRequest( name=self.name, camera_name=camera_name, - segmenter_name=segmenter_name, mime_type=CameraMimeType.PCD, extra=dict_to_struct(extra), ) diff --git a/tests/mocks/services.py b/tests/mocks/services.py index 9664fdf65..8ac1e4357 100644 --- a/tests/mocks/services.py +++ b/tests/mocks/services.py @@ -1,5 +1,4 @@ -import json -from typing import Any, Dict, List, Mapping, Optional, Sequence, Union +from typing import Any, Dict, List, Mapping, Optional from grpclib.server import Stream @@ -27,38 +26,18 @@ SensorsServiceBase, ) from viam.proto.service.vision import ( - AddClassifierRequest, - AddClassifierResponse, - AddDetectorRequest, - AddDetectorResponse, - AddSegmenterRequest, - AddSegmenterResponse, Classification, Detection, GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse, GetClassificationsRequest, GetClassificationsResponse, - GetClassifierNamesRequest, - GetClassifierNamesResponse, GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse, GetDetectionsRequest, GetDetectionsResponse, - GetDetectorNamesRequest, - GetDetectorNamesResponse, - GetModelParameterSchemaRequest, - GetModelParameterSchemaResponse, GetObjectPointCloudsRequest, GetObjectPointCloudsResponse, - GetSegmenterNamesRequest, - GetSegmenterNamesResponse, - RemoveClassifierRequest, - RemoveClassifierResponse, - RemoveDetectorRequest, - RemoveDetectorResponse, - RemoveSegmenterRequest, - RemoveSegmenterResponse, VisionServiceBase, ) from viam.utils import struct_to_dict @@ -159,7 +138,6 @@ def __init__( classifications: List[Classification], segmenters: List[str], point_clouds: List[PointCloudObject], - model_schema: Mapping[str, Mapping[str, Union[str, int, float, bool, Sequence, Mapping]]], ): self.detectors = detectors self.detections = detections @@ -167,34 +145,9 @@ def __init__( self.classifications = classifications self.segmenters = segmenters self.point_clouds = point_clouds - self.model_schema = model_schema self.extra: Optional[Mapping[str, Any]] = None self.timeout: Optional[float] = None - async def GetDetectorNames(self, stream: Stream[GetDetectorNamesRequest, GetDetectorNamesResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - response = GetDetectorNamesResponse(detector_names=self.detectors) - await stream.send_message(response) - - async def AddDetector(self, stream: Stream[AddDetectorRequest, AddDetectorResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.detectors.append(request.detector_name) - await stream.send_message(AddDetectorResponse()) - - async def RemoveDetector(self, stream: Stream[RemoveDetectorRequest, RemoveDetectorResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.detectors.remove(request.detector_name) - await stream.send_message(RemoveDetectorResponse()) - async def GetDetectionsFromCamera(self, stream: Stream[GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse]) -> None: request = await stream.recv_message() assert request is not None @@ -211,30 +164,6 @@ async def GetDetections(self, stream: Stream[GetDetectionsRequest, GetDetections response = GetDetectionsResponse(detections=self.detections) await stream.send_message(response) - async def GetClassifierNames(self, stream: Stream[GetClassifierNamesRequest, GetClassifierNamesResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - response = GetClassifierNamesResponse(classifier_names=self.classifiers) - await stream.send_message(response) - - async def AddClassifier(self, stream: Stream[AddClassifierRequest, AddClassifierResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.classifiers.append(request.classifier_name) - await stream.send_message(AddClassifierResponse()) - - async def RemoveClassifier(self, stream: Stream[RemoveClassifierRequest, RemoveClassifierResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.classifiers.remove(request.classifier_name) - await stream.send_message(RemoveClassifierResponse()) - async def GetClassificationsFromCamera( self, stream: Stream[GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse] ) -> None: @@ -261,39 +190,6 @@ async def GetObjectPointClouds(self, stream: Stream[GetObjectPointCloudsRequest, response = GetObjectPointCloudsResponse(mime_type=CameraMimeType.PCD.value, objects=self.point_clouds) await stream.send_message(response) - async def GetModelParameterSchema(self, stream: Stream[GetModelParameterSchemaRequest, GetModelParameterSchemaResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - schema = self.model_schema[request.model_type] - response = GetModelParameterSchemaResponse(model_parameter_schema=json.dumps(schema).encode("utf-8")) - await stream.send_message(response) - - async def GetSegmenterNames(self, stream: Stream[GetSegmenterNamesRequest, GetSegmenterNamesResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - response = GetSegmenterNamesResponse(segmenter_names=self.segmenters) - await stream.send_message(response) - - async def AddSegmenter(self, stream: Stream[AddSegmenterRequest, AddSegmenterResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.segmenters.append(request.segmenter_name) - await stream.send_message(AddSegmenterResponse()) - - async def RemoveSegmenter(self, stream: Stream[RemoveSegmenterRequest, RemoveSegmenterResponse]) -> None: - request = await stream.recv_message() - assert request is not None - self.extra = struct_to_dict(request.extra) - self.timeout = stream.deadline.time_remaining() if stream.deadline else None - self.segmenters.remove(request.segmenter_name) - await stream.send_message(RemoveSegmenterResponse()) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: request = await stream.recv_message() assert request is not None diff --git a/tests/test_vision_service.py b/tests/test_vision_service.py index c5e63eaf4..e71d26a6d 100644 --- a/tests/test_vision_service.py +++ b/tests/test_vision_service.py @@ -1,5 +1,4 @@ from random import random -from typing import Dict, Mapping, Sequence, Union import pytest from grpclib.testing import ChannelFor @@ -16,12 +15,9 @@ from viam.services.vision import ( Detection, Classification, - VisModelConfig, - VisModelType, VisionServiceClient, ) -from . import loose_approx from .mocks.services import MockVisionService DETECTORS = [ @@ -58,28 +54,7 @@ "segmenter-0", "segmenter-1", ] -MODEL_SCHEMA: Dict[str, Mapping[str, Union[str, int, float, bool, Sequence, Mapping]]] = { - VisModelType.CLASSIFIER_TENSORFLOW: { - "parameter-0": "float64", - "parameter-1": "string", - }, - VisModelType.CLASSIFIER_TFLITE: { - "parameter-0": "int", - "parameter-1": "string", - }, - VisModelType.DETECTOR_COLOR: { - "parameter-0": "int", - "parameter-1": "float64", - }, - VisModelType.DETECTOR_TENSORFLOW: { - "parameter-0": "string", - "parameter-1": "string", - }, - VisModelType.DETECTOR_TF_LITE: { - "parameter-0": "string", - "parameter-1": "float64", - }, -} + POINT_CLOUDS = [ PointCloudObject( point_cloud=b"THIS IS A POINT CLOUD", @@ -119,51 +94,16 @@ def service() -> MockVisionService: classifications=CLASSIFICATIONS, segmenters=SEGMENTERS, point_clouds=POINT_CLOUDS, - model_schema=MODEL_SCHEMA, ) class TestClient: - @pytest.mark.asyncio - async def test_get_detectors(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "get_detectors"} - assert service.timeout is None - timeout = 1.3 - response = await client.get_detector_names(extra=extra, timeout=timeout) - assert response == DETECTORS - assert service.extra == extra - assert service.timeout == loose_approx(timeout) - - @pytest.mark.asyncio - async def test_add_detector(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "add_detector"} - await client.add_detector(VisModelConfig("detector-2", VisModelType.DETECTOR_TENSORFLOW, {"foo": "bar"}), extra=extra) - assert service.extra == extra - response = await client.get_detector_names() - assert response[-1] == "detector-2" - assert service.extra == {} - - @pytest.mark.asyncio - async def test_remove_detector(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "remove_detector"} - await client.remove_detector("detector-1", extra=extra) - assert service.extra == extra - response = await client.get_detector_names() - assert "detector-1" not in response - assert service.extra == {} - @pytest.mark.asyncio async def test_get_detections_from_camera(self, service: MockVisionService): async with ChannelFor([service]) as channel: client = VisionServiceClient(VISION_SERVICE_NAME, channel) extra = {"foo": "get_detections_from_camera"} - response = await client.get_detections_from_camera("fake-camera", "fake-detector", extra=extra) + response = await client.get_detections_from_camera("fake-camera", extra=extra) assert response == DETECTIONS assert service.extra == extra @@ -173,47 +113,16 @@ async def test_get_detections(self, service: MockVisionService): client = VisionServiceClient(VISION_SERVICE_NAME, channel) image = Image.new("RGB", (100, 100), "#AABBCCDD") extra = {"foo": "get_detections"} - response = await client.get_detections(image, "fake-detector", extra=extra) + response = await client.get_detections(image, extra=extra) assert response == DETECTIONS assert service.extra == extra - @pytest.mark.asyncio - async def test_get_classifiers(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "get_classifiers"} - response = await client.get_classifier_names(extra=extra) - assert response == CLASSIFIERS - assert service.extra == extra - - @pytest.mark.asyncio - async def test_add_classifier(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "add_classifier"} - await client.add_classifier(VisModelConfig("classifier-2", VisModelType.DETECTOR_TENSORFLOW, {"foo": "bar"}), extra=extra) - assert service.extra == extra - response = await client.get_classifier_names() - assert response[-1] == "classifier-2" - assert service.extra == {} - - @pytest.mark.asyncio - async def test_remove_classifier(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "remove_classifier"} - await client.remove_classifier("classifier-1", extra=extra) - assert service.extra == extra - response = await client.get_classifier_names() - assert "classifier-1" not in response - assert service.extra == {} - @pytest.mark.asyncio async def test_get_classifications_from_camera(self, service: MockVisionService): async with ChannelFor([service]) as channel: client = VisionServiceClient(VISION_SERVICE_NAME, channel) extra = {"foo": "get_classifications_from_camera"} - response = await client.get_classifications_from_camera("fake-camera", "fake-classifier", 1, extra=extra) + response = await client.get_classifications_from_camera("fake-camera", 1, extra=extra) assert response == CLASSIFICATIONS assert service.extra == extra @@ -223,56 +132,16 @@ async def test_get_classifications(self, service: MockVisionService): client = VisionServiceClient(VISION_SERVICE_NAME, channel) image = Image.new("RGB", (100, 100), "#AABBCCDD") extra = {"foo": "get_classifications"} - response = await client.get_classifications(image, "fake-classifier", extra=extra) + response = await client.get_classifications(image, 1, extra=extra) assert response == CLASSIFICATIONS assert service.extra == extra - @pytest.mark.asyncio - async def test_get_segmenters(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "get_segmenter_names"} - response = await client.get_segmenter_names(extra=extra) - assert response == SEGMENTERS - assert service.extra == extra - - @pytest.mark.asyncio - async def test_add_segmenter(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "add_segmenter"} - await client.add_segmenter(VisModelConfig("segmenter-2", VisModelType.DETECTOR_TENSORFLOW, {"foo": "bar"}), extra=extra) - assert service.extra == extra - response = await client.get_segmenter_names() - assert response[-1] == "segmenter-2" - assert service.extra == {} - - @pytest.mark.asyncio - async def test_remove_segmenter(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "remove_segmenter"} - await client.remove_segmenter("segmenter-1", extra=extra) - assert service.extra == extra - response = await client.get_segmenter_names() - assert "segmenter-1" not in response - assert service.extra == {} - - @pytest.mark.asyncio - async def test_get_model_parameters_schema(self, service: MockVisionService): - async with ChannelFor([service]) as channel: - client = VisionServiceClient(VISION_SERVICE_NAME, channel) - extra = {"foo": "get_model_parameters_schema"} - response = await client.get_model_parameters_schema(VisModelType.DETECTOR_COLOR, extra=extra) - assert response == MODEL_SCHEMA[VisModelType.DETECTOR_COLOR] - assert service.extra == extra - @pytest.mark.asyncio async def test_get_object_point_clouds(self, service: MockVisionService): async with ChannelFor([service]) as channel: client = VisionServiceClient(VISION_SERVICE_NAME, channel) extra = {"foo": "get_object_point_clouds"} - response = await client.get_object_point_clouds("camera", "segmenter", extra=extra) + response = await client.get_object_point_clouds("camera", extra=extra) assert response == POINT_CLOUDS assert service.extra == extra