def __init__(self):
     super(FSSettingsPreviewProcessor, self).__init__()
     self.hardwareController = HardwareController.instance()
     self.eventManager = FSEventManager.instance()
     self.config = Config.instance()
     self.settings = Settings.instance()
     self._image_processor = ImageProcessor(self.config, self.settings)
Beispiel #2
0
 def __init__(self):
     super(FSSettingsPreviewProcessor, self).__init__()
     self.hardwareController = HardwareController.instance()
     self.eventManager = FSEventManager.instance()
     self.config = Config.instance()
     self.settings = Settings.instance()
     self._image_processor = ImageProcessor(self.config, self.settings)
Beispiel #3
0
    def run(self):
        self._logger.info("FabScanPi-Server "+str(__version__))

        try:

            # create Singleton instances
            _config = Config.instance(self.config_file)
            _settings = Settings.instance(self.settings_file)

            _hardwareController = HardwareController.instance()
            _eventManager = FSEventManager.instance()

            # Websocket Server
            self.fsWebSocketServer = FSWebSocketServer()
            self.fsWebSocketServer.start()

            _scanner = FSScanner()
            _scanner.start()

            # Web Server
            self.fsWebServer = WebServer()
            self.fsWebServer.serve_forever()

        except (KeyboardInterrupt, SystemExit):

            time.sleep(0.5)
            _hardwareController.laser.off()
            _hardwareController.led.off()
            _hardwareController.turntable.stop_turning()

            sys.exit(0)
    def __init__(self):
        super(FSScanProcessor, self).__init__()
        self._logger =  logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)
        self._prefix = None
        self._resolution = 16
        self._number_of_pictures = 0
        self._total = 0
        self._laser_positions = 1
        self._progress = 0
        self._is_color_scan = True
        self.point_cloud = None
        self.image_task_q = multiprocessing.Queue(5)
        self.current_position = 0
        self._laser_angle = 33.0
        self._stop_scan = False
        self._current_laser_position = 1
        self.eventManager = FSEventManager.instance()
        self.settings = Settings.instance()
        self.config = Config.instance()
        self.semaphore = multiprocessing.BoundedSemaphore()
        self._contrast = 0.5
        self._brightness = 0.5


        self.event_q = self.eventManager.get_event_q()

        self._worker_pool = FSImageWorkerPool(self.image_task_q,self.event_q)
        self.hardwareController = HardwareController.instance()
        self.eventManager.subscribe(FSEvents.ON_IMAGE_PROCESSED, self.image_processed)
        self._scan_brightness = self.settings.camera.brightness
        self._scan_contrast =  self.settings.camera.contrast
Beispiel #5
0
    def __init__(self):
        super(FSScanProcessor, self).__init__()

        self.eventManager = FSEventManager.instance()
        self.settings = Settings.instance()
        self.config = Config.instance()

        self._logger = logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)

        self._prefix = None
        self._resolution = 16
        self._number_of_pictures = 0
        self._total = 0
        self._laser_positions = 1
        self._progress = 0
        self._is_color_scan = True
        self.point_cloud = None
        self.image_task_q = multiprocessing.Queue(self.config.process_numbers +
                                                  1)
        self.current_position = 0
        self._laser_angle = 33.0
        self._stop_scan = False
        self._current_laser_position = 1

        self.semaphore = multiprocessing.BoundedSemaphore()
        self.event_q = self.eventManager.get_event_q()

        self._worker_pool = FSImageWorkerPool(self.image_task_q, self.event_q)
        self.hardwareController = HardwareController.instance()
        self.eventManager.subscribe(FSEvents.ON_IMAGE_PROCESSED,
                                    self.image_processed)
        self._scan_brightness = self.settings.camera.brightness
        self._scan_contrast = self.settings.camera.contrast
        self._scan_saturation = self.settings.camera.saturation
Beispiel #6
0
 def __init__(self, prefix):
     threading.Thread.__init__(self)
     self.eventManager = FSEventManager.instance()
     self._logger =  logging.getLogger(__name__)
     self._logger.setLevel(logging.DEBUG)
     self.settings = Settings.instance()
     self.config = Config.instance()
     self.prefix = prefix
 def __init__(self, id, filter, format):
     threading.Thread.__init__(self)
     self.eventManager = FSEventManager.instance()
     self._logger =  logging.getLogger(__name__)
     self._logger.setLevel(logging.DEBUG)
     self.settings = Settings.instance()
     self.config = Config.instance()
     self.scan_id = id
     self.filter = filter
     self.format = format
