Loading openflexure_microscope/__init__.py +2 −0 Original line number Diff line number Diff line from .microscope import Microscope __version__ = "0.1.0" openflexure_microscope/camera/base.py +1 −0 Original line number Diff line number Diff line # -*- coding: utf-8 -*- import time import io import threading Loading openflexure_microscope/microscope.py 0 → 100644 +26 −0 Original line number Diff line number Diff line # -*- coding: utf-8 -*- import numpy as np from openflexure_stage import OpenFlexureStage from .camera.pi import StreamingCamera class Microscope(object): def __init__(self, camera: StreamingCamera, stage: OpenFlexureStage): """Create the microscope object. The camera and stage should already be initialised.""" self.camera = camera self.stage = stage self.stage.backlash = np.zeros(3, dtype=np.int) def __enter__(self): """Create microscope on context enter.""" return self def __exit__(self, exc_type, exc_value, traceback): """Close microscope on context exit.""" self.close() def close(self): """Shut down the microscope hardware.""" self.camera.close() self.stage.close() tests/test_microscope.py 0 → 100644 +55 −0 Original line number Diff line number Diff line #!/usr/bin/env python from openflexure_microscope.camera.pi import StreamingCamera from openflexure_stage import OpenFlexureStage from openflexure_microscope import Microscope import os import io import sys import time import numpy as np import uuid from PIL import Image import unittest from pprint import pprint import logging, sys logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) success_string = """ /O | | _____) \\ (__0) \\______ (____0) (____0) EVERYTHING IS OK! (__o)___________ """ class TestMicroscope(unittest.TestCase): def test_startup(self): """Tests capturing still images to a BytesIO stream.""" global microscope pass if __name__ == '__main__': with StreamingCamera() as camera, OpenFlexureStage(None) as stage: microscope = Microscope(camera, stage) suites = [ unittest.TestLoader().loadTestsFromTestCase(TestMicroscope), ] alltests = unittest.TestSuite(suites) result = unittest.TextTestRunner(verbosity=2).run(alltests) if result.wasSuccessful(): print(success_string) Loading
openflexure_microscope/__init__.py +2 −0 Original line number Diff line number Diff line from .microscope import Microscope __version__ = "0.1.0"
openflexure_microscope/camera/base.py +1 −0 Original line number Diff line number Diff line # -*- coding: utf-8 -*- import time import io import threading Loading
openflexure_microscope/microscope.py 0 → 100644 +26 −0 Original line number Diff line number Diff line # -*- coding: utf-8 -*- import numpy as np from openflexure_stage import OpenFlexureStage from .camera.pi import StreamingCamera class Microscope(object): def __init__(self, camera: StreamingCamera, stage: OpenFlexureStage): """Create the microscope object. The camera and stage should already be initialised.""" self.camera = camera self.stage = stage self.stage.backlash = np.zeros(3, dtype=np.int) def __enter__(self): """Create microscope on context enter.""" return self def __exit__(self, exc_type, exc_value, traceback): """Close microscope on context exit.""" self.close() def close(self): """Shut down the microscope hardware.""" self.camera.close() self.stage.close()
tests/test_microscope.py 0 → 100644 +55 −0 Original line number Diff line number Diff line #!/usr/bin/env python from openflexure_microscope.camera.pi import StreamingCamera from openflexure_stage import OpenFlexureStage from openflexure_microscope import Microscope import os import io import sys import time import numpy as np import uuid from PIL import Image import unittest from pprint import pprint import logging, sys logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) success_string = """ /O | | _____) \\ (__0) \\______ (____0) (____0) EVERYTHING IS OK! (__o)___________ """ class TestMicroscope(unittest.TestCase): def test_startup(self): """Tests capturing still images to a BytesIO stream.""" global microscope pass if __name__ == '__main__': with StreamingCamera() as camera, OpenFlexureStage(None) as stage: microscope = Microscope(camera, stage) suites = [ unittest.TestLoader().loadTestsFromTestCase(TestMicroscope), ] alltests = unittest.TestSuite(suites) result = unittest.TextTestRunner(verbosity=2).run(alltests) if result.wasSuccessful(): print(success_string)