lkllkl's picture
Upload folder using huggingface_hub
da2e2ac verified
raw
history blame
3.71 kB
from enum import IntEnum
class StateSE2Index(IntEnum):
_X = 0
_Y = 1
_HEADING = 2
@classmethod
def size(cls):
valid_attributes = [
attribute
for attribute in dir(cls)
if attribute.startswith("_")
and not attribute.startswith("__")
and not callable(getattr(cls, attribute))
]
return len(valid_attributes)
@classmethod
@property
def X(cls):
return cls._X
@classmethod
@property
def Y(cls):
return cls._Y
@classmethod
@property
def HEADING(cls):
return cls._HEADING
@classmethod
@property
def POINT(cls):
# assumes X, Y have subsequent indices
return slice(cls._X, cls._Y + 1)
@classmethod
@property
def STATE_SE2(cls):
# assumes X, Y, HEADING have subsequent indices
return slice(cls._X, cls._HEADING + 1)
class BoundingBoxIndex(IntEnum):
_X = 0
_Y = 1
_Z = 2
_LENGTH = 3
_WIDTH = 4
_HEIGHT = 5
_HEADING = 6
@classmethod
def size(cls):
valid_attributes = [
attribute
for attribute in dir(cls)
if attribute.startswith("_")
and not attribute.startswith("__")
and not callable(getattr(cls, attribute))
]
return len(valid_attributes)
@classmethod
@property
def X(cls):
return cls._X
@classmethod
@property
def Y(cls):
return cls._Y
@classmethod
@property
def Z(cls):
return cls._Z
@classmethod
@property
def LENGTH(cls):
return cls._LENGTH
@classmethod
@property
def WIDTH(cls):
return cls._WIDTH
@classmethod
@property
def HEIGHT(cls):
return cls._HEIGHT
@classmethod
@property
def HEADING(cls):
return cls._HEADING
@classmethod
@property
def POINT2D(cls):
# assumes X, Y have subsequent indices
return slice(cls._X, cls._Y + 1)
@classmethod
@property
def POSITION(cls):
# assumes X, Y, Z have subsequent indices
return slice(cls._X, cls._Z + 1)
@classmethod
@property
def DIMENSION(cls):
# assumes LENGTH, WIDTH, HEIGHT have subsequent indices
return slice(cls._LENGTH, cls._HEIGHT + 1)
class LidarIndex(IntEnum):
_X = 0
_Y = 1
_Z = 2
_INTENSITY = 3
_RING = 4
_ID = 5
@classmethod
def size(cls):
valid_attributes = [
attribute
for attribute in dir(cls)
if attribute.startswith("_")
and not attribute.startswith("__")
and not callable(getattr(cls, attribute))
]
return len(valid_attributes)
@classmethod
@property
def X(cls):
return cls._X
@classmethod
@property
def Y(cls):
return cls._Y
@classmethod
@property
def Z(cls):
return cls._Z
@classmethod
@property
def INTENSITY(cls):
return cls._INTENSITY
@classmethod
@property
def RING(cls):
return cls._RING
@classmethod
@property
def ID(cls):
return cls._ID
@classmethod
@property
def POINT2D(cls):
# assumes X, Y have subsequent indices
return slice(cls._X, cls._Y + 1)
@classmethod
@property
def POSITION(cls):
# assumes X, Y, Z have subsequent indices
return slice(cls._X, cls._Z + 1)