Beispiel #8
0
 def __init__(self, id, filter, format):
     threading.Thread.__init__(self)
     self.eventManager = FSEventManager.instance()
     self._logger = logging.getLogger(__name__)
     self._logger.setLevel(logging.DEBUG)
     self.settings = Settings.instance()
     self.config = Config.instance()
     self.scan_id = id
     self.filter = filter
     self.format = format
    def __init__(self, server, sock, address):
        WebSocket.__init__(self, server, sock, address)

        self.maxheader = 65536
        self.maxpayload = 4194304
        self.eventManager = FSEventManager.instance()
        self._logger =  logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)

        self.eventManager.subscribe(FSEvents.ON_SOCKET_BROADCAST, self.on_socket_broadcast)
        self.eventManager.subscribe(FSEvents.ON_SOCKET_SEND, self.on_socket_send)
Beispiel #10
0
    def __init__(self, server, sock, address):
        WebSocket.__init__(self, server, sock, address)

        self.maxheader = 65536
        self.maxpayload = 4194304
        self.eventManager = FSEventManager.instance()
        self._logger = logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)

        self.eventManager.subscribe(FSEvents.ON_SOCKET_BROADCAST,
                                    self.on_socket_broadcast)
        self.eventManager.subscribe(FSEvents.ON_SOCKET_SEND,
                                    self.on_socket_send)
    def __init__(self):

        threading.Thread.__init__(self)
        self._state = FSState.IDLE
        self._logger =  logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)
        self.settings = Settings.instance()
        self.daemon = True
        self.hardwareController = HardwareController.instance()
        self._exit_requested = False

        self.eventManager = FSEventManager.instance()
        self.eventManager.subscribe(FSEvents.ON_CLIENT_CONNECTED, self._on_client_connected)
        self.eventManager.subscribe(FSEvents.COMMAND, self._on_command)
Beispiel #12
0
    def __init__(self):
        threading.Thread.__init__(self)
        self._state = FSState.IDLE
        self._logger = logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)
        self.settings = Settings.instance()
        self.daemon = True
        self.hardwareController = HardwareController.instance()
        self._exit_requested = False
        self.meshingTaskRunning = False

        self._logger.debug("Number of cpu cores: "+str( multiprocessing.cpu_count()))
        self.eventManager = FSEventManager.instance()
        self.eventManager.subscribe(FSEvents.ON_CLIENT_CONNECTED, self._on_client_connected)
        self.eventManager.subscribe(FSEvents.COMMAND, self._on_command)
Beispiel #13
0
    def __init__(self):
        threading.Thread.__init__(self)
        self._state = FSState.IDLE
        self._logger = logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)
        self.settings = Settings.instance()
        self.daemon = True
        self.hardwareController = HardwareController.instance()
        self._exit_requested = False
        self.meshingTaskRunning = False

        self._logger.debug("Number of cpu cores: "+str( multiprocessing.cpu_count()))
        self.eventManager = FSEventManager.instance()
        self.eventManager.subscribe(FSEvents.ON_CLIENT_CONNECTED, self._on_client_connected)
        self.eventManager.subscribe(FSEvents.COMMAND, self._on_command)
    def __init__(self,*args):

        self.api = FSapi()
        self._eventManager = FSEventManager.instance()
        self.close_mjpeg_stream = False
        self.config = Config.instance()


        self.ROUTES = (
            # [url_prefix ,  directory_path]
            ['/upload/preview/',''],
            ['/settings.mjpeg',    ''],
            ['/scans',    self.config.folders.scans],
            ['/scan',     self.config.folders.scans],
            ['',          self.config.folders.www],  # empty string for the 'default' match

        )
        SimpleHTTPRequestHandler.__init__(self, *args)
    def __init__(self,*args):
        self._logger =  logging.getLogger(__name__)
        self._logger.setLevel(logging.DEBUG)
        self.api = FSRest()
        self._eventManager = FSEventManager.instance()
        self.close_mjpeg_stream = False
        self.config = Config.instance()


        self.ROUTES = (
            # [url_prefix ,  directory_path]
            ['/upload/preview/',''],
            ['/settings.mjpeg',    ''],
            ['/scans',    self.config.folders.scans],
            ['/scan',     self.config.folders.scans],
            ['',          self.config.folders.www],  # empty string for the 'default' match

        )
        try:
            SimpleHTTPRequestHandler.__init__(self, *args)
        except:
            self._logger.info("http socket disconnect")
            pass