Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 101 additions & 39 deletions cuvis/Measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@


class Measurement(object):
capture_time: datetime.datetime
measurement_flags: MeasurementFlags
path: str
capture_time: datetime.datetime # read-only
measurement_flags: MeasurementFlags # read-only
path: str # read-only
comment: str
factory_calibration: datetime.datetime
assembly: str
integration_time: int
averages: int
distance: float
serial_number: str
product_name: str
processing_mode: ProcessingMode
factory_calibration: datetime.datetime # read-only
assembly: str # read-only
integration_time: int # read-only
averages: int # read-only
distance: float # read-only
serial_number: str # read-only
product_name: str # read-only
processing_mode: ProcessingMode # read-only
name: str
session_info: SessionData
frame_id: int
session_info: SessionData # read-only
frame_id: int # read-only

def __init__(self, base: Union[int, str, Path]):
self._handle = None
Expand Down Expand Up @@ -61,29 +61,29 @@ def _refresh_metadata(self):
self._handle, _metaData):
raise SDKException

self.capture_time = base_datetime + datetime.timedelta(
self._capture_time = base_datetime + datetime.timedelta(
milliseconds=_metaData.capture_time)
self.measurement_flags = MeasurementFlags(_metaData.measurement_flags)
self.path = _metaData.path
self.comment = _metaData.comment
self._measurement_flags = MeasurementFlags(_metaData.measurement_flags)
self._path = _metaData.path
self._comment = _metaData.comment
try:
self.factory_calibration = base_datetime + datetime.timedelta(
self._factory_calibration = base_datetime + datetime.timedelta(
milliseconds=_metaData.factory_calibration)
except OverflowError:
self.factory_calibration = None
self.assembly = _metaData.assembly
self.averages = _metaData.averages
self.distance = _metaData.distance
self.integration_time = _metaData.integration_time
self.serial_number = _metaData.serial_number
self.product_name = _metaData.product_name
self.processing_mode = internal.__ProcessingMode__[
self._factory_calibration = None
self._assembly = _metaData.assembly
self._averages = _metaData.averages
self._distance = _metaData.distance
self._integration_time = _metaData.integration_time
self._serial_number = _metaData.serial_number
self._product_name = _metaData.product_name
self._processing_mode = internal.__ProcessingMode__[
_metaData.processing_mode]
self.name = _metaData.name
self.session_info = SessionData(_metaData.session_info_name,
_metaData.session_info_session_no,
_metaData.session_info_sequence_no)
self.frame_id = _metaData.measurement_frame_id
self._name = _metaData.name
self._session_info = SessionData(_metaData.session_info_name,
_metaData.session_info_session_no,
_metaData.session_info_sequence_no)
self._frame_id = _metaData.measurement_frame_id
cuvis_il.cuvis_mesu_metadata_free(_metaData)

def refresh(self) -> None:
Expand Down Expand Up @@ -134,13 +134,82 @@ def save(self, saveargs: SaveArgs) -> None:
raise SDKException()
pass

def set_name(self, name: str) -> None:
@property
def capture_time(self) -> datetime.datetime:
return self._capture_time

@property
def measurement_flags(self) -> MeasurementFlags:
return self._measurement_flags

@property
def path(self) -> str:
return self._path

@property
def comment(self) -> str:
return self._comment

@comment.setter
def comment(self, comment: str) -> None:
if cuvis_il.status_ok != cuvis_il.cuvis_measurement_set_comment(
self._handle, comment):
raise SDKException()
self._refresh_metadata()
pass

@property
def factory_calibration(self) -> datetime.datetime:
return self._factory_calibration

@property
def assembly(self) -> str:
return self._assembly

@property
def integration_time(self) -> int:
return self._integration_time

@property
def averages(self) -> int:
return self._averages

@property
def distance(self) -> float:
return self._distance

@property
def serial_number(self) -> str:
return self._serial_number

@property
def product_name(self) -> str:
return self._product_name

@property
def processing_mode(self) -> ProcessingMode:
return self._processing_mode

@property
def name(self) -> str:
return self._name

@name.setter
def name(self, name: str) -> None:
if cuvis_il.status_ok != cuvis_il.cuvis_measurement_set_name(
self._handle, name):
raise SDKException()
self._refresh_metadata()
pass

@property
def session_info(self) -> SessionData:
return self._session_info

@property
def frame_id(self) -> int:
return self._frame_id

@property
def cube(self) -> ImageData:
"""
Expand Down Expand Up @@ -202,13 +271,6 @@ def calibration_id(self) -> str:
_id = cuvis_il.cuvis_measurement_get_calib_id_swig(self._handle)
return _id

def set_comment(self, comment: str) -> None:
if cuvis_il.status_ok != cuvis_il.cuvis_measurement_set_comment(
self._handle, comment):
raise SDKException()
self._refresh_metadata()
pass

@property
def data_count(self) -> int:
out = cuvis_il.new_p_int()
Expand Down
10 changes: 5 additions & 5 deletions cuvis/cuvis_aux.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def __init__(self, *args):
pass


@dataclass
@dataclass(frozen=True)
class SessionData(object):
name: str
session_number: int
Expand All @@ -47,7 +47,7 @@ def __repr__(self):
self.sequence_number)


@dataclass
@dataclass(frozen=True)
class CalibrationInfo(object):
model_name: str
serial_no: str
Expand All @@ -66,7 +66,7 @@ def __repr__(self):
self.file_path)


@dataclass
@dataclass(frozen=True)
class GPSData(object):
longitude: float
latitude: float
Expand All @@ -87,7 +87,7 @@ def _from_internal(cls, gps):
milliseconds=gps.time))


@dataclass
@dataclass(frozen=True)
class SensorInfo(object):
averages: int
temperature: int
Expand All @@ -113,7 +113,7 @@ def _from_internal(cls, info):
binning=(info.binning != 0))


@dataclass
@dataclass(frozen=True)
class WorkerState(object):
measurementsInQueue: int
sessionFilesInQueue: int
Expand Down