Skip to content
Snippets Groups Projects
region_of_intrest.py 1.37 KiB
Newer Older
Simon Wittl's avatar
dev
Simon Wittl committed
import numpy as np

from rq_interfaces.msg import RegionOfIntrest


class PyRegionOfIntrest():
    def __init__(self, start_point_mm: np.ndarray, end_point_mm: np.ndarray, frame_id: str = 'object'):
        self.start_point_mm = start_point_mm
        self.end_point_mm = end_point_mm
        self.frame_id = frame_id

    @classmethod
    def dummy(cls):
        return cls(np.ones(3,) * -1, np.ones(3,))

    @classmethod
    def from_message(cls, msg: RegionOfIntrest):
        start_point = np.array([msg.start_point_mm.x,
                                msg.start_point_mm.y,
                                msg.start_point_mm.z])
        
        end_point = np.array([msg.end_point_mm.x,
                              msg.end_point_mm.y,
                              msg.end_point_mm.z])
        frame = msg.header.frame_id
        
        return cls(start_point, end_point, frame)
    
    def as_message(self) -> RegionOfIntrest:
        message = RegionOfIntrest()

        message.start_point_mm.x = self.start_point_mm[0]
        message.start_point_mm.y = self.start_point_mm[1]
        message.start_point_mm.z = self.start_point_mm[2]

        message.start_point_mm.x = self.start_point_mm[0]
        message.start_point_mm.y = self.start_point_mm[1]
        message.start_point_mm.z = self.start_point_mm[2]

        message.header.frame_id = self.frame_id

        return message