def test_show(self): class TestViewer: methodCalled = False def show(self, image, title=None, **options): self.methodCalled = True return True viewer = TestViewer() ImageShow.register(viewer, -1) im = hopper() self.assertTrue(ImageShow.show(im)) self.assertTrue(viewer.methodCalled)
def test_showxv_deprecation(self): class TestViewer(ImageShow.Viewer): def show_image(self, image, **options): return True viewer = TestViewer() ImageShow.register(viewer, -1) im = Image.new("RGB", (50, 50), "white") with pytest.warns(DeprecationWarning): Image._showxv(im) # Restore original state ImageShow._viewers.pop(0)
def test_viewer_show(order): class TestViewer(ImageShow.Viewer): def show_image(self, image, **options): self.methodCalled = True return True viewer = TestViewer() ImageShow.register(viewer, order) for mode in ("1", "I;16", "LA", "RGB", "RGBA"): viewer.methodCalled = False with hopper(mode) as im: assert ImageShow.show(im) assert viewer.methodCalled # Restore original state ImageShow._viewers.pop(0)
def test_show(self): class TestViewer(ImageShow.Viewer): methodCalled = False def show_image(self, image, **options): self.methodCalled = True return True viewer = TestViewer() ImageShow.register(viewer, -1) for mode in ("1", "I;16", "LA", "RGB", "RGBA"): im = hopper(mode) self.assertTrue(ImageShow.show(im)) self.assertTrue(viewer.methodCalled) # Restore original state ImageShow._viewers.pop(0)
def test_register(self): # Test registering a viewer that is not a class ImageShow.register("not a class") # Restore original state ImageShow._viewers.pop()
from PIL import ImageShow import os from src.denoiser.mean_pixel import MeanPixel from src.denoiser.median_pixel import MedianPixel from src.denoiser.cnn import CnnAutoencoder import numpy as np from PIL import ImageFilter class FehViewer(ImageShow.UnixViewer): def show_file(self, filename, **options): os.system('feh %s' % filename) return 1 ImageShow.register(FehViewer, order=-1) def load_image(filename): img = Image.open(filename) img.load() data = np.asarray(img, dtype=np.uint8) return data.flatten() def show_image_numpy(im): im = Image.fromarray(im.reshape(480, 720, 3)) im.save("1.png") im.show()
def test_register(self): # Test registering a viewer that is not a class ImageShow.register("not a class")
class MyPrompts(Prompts): def in_prompt_tokens(self, cli=None): return [ (Token.Other, ">>> "), ] def out_prompt_tokens(self): return [ (Token.Prompt, ""), ] class MyViewer(ImageShow.Viewer): format = "png" def get_command(self, file, **options): w = 1920 // 2 h = w * 3 // 4 left = (1920 - w) // 2 top = (1080 - h) // 2 return rf'mpv --no-terminal --geometry={w}x{h}+{left}+{top} "{file}"' ImageShow.register(MyViewer, order=-1) ip = get_ipython() ip.prompts = MyPrompts(ip) os.system("cls")
__all__.append('serial') except ModuleNotFoundError as e: pass # try: # # from .video import camera # from . import display, rpycs # __all__.extend(['display', 'video', 'rpycs', 'camera']) # except ModuleNotFoundError as e: # pass try: from . import nn __all__.extend(['nn']) except ModuleNotFoundError as e: pass try: import shutil from PIL import ImageShow # use fbviewer on linux # os.system('ln -s /usr/sbin/fbviewer /usr/sbin/display') if shutil.which("fbviewer"): class fbViewer(ImageShow.UnixViewer): def get_command_ex(self, file, **options): command = executable = "fbviewer" return command, executable ImageShow.register(fbViewer, 0) except ModuleNotFoundError as e: pass