Source code for flame_utils.misc.machsetter

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import logging
from flame import Machine

import numpy as np

_LOGGER = logging.getLogger(__name__)


[docs]def machine_setter(_latfile=None, _machine=None, _handle_name=None): """ set flame machine, prefer *_latfile* :return: FLAME machine object """ if _latfile is not None: try: with open(_latfile, 'rb') as f: m = Machine(f) except: if _machine is None: _LOGGER.error("{}: Failed to initialize flame machine".format( _handle_name)) return None else: _LOGGER.warning("{}: Failed to initialize flame machine, " "use _machine instead".format(_handle_name)) m = _machine else: if _machine is None: return None else: m = _machine return m
[docs]def is_zeros_states(s): """ test if flame machine states is all zeros Returns ------- True or False True if is all zeros, else False """ return np.alltrue(getattr(s, 'moment0') == np.zeros([7, 1]))