"All the constants used in this repo." from pathlib import Path import numpy as np from PIL import Image # The repository's directory REPO_DIR = Path(__file__).parent # The repository's main directories FILTERS_PATH = REPO_DIR / "filters" KEYS_PATH = REPO_DIR / ".fhe_keys" WRONG_KEYS_PATH = REPO_DIR / ".wrong_keys" CLIENT_TMP_PATH = REPO_DIR / "client_tmp" SERVER_TMP_PATH = REPO_DIR / "server_tmp" # Create the directories if it does not exist yet KEYS_PATH.mkdir(exist_ok=True) WRONG_KEYS_PATH.mkdir(exist_ok=True) CLIENT_TMP_PATH.mkdir(exist_ok=True) SERVER_TMP_PATH.mkdir(exist_ok=True) # All the filters currently available in the app AVAILABLE_FILTERS = [ "identity", "inverted", "rotate", "black and white", "blur", "sharpen", "ridge detection", ] # The input image's shape. Images with larger input shapes will be cropped and/or resized to this INPUT_SHAPE = (100, 100) # Generate random images as an inputset for compilation np.random.seed(42) INPUTSET = tuple( np.random.randint(0, 255, size=(INPUT_SHAPE + (3,)), dtype=np.int64) for _ in range(10) ) def load_image(image_path): image = Image.open(image_path).convert("RGB").resize(INPUT_SHAPE) image = np.asarray(image, dtype="int64") return image _INPUTSET_DIR = REPO_DIR / "input_examples" # List of all image examples suggested in the app EXAMPLES = [str(image) for image in _INPUTSET_DIR.glob("**/*")] SERVER_URL = "http://localhost:8000/"