Coverage for /opt/conda/envs/apienv/lib/python3.10/site-packages/daiquiri/core/hardware/abstract/tomoimaging.py: 0%

21 statements  

« prev     ^ index     » next       coverage.py v7.6.4, created at 2024-11-14 02:13 +0000

1#!/usr/bin/env python 

2# -*- coding: utf-8 -*- 

3from marshmallow import fields 

4 

5from daiquiri.core.hardware.abstract import HardwareObject 

6from daiquiri.core.schema.hardware import HardwareSchema 

7from daiquiri.core.schema.validators import RequireEmpty 

8from daiquiri.core.schema.validators import OneOf 

9 

10import logging 

11 

12logger = logging.getLogger(__name__) 

13 

14TomoImagingStatues = ["READY", "BLOCKED", "ACQUIRING", "UNKNOWN"] 

15 

16 

17class _PropertiesSchema(HardwareSchema): 

18 state = OneOf(TomoImagingStatues, metadata={"readOnly": True}) 

19 update_on_move = fields.Bool() 

20 exposure_time = fields.Number() 

21 settle_time = fields.Number() 

22 

23 

24class _CallablesSchema(HardwareSchema): 

25 take_proj = RequireEmpty() 

26 take_dark = RequireEmpty() 

27 take_flat = RequireEmpty() 

28 

29 

30class TomoImaging(HardwareObject): 

31 _type = "tomoimaging" 

32 _properties = _PropertiesSchema() 

33 _callables = _CallablesSchema()