Skip to main content

SAM3DetectHandle Struct

Default implementation using SAM3Detect. More...

Declaration​

struct moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle { ... }

Included Headers​

#include <get_masks_2d_from_exemplar.hpp>

Base struct​

structInferenceHandle

Interface for SAM3 segmentation inference. More...

Public Member Functions Index​

tl::expected< void, std::string >load (const std::filesystem::path &bundle_manifest, std::string_view runtime_id) override

Load a runtime variant from a SAM3 model bundle. More...

tl::expected< moveit_pro_ml::SAM3DetectResult, std::string >predict (const moveit_pro_ml::data::Tensor< float, moveit_pro_ml::data::format::NCHW > &image, std::string_view text_prompt, const std::vector< moveit_pro_ml::SAM3Box > &box_prompts, float confidence_threshold=0.5f) const override

Run SAM3 prediction with text and box prompts. More...

voidrequestTerminate () const override

Request termination of any in-flight predict() call. More...

voidclearTerminate () const override

Clear a previously-set terminate flag. More...

std::optional< moveit_pro_ml::Device >servingDevice () const override

The device actually serving inference, if known. More...

Public Member Attributes Index​

std::shared_ptr< moveit_pro_ml::SAM3Detect >model
moveit_pro_ml::model::RunControlcontrol

Description​

Default implementation using SAM3Detect.

Definition at line 260 of file get_masks_2d_from_exemplar.hpp.

Public Member Functions​

clearTerminate()​

void moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::clearTerminate ()
virtual

Clear a previously-set terminate flag.

Must be called before predict() if the previous predict() was halted, otherwise the next run aborts immediately. The behavior calls this at the start of doWork() before signalling that halt is allowed via notifyCanHalt().

Declaration at line 272 of file get_masks_2d_from_exemplar.hpp, definition at line 584 of file get_masks_2d_from_exemplar.cpp.

load()​

tl::expected< void, std::string > moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::load (const std::filesystem::path & bundle_manifest, std::string_view runtime_id)
virtual

Load a runtime variant from a SAM3 model bundle.

Idempotent: called from every doWork(), and once a model is loaded every later call returns immediately. The model therefore latches for the handle's lifetime — the arguments are read on the first call only.

That means this is not the place a changed bundle or runtime is detected. The caller compares the ports against what it latched and fails the Behavior, because swapping models mid-run would mean a multi-second uninterruptible load at an arbitrary point in an Objective.

A failed load leaves the handle empty, so the next call retries rather than reporting a model that was never built.

Parameters
bundle_manifest

Path to the relocatable versioned bundle manifest.

runtime_id

Runtime variant to select from the bundle.

Returns

An error message if model initialization fails.

Declaration at line 262 of file get_masks_2d_from_exemplar.hpp, definition at line 548 of file get_masks_2d_from_exemplar.cpp.

predict()​

tl::expected< moveit_pro_ml::SAM3DetectResult, std::string > moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::predict (const moveit_pro_ml::data::Tensor< float, moveit_pro_ml::data::format::NCHW > & image, std::string_view text_prompt, const std::vector< moveit_pro_ml::SAM3Box > & box_prompts, float confidence_threshold=0.5f)
virtual

Run SAM3 prediction with text and box prompts.

Parameters
image

Input image to segment in NCHW format [1, 3, 1008, 1008] (RGB float normalized to [-1,1])

text_prompt

Text description for segmentation (can be empty)

box_prompts

Bounding box prompts in normalized CXCYWH format

confidence_threshold

Minimum confidence score to keep a mask (default 0.5)

Returns

Expected containing masks and scores, or error message

Declaration at line 266 of file get_masks_2d_from_exemplar.hpp, definition at line 566 of file get_masks_2d_from_exemplar.cpp.

requestTerminate()​

void moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::requestTerminate ()
virtual

Request termination of any in-flight predict() call.

Thread-safe; intended to be called from the behavior's doHalt() handler while another thread is blocked inside predict(). The terminate flag is sticky; the caller is responsible for calling clearTerminate() before the next predict() so a stale flag does not abort it.

Declaration at line 270 of file get_masks_2d_from_exemplar.hpp, definition at line 579 of file get_masks_2d_from_exemplar.cpp.

servingDevice()​

std::optional< moveit_pro_ml::Device > moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::servingDevice ()
virtual

The device actually serving inference, if known.

Defaults to unknown so test doubles need not implement it. The behavior uses this to surface an operator-facing warning when inference silently fell back to CPU.

Declaration at line 274 of file get_masks_2d_from_exemplar.hpp, definition at line 592 of file get_masks_2d_from_exemplar.cpp.

Public Member Attributes​

control​

moveit_pro_ml::model::RunControl moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::control
mutable

Definition at line 277 of file get_masks_2d_from_exemplar.hpp.

model​

std::shared_ptr<moveit_pro_ml::SAM3Detect> moveit_pro::behaviors::GetMasks2DFromExemplar::SAM3DetectHandle::model

Definition at line 276 of file get_masks_2d_from_exemplar.hpp.


The documentation for this struct was generated from the following files:


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.