Class: MoondreamClient::Point

Inherits:
Object
  • Object
show all
Defined in:
lib/moondream-client/point.rb

Defined Under Namespace

Classes: Coordinate

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes, client: MoondreamClient.client) ⇒ Point

Initialize a new Point result object.

Parameters:

  • attributes (Hash)

    Raw attributes from the /point endpoint response.

  • client (MoondreamClient::Client) (defaults to: MoondreamClient.client)


27
28
29
30
# File 'lib/moondream-client/point.rb', line 27

def initialize(attributes, client: MoondreamClient.client)
  @client = client
  reset_attributes(attributes)
end

Instance Attribute Details

#pointsArray<Coordinate> (readonly)

Returns The list of point coordinates.

Returns:

  • (Array<Coordinate>)

    The list of point coordinates.



21
22
23
# File 'lib/moondream-client/point.rb', line 21

def points
  @points
end

#request_idString (readonly)

Returns The server-generated request identifier.

Returns:

  • (String)

    The server-generated request identifier.



18
19
20
# File 'lib/moondream-client/point.rb', line 18

def request_id
  @request_id
end

Class Method Details

.create!(image_url:, object:, client: MoondreamClient.client) ⇒ MoondreamClient::Point

Locate the center points for objects described by ‘object` in an image. Corresponds to POST /point

Parameters:

  • image_url (String)
  • object (String)

    Object description, e.g. “face”.

  • client (MoondreamClient::Client) (defaults to: MoondreamClient.client)

Returns:



41
42
43
44
45
46
47
48
49
50
# File 'lib/moondream-client/point.rb', line 41

def create!(image_url:, object:, client: MoondreamClient.client)
  image_data_url = MoondreamClient::Image.to_data_url(image_url)
  payload = {
    image_url: image_data_url,
    object: object
  }

  attributes = client.post("/point", payload)
  new(attributes, client: client)
end